澳门新葡萄京官网注册,前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady
的有趣推文,介绍了开源许可证目前的状态,以及此图表:

相信大家在玩 node ,webpack,npm,bower ..etc 时,都会在它们的
package.json 文件中,或者 init 过程中都会遇到这样的一个键值对:

澳门新葡萄京官网注册 1

"license": "MIT",

此图展示了从2010年到2017年开源许可证的使用情况。能很明显看到,GPL 2.0
的使用量已经减少了一半以上,更多的开发人员转向使用 MIT 和 Apache
许可证。而 GPL 3.0 有小幅增长。

这个 license
就是开源许可说明,各大组织设立了为代码开源许可的规范文档,当作者声明此文档类型时,他人必须遵守该文档类型的规范。(当然啦这是君子条款)

所以,为什么?

一张图说解释所有:

当然,原因自然有很多,而我的猜测是,这主要是由于开源商业化的趋势,而 GPL
相对不具商业友好性。

澳门新葡萄京官网注册 2七种开源许可.jpg

GPL & 商业

Apache许可证(Apache
License),是一个在Apache软件基金会发布的自由软件许可证,最初为Apache
http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的申明,但它不是一个反版权的许可证。

在开始之前,必须申明:我是一个 GPL 支持者,我所写的软件都是在 GPL
协议之下开源的。这篇文章也不是为了强调 GPL
的实用性和价值,更多的是想分享自己对于行业和许可的认知。

澳门新葡萄京官网注册 3Apache许可标志当前版本
Apache License, Version 2.0

四年前,我参加了一年一度的 Open Source Think Tank
。这是在加利福尼亚举办的一个小型的开源行业高管聚会,主要关注的是网络、建立联盟、确定和解决行业问题。聚会上有一个小组案例研究环节,参会者会被分成多个小组,并被要求推荐一个目前正被广泛使用的开源协议。我惊讶的发现,这些小组给出的建议中没有
GPL。

下列各版本文档由开源代码促进会提供:

所以说,当时业界就已经有对 Apache 和 MIT 许可证的倾向趋势了。2015年
GitHub
许可研究也发现,MIT
许可证已成为最主要的一个选择。 在我的 XPRIZE
工作和作为社区顾问的工作中,我也看到了一个类似的现象,许多客户对于用 GPL
许可他们的代码表示不舒服。

澳门新葡萄京官网注册 4[Open
Source
Initiative开放源代码促进会]()

澳门新葡萄京官网注册 5

  • MIT许可证之名源自麻省理工学院(Massachusetts Institute of
    Technology, MIT),又称“X条款”(X License)或“X11条款”(X11
    License)。
  • MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制。也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
  • 当前版本 The MIT License

社区 & 企业

说实话,GPL 人气不断下降并不很令人惊讶。

  • ISC许可证是一种开放源代码许可证,在功能上与两句版的BSD许可证相同。
  • 这份许可证是由ISC(Internet Systems
    Consortium)所发明,在ISC释出软件时所使用的。
  • 当前版本 ISC License

首先,随着开源产业的发展,大家都已经清楚的发现,找到社区参与的平衡以及客户需求的商业模式极为重要。在开源早期有一个误解,“如果你建立一个开源项目,客户就会来。确实,他们会经常来使用你的软件。但在大多情况下,他们不会给你钱”。

随着时间的推移,我们看到各种公司,如红帽、Automattic、Docker、Canonical、Digital
Ocean
等等,都在探索不同的开源方式来实现盈利。包括分发模式,服务模式,开放核心模式等等。可以很清楚的是,传统的软件稀缺模式并不适用于开源项目,在收入和免费之间取得平衡对许多人来非常困难。

  • BSD开源协议(original BSD license、FreeBSD license、Original BSD
    license)是一个给于使用者很大自由的协议,BSD
    代码鼓励代码共享,但需要尊重代码作者的著作权。
  • BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
  • 当前版本 The 2-Clause BSD License

GPL
虽然是开源许可证,但它基本上是一个自由软件许可证。作为自由软件许可证,对
GPL
的管理和支持大部分是由自由软件基金会推动的,他们最终的焦点都是从软件绝对必须
100%
免费的角度出发。他们没有太多的妥协空间,甚至许多公认的开源项目(例如很多
Linux
发行版)都因为一小部分二进制固件而被认为是“非自由”。很少有企业认可自由软件基金会(或类似的组织)这种纯粹的意识,因此我怀疑企业不太愿意选择一个如此纯粹的许可证。

另外一个影响 GPL
使用的原因,我认为是随着增长开源的目的不再纯粹。在早期,开源项目建立的核心根本之一是关注开放性和软件自由性。
GPL 对于这类项目来说是一个非常自然的选择,如
Debian、Ubuntu、Fedora、Linux
等等。但近年来,我们已经看到了更新一代的开发形式,对他们来说自由什么的可能不太重要,开源是为了完成命令,又或者只是为了开放某个软件的一个组件。我觉得这也是为什么越来越多的使用
MIT 和 Apache 许可证的原因之一。

  • GPL,是GNU General Public
    License的缩写,是GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款
  • 只有GNU通用公共授权英文原文的版本始具有此等效力。
  • 当前版本 GNU General Public License

未来?

说到底,这对 GPL 意味着什么?

  • MPL是The Mozilla Public License的简写,是1998年初Netscape的
    Mozilla小组为其开源软件项目设计的软件许可证。
  • MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对
    源代码的需求和他们利用源代码获得的利益。
  • 当前版本 Mozilla Public License

我认为,GPL
将继续是一个备受欢迎的许可证,但开发人员将越来越多地将其看成是一个纯粹的自由软件许可证。
对软件自由有道德承诺的项目将优先考虑 GPL
,但对于前面讨论的需要考虑平衡的企业,还是会更愿意使用 MIT 和 Apache
许可证。

无论如何,看到开源和自由软件在不断增长是非常令人兴奋的事情。虽然许可证的使用方式可能存在复杂性和变化,但对我们来说,更重要的是技术在日益变得越来越开放,每个人都可以去使用。

  • LGPL是 GNU Lesser General Public License (GNU
    宽通用公共许可证)的缩写形式,旧称GNU Library General Public License
    (GNU 库通用公共许可证),后来改称作Lesser
    GPL,即为更宽松的GPL,在宽松程度上与BSD, Apache,XFree86 许可证相似。
  • 当前版本 Lesser General Public License

你最喜欢哪个许可证,或者你开源的项目正在使用的是哪个许可证?欢迎在下方评论区留言。

点击进入 SPDX License List 看到更多协议类型~

编译自:opensource.com

该篇收录于文集:程序员冷知识

(文/开源中国)