Github 开源许可证使用情况报告

jopen 10年前

开源不只是简单的开放源码,还必须选择一个经过认可的许可证。除非你明确的告诉别人他们可以任意使用你的代码。在 Github 上有很多开源爱好者,发布很多开源软件,这篇文章就是为了让大家了解这些开源软件使用的何种许可证。这里统计的项目都是公有项目,不包含 fork 的项目。此举的目的是为了鼓励大家跟他人分享工作成果。

Github 开源许可证使用情况报告

从上图你可以注意到使用许可证的仓库比例逐年降低。目前只有不到 20% 的项目使用了被认可的许可证。在 2013年中更是达到最低的 10% 左右。所以 Github 发布了 choosealicense.com 来解释许可证的选择,并引入 许可证选择器 以鼓励用户添加项目许可证,而后这个比例略有上升。

许可证的使用情况

我们再来看看大家都在使用什么许可证,下表中可以看出每个许可证的使用比例:

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%

毫无意外,MIT、Apache 和 GPL 名列前茅。此外还有 15% 的项目使用非标准许可证,或者是不在 choosealicense.com 中列出的许可证。

Github 开源许可证使用情况报告

最后我们看看许可证的变化情况,同样可以看出被推荐的三种许可证 MIT、Apache 和 GPL 增长迅速。

如何收集数据

为了检测项目所采用的许可证,我们使用一个开源的 Ruby gem 名为 Licensee 来比较仓库的 LICENSE 文件。不过需要注意的是有些项目没有 LICENSE 文件,而是在项目的 README 中提及许可证,这种情况无法统计到。

同时 Github 也提供了 Licenses API 预览版来获取项目的许可证信息。

via github