为什么越来越少的开源项目使用GPL协议

前段时间,我在 RedMonk 上看到了一篇来自 Stephen O'Grady 的有趣推文,介绍了开源许可证目前的状态,以及此图表:

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

所以,为什么?

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

GPL & 商业

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

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

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

社区 & 企业

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

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

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

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

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

未来?

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

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

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

作者:王练

来源:51CTO

时间: 2024-08-22 17:22:51

为什么越来越少的开源项目使用GPL协议的相关文章

json json-rpc 如何在项目中便宜引入Ajax框架 (Joyrock开源项目)

 Joyrock简介:      Joyrock是一个基于LGPL协议的开源项目,实现了JSON和JSON-RPC,支持微软ASP.NET框架.它方便我们读取从浏览器流向服务器的JSON对象,也方便在响应流中写入JSON对象.    Jayrock 远程方法要求写在一个ashx中,页面请求这个ashx的时候,在ProcessRequest 中根据Request对象中的参数信息,确定请求的服务器端方法名称和参数,然后进行调用,并返回结果.    博客url:http://www.cnblogs.c

java开源项目研究 3.许可协议介绍

项目     如果你只是想学习使用一下开源项目,那么你可以跳过本节(了解一下更好^_^),但是如果你想在自己的产品(不管是开源的还是商业的)中集成开源项目,那么你必须了解许可协议.        开源项目的License可以分为三大类:     OSI-Approved Open Source:被开放源码组织(www.opensource.org)所批准的开放源码授权协议.像大家经常看到的Apache,GPL,LGPL,MIT Licence,都属于OSI-Approved的授权协议,OSI 的

【Android】GitHub Android 开源项目汇总

参考网址:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果. 1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个

开源项目越来越青睐 JavaScript

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 开源项目们都使用什么开发语言?一份由 Black Duck 发表的最新研究报告显示,开源项目越来越青睐 JavaScript,他们通过对项目中使用的各种开发语言的代码行数进行统计,发现 C 语言以 40% 的比例遥遥领先,而 JavaScript 和 PHP 则呈明显上升趋势. 多数开源项目使用超过一种开发语言,Black Duck 的执行副

可以赚钱的免费项目真的越来越少了

免费网赚项目,也就是说不用你投资就可以加入的一些赚钱教程项目,也就是新手的最爱,如PTC点击站.挂机.调查.打码等等都是可以免费加入的,会员不用投资一分钱就可以做这些项目,然后从中获得收入.但是目前可做的免费网赚项目是越来越少了,加入的人数也少了很多,因为做此项目的收益是越来越少,所以大家纷纷都转向投资项目了. 对于免费项目,想必大家在08年的时候都能做的不错,那时免费网赚以PTC为主,虽然除neobux之外,其他点击项目都不是秒付,但有不少朋友做的有声有色.一直到09年后半年,免费的已经走入低

java开源项目研究 2. 开源的历史

项目     提到开源,就不得不提到Richard Stallman--开源软件的始创者和精神领袖(不是偶像崇拜^_^).他是GNU(GNU's Not UNIX)工程的发起人,FSF(Free Software Foundation)的缔造者,同时还是大名鼎鼎的GNU Emacs(一个编辑工具),GCC(c/c++编译器,不用我说了吧,呵呵),GDB(调试工具)和GNU Make的作者.     Stallman的生平是和开源历史紧密相关的:     1984年,Stallman辞去了MIT

国内大公司的开源项目一览表

奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性.目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条. 主要功能:* 读写分离* 从库负载均衡* IP过滤*

[置顶]这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧

注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有bug,没更新是正常的.够用就行了.其次技术支持的事情,对开源免费来说,不能太强求,这里发布的都是小功能组件,一般看源码也比较好理解,各取所需.当然有最好.. 长期关注和使用.NET开源项目,给我带来了很多好处: 1.可以快速完成我的想法,也就是所谓的业务细节,而不是关注如何实现: 2.可以更快更稳定的完成需求,而不是自己造轮子实现,花费时间: 3.从.NET开源项目的使用以及源码阅读中也会带来一些好

这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)

原文:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)     在上个月发表的一篇文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 ,得到了很多朋友的响应.同时也有很多朋友直接进行使用,反应非常棒,虽然不是每一个都用得上,只要有一个用得上,其实也不错了,其他的就留着收藏,以后说不定用得上.最近再次整理一些比较实用的.NET开源组件,如果大家有兴趣,下个月再整理2篇,分别是比较大型的和算法方面的.还是发老样子,每次精选15个我个人认为还比较有用,而且平时曝