开源许可证的世界很复杂,根据 GitHub 的统计,占比前十的许可证为 MIT, Other, GPLv2, Apache, GPLv3, BSD 3-clause, Unlicense, BSD 2-clause, LGPLv3, AGPLv3,其中 MIT 许可证就占了快一半比例。
Rank | License | % of projects |
---|---|---|
1 | MIT | 44.69% |
2 | Other | 15.68% |
3 | GPLv2 | 12.96% |
4 | Apache | 11.19% |
5 | GPLv3 | 8.88% |
6 | BSD 3-clause | 4.53% |
7 | Unlicense | 1.87% |
8 | BSD 2-clause | 1.70% |
9 | LGPLv3 | 1.30% |
10 | AGPLv3 | 1.05% |
不同的许可证又有不同的属性。例如 GPL 许可证有“传染性”,即引用某个GPL项目的同时,该项目也必须使用GPL许可证;BSD 许可证则主打使用,代码可以随意修改、继承,但限制商用性;MIT 许可证则更加自由,不限制商用性。当然以上提到的许可证属性还有很多,不同版本的许可证属性也不尽相同,许可证世界的情况比较复杂。
注:简单解释常用许可证区别,引自 阮一峰 - 如何选择开源许可证?。
许可证使用法律文法书写,因此阅读起来有很大困难。对此 GitHub 整理出了 Choose an open source license,以帮助用户选择许可证;Wikipedia也对不同许可证的特性做了系统性整理 Comparison of free and open-source software licences。
开源世界的许可证世界如此复杂,但是 CC 许可证具备多数许可证的属性(署名、分享、商用、修改),因此我使用相对简单的 CC 许可证作为开源许可证的敲门砖进行讲解。CC 许可证主要用来进行创意作品的分享,通常用于书籍、博客、影音视频等,我在前几天也在 言论自由之旗(Free Speech Flag) 的基础上,给本博客额外添加了 CC0 许可证。
CC 许可证共有从 v1 到 v4 四个版本,许可证中有四个属性:署名(by),相同方式分享(sa),非商业性使用(nc),禁止演绎(nd)。
标志 | 权利 | 备注 |
---|---|---|
署名(Attribution, by) | 您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。 | |
相同方式共享(ShareAlike, sa) | 您可以自由复制、散布、展示及演出本作品;若您改变、转变或更改本作品,仅在遵守与本作品相同的许可条款下,您才能散布由本作品产生的派生作品。(参见copyleft)。 | |
非商业性使用(Noncommercial, nc ) | 您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。 | |
禁止演绎(No Derivative Works, nd) | 您可以自由复制、散布、展示及演出本作品;您不得改变、转变或更改本作品。 |
四个属性组合后产生七个常规许可证,其中 CC0 最自由,CC-BY-NC-ND 最保守。
图标 | 说明 | 缩写 | 署名要求 | 混合作品 | 允许商业性使用 | 允许自由文化作品 | 符合OKI的“开放定义” |
---|---|---|---|---|---|---|---|
不受限制地在全球范围内发布内容 | CC0 | 否 | 是 | 是 | 是 | 是 | |
署名(BY) | BY | 是 | 是 | 是 | 是 | 是 | |
署名(BY)-相同方式共享(SA) | BY-SA | 是 | 是 | 是 | 是 | 是 | |
署名(BY)-非商业性使用(NC) | BY-NC | 是 | 是 | 否 |
否 |
否 |
|
署名(BY)-非商业性使用(NC)-相同方式共享(SA) | BY-NC-SA | 是 | 是 | 否 |
否 |
否 |
|
署名(BY)-禁止演绎(ND) | BY-ND | 是 | 否 |
是 | 否 |
否 |
|
署名(BY)-非商业性使用(NC)-禁止演绎(ND) | BY-NC-ND | 是 | 否 |
否 |
否 |
否 |
注:CC 许可证自由度排名与属性比较,公共领域(顶部,最自由)和保留所有权利(底部,最保守)。
注:2014 年 CC 许可证使用情况,2010 与 2014年商用与修改限制情况比较。
由上图可见,BY-SA,BY-NC-ND,BY,BY-NC-SA 许可证的使用比例都超过或接近整体使用率的 20%,其他三个许可证的使用率合计约 10% 左右。
CC 许可证四种属性的组合,拼凑出开源世界部分许可证的面貌。但是因为声明对象的不同,CC 许可证与代码许可证也不尽相同,但大多离不开署名、分享、商用、修改四大属性,因此便可以透过 CC 许可证一窥开源许可证的世界。
参考资料: