GitHub 发布开源许可证使用情况

  • 曹知渊

2015 年 3 月 20 日

话题: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,目前它提供了三种功能:

  1. 列出所有的许可证
  2. 获取单个许可证
  3. 获取一个仓库所使用的许可证

这套 API 目前还处于预览阶段,GitHub 有可能随时改变其接口。读者可以从这里查看其详细信息。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

GitHub语言 & 开发架构