开源项目缺少了开源许可证,就不算完整的开源项目。 GitHub 日前在其博客上公布了GitHub.com 上开源项目的许可证使用情况。
GitHub 给出了一张有许可证开源项目比例的变化图。
可以看到选择许可证的开源项目在逐步减少,但在 2013 年中出现了一个明显的反弹。因为在 2013 年中,GitHub 发布了 choosealicense.com 网站,以帮助开源软件开发者选择合适的许可证。
而用户对许可证的选择分布也不出所料。
排名
许可证
百分比
1
MIT
44.69%
2
其他
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、GPLv2 和 Apache 占据了前三位。choosealicense.com 为许可证的选择给出了建议。MIT 是一个几乎可以“为所欲为”的许可证,如果你希望简单、宽松,它是你的不二选择。如果你关心软件的专利问题,但同样希望宽松,可以选择 Apache。如果你希望代码使用者同样能把他们的贡献分享出来,那就选择 GPL。MIT(或类似许可证)和 GPL 是开源许可证授权的两大方向,从这个数据可以看出,大部分开源软件的作者希望自己的项目能得到广泛的应用,不想给用户(尤其是企业)设置开放源码的门槛,而也有相当一部分作者推崇“copyleft”的价值观,要求修改项目人同样留下“一份拷贝”,所以他们选择了 GPL。感兴趣的读者可以从这里了解关于许可证选择的详细内容。
为了鼓励使用许可证,推动开源软件的繁荣,GitHub 发布了一套 License API ,目前它提供了三种功能:
- 列出所有的许可证
- 获取单个许可证
- 获取一个仓库所使用的许可证
这套 API 目前还处于预览阶段,GitHub 有可能随时改变其接口。读者可以从这里查看其详细信息。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论