开源项目缺少了开源许可证,就不算完整的开源项目。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 有可能随时改变其接口。读者可以从这里查看其详细信息。