提到 GitHub,很多人脑子里会先蹦出一句话:
「这里全是大佬的代码,我可以随便看、随便下、还不用花钱。」
这句话不算错,但只说对了一半。
因为在这个语境里,至少有三个很容易被混在一起的概念:开源、开放源代码、免费。很多人会顺着字面意思理解成「代码公开了=开源了=免费随便用」,于是进一步得出结论:只要把项目丢到 GitHub,就已经完成开源。
然后问题就来了:
- 既然都开源了,别人抄走怎么办?
- 既然都免费了,作者和公司靠什么赚钱?
- 既然代码都看得到,为什么还有「侵权」这种说法?
先说结论:开源不等于免费,开源也不等于「代码公开可见」。
要把这件事讲清楚,我们得先把几个核心概念掰开。
什么是开源?
开放源代码 ≠ 开源 (Source-Available vs Open Source)
很多人会觉得:「我都把仓库公开了,别人也能看到全部代码,这不就是开源?」
这个理解非常常见,但确实不准确。
在版权规则里,如果你没有明确声明协议,那么默认状态是 「保留所有权利」(All rights reserved)。也就是说,别人确实能「看到」你的代码,但看到不代表有权使用。
这种状态更接近 Source-Available(源代码可见):
- 你可以看;
- 但未必能合法复制、修改、再发布;
- 更不一定能商用。
换句话说,把代码放上 GitHub 只是「公开展示」,不自动等于「授予他人使用权」。
License(开源协议)——不起眼却最关键的存在
那真正的开源,关键差在哪?
答案就是那个经常被忽略、但最重要的文件:LICENSE。
它看起来不起眼,很多人建仓库时甚至懒得选;但在法律意义上,它决定了「别人到底能不能用你的代码、能怎么用」。
行业里通常以 OSI(Open Source Initiative,开源促进会)的定义为准。一个项目要被称为「开源」,通常需要使用 OSI 认可的开源协议(如 MIT、Apache 2.0、GPL 等)。
你可以把协议理解成一份公开的授权合同:
- 允许别人做什么;
- 要求别人保留什么;
- 触发什么条件时必须开源回去。
所以,真正决定「是不是开源」的,不是你把仓库设成 Public,而是你有没有给出明确、合规的授权规则。
免费与自由:Free 的双重含义
Free as in Speech, not Free as in Beer
在英语里,Free 这个词本身就有双重含义:
- 可以是「免费」;
- 也可以是「自由」。
这也是很多误解的根源。
自由软件运动先驱 Richard Stallman 有句名言,基本是这个话题的标准答案:
「Free as in free speech, not as in free beer」(自由如言论,而非免费如啤酒)。
开源(以及自由软件语境中的 free)强调的核心是权利上的自由:
- 你可以运行它;
- 你可以研究它;
- 你可以修改它;
- 你可以分发它。
重点在「权利是否被授权」,而不是「价格是不是 0 元」。
免费软件 (Freeware) 与 开源软件的区别
这一点可以用一个最常见的对比来理解:
- 免费软件(Freeware):比如微信、QQ,或者一些免费工具软件。你可以不花钱用,但它们通常是闭源的。你看不到内部实现,也不能随意改、随意分发。
- 开源软件(Open Source Software):它可以收费。典型例子就是 Red Hat Enterprise Linux:源代码遵循开源规则,但企业版发行、支持服务、认证体系都可以卖钱,而且卖得很好。
结论很简单:免费不等于开源,开源也不排斥收费。
开源协议的阵营:Copyright 与 Copyleft
既然开源的核心在协议,那 GitHub 上那么多 License 到底怎么理解?
先不用记条款细节,先抓住两个大阵营就够了。
宽松式协议 (Permissive)
代表协议:MIT、Apache 2.0、BSD。
这类协议可以概括为一句话:「拿去用,别忘了署名。」
你可以商用、可以二开、可以闭源集成,整体限制相对少。也正因为足够宽松,MIT、Apache 2.0 在工程实践里非常常见。
传染性协议 (Copyleft)
代表协议:GPL 家族(GPL、AGPL 等)。
这类协议强调「你享受了开源自由,也要把自由传递下去」。
简单说:你可以用、可以改,但如果你把修改后的版本对外分发,往往需要按同类协议继续开源。
这也是很多人说的「传染性」来源。它不是坏事,而是一种价值选择:通过规则确保社区成果不被单向抽取。
既然开源,那靠什么赚钱?
回到最现实的问题:
「既然代码都开出来了,靠什么赚钱?」
答案是:开源项目不等于慈善项目。现在的开源商业化路径其实已经非常成熟。
常见的开源商业模式
- 双重授权(Dual Licensing):开源版给社区,商业版给需要闭源集成的客户。
- 托管服务(SaaS):软件开源,但“帮你稳定运行”是收费服务。
- Open Core:核心功能开源,高级企业能力单独收费。
- 技术支持与咨询:代码可以免费,服务体系可以很值钱。
所以「开源怎么赚钱」并不是无解题,而是「卖什么」的商业设计题。
开源的真正价值:生态与社区
开源的核心价值不在于“代码免费”,而在于生态和社区:
对于个人或社区贡献者来说,开源提供了一个展示能力、积累声誉的平台;对于企业来说,开源是构建生态、吸引用户、推动创新的战略工具。
对于商业公司来说,开源是一个双赢的游戏:通过开放核心技术,吸引更多用户和开发者参与进来,打造属于自己的生态护城河,形成良性循环;同时通过增值服务、企业版等方式实现商业变现。
总结
「把代码放到 GitHub」只是开始,不是终点。
真正的开源,核心是规则清晰、权责明确:谁可以做什么、边界在哪里、回馈机制是什么。它不是「免费午餐」,而是一套有契约、有协作、有长期价值的生产方式。
如果你只记住一件事,那就记住这句:看项目先看 LICENSE。
懂规则,才谈得上真正参与开源;尊重规则,才是从「拿来主义」走向「共同建设」的第一步。