cola_0908
2026-02-07
点 赞
1
热 度
76
评 论
0

开源许可证选择指南

  1. 首页
  2. 开源许可证选择指南

在开源世界中,尊重他人劳动成果是最基本的准则。细心观察便会发现,许多优秀的代码文件开头都会包含版权声明,例如“Licensed under the MIT license”。同样,不少博客文章也会标明协议信息,如“本文采用 CC BY 4.0 CN 协议发布”。


快速选择开源协议(许可证)

正如副标题所说,如果你想快速选择一个合适的开源许可证可以看看 Github 的 https://choosealicense.com/,以下是简短的总结:

如果你想简单宽松一点(不想太麻烦):

那么你可以直接无脑选择MIT 许可证,它允许别人几乎可以随心所欲地使用你的项目,例如制作和分发闭源版本。

如果考虑到有专利的情况:

可以选择Apache 许可证,它和 MIT 许可证差不多(都是相对宽松),但是增加了一些对专利的保护(差不多就是软件作品中含有专利,但它授权你可以免费使用)。

如果想促进社区将代码分享:

如果你想让你的代码作品被别人传播 / 修改,同时保留原有的许可证,也必须开源,可以选择GPL 许可证(V2/V3),因此,此协议具有传染性。


乌克兰程序员 Paul Bagwell 制作了一个思维导图,你可以使用它来快速选择许可证,以下是我制作的汉化版本:


主流开源协议

世界上的开源许可协议(Open Source License)大概有上百种,由宽松到严紧排序,常用的开源协议有:

  1. MIT

  2. BSD

  3. Apache

  4. LGPL

  5. GPL


五大主流开源协议核心说明

1. MIT 协议

  • 起源:麻省理工学院(MIT),极简、极宽松的开源协议。

  • 核心规则

    1. 作者仅保留版权,无额外限制;

    2. 无论以源码 / 二进制形式发布,都必须附带原版权与许可声明;

    3. 作者不承担任何使用责任。

  • 使用权限:可任意使用、修改、商用、闭源发布,无约束。

  • 代表项目:jQuery、Rails

  • 商业友好度:★★★★★(最高)


2. BSD 协议(BSD-2-Clause / BSD-3-Clause)

  • 起源:加州大学伯克利分校,宽松度接近 MIT。

  • 核心规则

    1. 源码发布:需保留原 BSD 协议;

    2. 二进制发布:文档 / 版权声明中需包含原 BSD 协议;

    3. 禁止用原作者、机构、原产品名义做市场推广。

  • 使用权限:自由使用、修改,可开源 / 闭源商用。

  • 核心价值:鼓励代码共享,尊重著作权,对商业集成极度友好。

  • 商业友好度:★★★★★(企业首选之一)


3. Apache License(主流:2.0 版本)

  • 起源:Apache 软件基金会,宽松协议,额外重视专利权益

  • 核心规则(比 BSD 更严谨)

    1. 需向用户提供完整 Apache 协议文本;

    2. 修改代码需在文件中明确标注;

    3. 衍生代码需保留原协议、商标、专利声明;

    4. 产品含 Notice 文件时,必须嵌入原协议,不可修改原协议。

  • 使用权限:同 BSD,支持修改、开源 / 闭源商用。

  • 代表项目:ECharts、Dubbo、Spark、Superset

  • 商业友好度:★★★★☆


4. LGPL(GNU 宽通用公共许可证)

  • 起源:GNU 自由软件联盟,是宽松版 GPL,专为类库设计,弱传染性。

  • 核心规则

    1. 商业软件仅动态引用(Link)LGPL 库:无需开源自身代码,可闭源商用;

    2. 修改 LGPL 源码 / 开发衍生代码:修改部分、关联代码、衍生代码必须开源,且沿用 LGPL 协议。

  • 适用场景:适合作为第三方依赖库被商用项目引用,不适合深度二次开发闭源商用

  • 核心价值:保护原作者知识产权,避免代码被直接复制仿制。

  • 商业友好度:★★★☆☆(仅库引用友好,二次开发受限)


5. GPL(GNU 通用公共许可证)

  • 起源:GNU 自由软件联盟,强传染性开源协议,核心是强制开源、免费使用。

  • 核心规则

    1. 只要软件引用、修改、衍生了 GPL 协议代码,整体软件必须沿用 GPL 协议,全部开源且免费

    2. 禁止将修改 / 衍生后的代码作为闭源商业软件发布销售。

  • 代表项目:Linux 内核

  • 与宽松协议区别:不鼓励闭源商用,仅支持开源免费复用、修改、衍生。

  • 商业友好度:★☆☆☆☆(极低,不适合闭源商业项目)


快速选型总结

  1. 追求极致宽松、无负担:选 MIT

  2. 企业商用、注重合规简洁:选 BSD

  3. 重视专利、团队 / 企业级开源:选 Apache 2.0

  4. 开发公共类库,允许商用闭源引用:选 LGPL

  5. 坚持代码永久开源、禁止闭源商用:选 GPL



站长

cola_0908

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到cola0908の笔记,为您导航全站动态

5 文章数
0 分类数
0 评论数
0标签数
最近评论