悦速互联 logo悦速互联yoosobyte.com
行业洞察

GitHub 上的代码能随便商用吗?开源协议一次讲清

代码公开不等于免费商用,关键看协议。MIT、Apache、GPL 都是什么?中小企业放心用开源的合规姿势,这篇讲明白。

很多老板和技术人有个误区:代码在 GitHub 上公开了,是不是就能随便拿来用、甚至放进自己的产品里卖?答案是:开源不等于放弃权利,能不能用、能不能商用,取决于仓库里的开源协议(License)。这篇把最常见的几种协议讲清楚,结论先行:大部分主流协议都是鼓励商用的,只要合规。

先说最宽松的一档:MIT、Apache 2.0、BSD。这三者都是「几乎无条件可用」:你可以把代码用在任何地方,包括闭源商业产品,可以修改、可以收费、可以商用,唯一要求是保留版权声明。区别在于:Apache 2.0 比 MIT 多了一条专利授权条款(用了它的代码,它不会反过来告你专利侵权),所以大厂开源基本都是 Apache 2.0。如果你在 GitHub 上看到的是这三种协议,放心用,放心商用——这也是全世界绝大多数流行框架(React、Vue、Next.js 等)的选择,它们都在明明白白地鼓励商用。

中间一档:GPL 和 LGPL。GPL 是「传染性」协议:你可以用 GPL 代码,也可以商用收费,但如果你修改了它、或者把它作为自己程序的一部分分发,你的程序也必须以 GPL 开源。这对闭源商业产品是个大坑——所以看到 GPL 项目,当工具用没问题,别往自己的闭源代码里贴。LGPL 宽松一些:动态链接(比如调用 DLL)可以不传染,静态链接才需要开源。MPL(Mozilla 协议)则是「文件级传染」,只要求你修改过的那个文件开源,比 GPL 温和得多。

再往上还有 AGPL:它连「通过网络提供服务」都算分发——你部署了 AGPL 代码当 SaaS 用,也得把改动开源。这是最严格的一档,对做云服务的团队要特别小心。另外要警惕一类「伪开源」:SSPL、Elastic License 等协议,源码虽然公开,但明确限制云服务商用,它们不是 OSI 认证的开源协议,商用前一定要看清楚条款。

GitHub 上最容易被忽略的坑:仓库里没有 LICENSE 文件,就等于「保留所有权利」——代码虽然公开可见,但你不能复制、不能商用,甚至连自己用都要谨慎。所以从 GitHub 拿代码,第一件事是看有没有协议、是什么协议。另外注意:仓库里除了代码,还有字体、图片、图标等素材,它们通常不随代码协议走,商用素材前要单独确认授权。

为什么说开源对中小企业是红利?一套进销存、一个报表系统、一个商城模板,自己从零开发可能要几个月、几万块,而开源生态里都有成熟的方案——用 MIT/Apache 协议的,拿下来改改就能商用,成本几乎为零。我们做项目也大量依赖开源:Next.js、Vue、Go 生态、各类数据库驱动,全部是宽松协议,正是这些「鼓励商用」的开源项目,让中小企业也能用得起好软件。

合规商用其实就三条:看协议、留声明、守边界(不碰 GPL 传染、不碰 AGPL 的 SaaS 红线)。做到这三点,开源就是你的免费军火库。反过来,我们也鼓励把自己的通用代码开源回馈社区——开源是生态,用得越多、回馈越多,生态越好。