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