原文出处: opensource   译文出处:oschina/王练   

前段时间,我在 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 许可证。

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

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

  1. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  2. 直接拿来用!最火的Android开源项目(一) (转)

    对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个An ...

  3. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  4. 直接拿来用!最火的Android开源项目

    GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...

  5. GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  6. 转载__直接拿来用!最火的Android开源项目(一)

    http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects 已分类汇总到 https://github.co ...

  7. 最火的Android开源项目(一)

    GitHub在中国 的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项 目很是必要.利用这些项目,有时能够 ...

  8. 【转】GitHub平台最火Android开源项目整理——2013-08-25 17

    http://game.dapps.net/news/developer/9199.html GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮 ...

  9. 【Android 开源】:最火的Android开源项目 第01期

    GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...

随机推荐

  1. nyoj--214--单调递增子序列(二)(二分查找+LIS)

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...

  2. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

  3. Photoshop CC (2015.2) 2016.1 版

    1.设计空间(预览版)增强 Design Space (Preview) 2.画板 3.Surface Pro触屏优化(多种手势) 4.自定义工具栏和工作区 5.字体收藏夹(要死掉一批扩展) 6.库( ...

  4. IE6 css fixed

    .fixed-top{position:fixed;bottom:auto;top:0px;} .fixed-bottom{position:fixed;bottom:0px;top:auto;} . ...

  5. 如何使用 Open Live Writer 插入原图

    博客园的指南里写了使用 Open Live Writer 插入原图.去掉阴影并设置为默认设置的步骤,但是我还是找了好久,最后通过别的文章加上摸索才知道了如何设置为原图.这里给出详细地图片: 首先,插入 ...

  6. C语言基础 (2) linux命令

    01.课程回顾 链接 ln 1.txt aaa.txt  硬链接 (两个相互独立 删除一个另外一个还在) ln -s 1.txt aaa.txt软连接 (后面的是快捷方式) 硬链接只能是文件,软连接可 ...

  7. POJ-2318 TOYS 计算几何 判断点在线段的位置

    题目链接:https://cn.vjudge.net/problem/POJ-2318 题意 在一个矩形内,给出n-1条线段,把矩形分成n快四边形 问某些点在那个四边形内 思路 二分+判断点与位置关系 ...

  8. CF504E Misha and LCP on Tree(树链剖分+后缀树组)

    1A真舒服. 喜闻乐见的树链剖分+SA. 一个初步的想法就是用树链剖分,把两个字符串求出然后hash+二分求lcp...不存在的. 因为考虑到这个字符串是有序的,我们需要把每一条重链对应的字符串和这个 ...

  9. [洛谷P1892][codevs2597]团伙

    题目大意:有n个强盗,他们有这样的关系:1.朋友的朋友是朋友:2.敌人的敌人是朋友. 两个人是朋友,则他们在一个团伙中,是敌人则在不同团伙中. 现在给出一些朋友或敌人的关系,问最多有多少团伙.输入保证 ...

  10. C语言传参的类型匹配

    有一个这样的问题: 形参const char *p和实参char *c可以匹配 形参const char**p和实参char**c不可以匹配 注:argument和parameter:严格而言,par ...