开源不只是简单的开放源码,还必须选择一个经过认可的许可证。除非你明确的告诉别人他们可以任意使用你的代码。在 Github 上有很多开源爱好者,发布很多开源软件,这篇文章就是为了让大家了解这些开源软件使用的何种许可证。这里统计的项目都是公有项目,不包含 fork 的项目。此举的目的是为了鼓励大家跟他人分享工作成果。 从上图你可以注意到使用许可证的仓库比例逐年降低。目前只有不到 20% 的项目使用了被认可的许可证。在 2013年中更是达到最低的 10% 左右。所以 Github 发布了 choosealicense.com 来解释许可证的选择,并引入 许可证选择器 以鼓励用户添加项目许可证,而后这个比例略有上升。 许可证的使用情况我们再来看看大家都在使用什么许可证,下表中可以看出每个许可证的使用比例:
毫无意外,MIT、Apache 和 GPL 名列前茅。此外还有 15% 的项目使用非标准许可证,或者是不在 choosealicense.com 中列出的许可证。 最后我们看看许可证的变化情况,同样可以看出被推荐的三种许可证 MIT、Apache 和 GPL 增长迅速。 如何收集数据为了检测项目所采用的许可证,我们使用一个开源的 Ruby gem 名为 Licensee 来比较仓库的 LICENSE 文件。不过需要注意的是有些项目没有 LICENSE 文件,而是在项目的 README 中提及许可证,这种情况无法统计到。 同时 Github 也提供了 Licenses API 预览版来获取项目的许可证信息。 |