前阵子我在RedMonk上看到了StephenO'Grady关于开源许可证当前状态的有趣推文,以及这张图:显示2010年以来开源许可证的使用情况到2017年,可以清楚地看到GPL2.0的使用量减少了一半以上,更多的开发者转向了MIT和Apache许可。而GPL3.0有小幅度的提升。所以为什么?当然,原因有很多,我的猜测主要是开源商业化的趋势,而GPL相对来说没有商业友好。GPL&Business在开始之前,我必须声明:我是GPL支持者,我写的软件是在GPL协议下开源的。这篇文章不是为了强调GPL的实用性和价值,更多的是分享我对这个行业和许可的认识。四年前,我参加了一年一度的开源智库。这是加州开源行业高管的小型聚会,专注于网络、建立联盟以及识别和解决行业问题。聚会上有一个小组案例研究会议,与会者被分成小组并要求推荐一个目前被广泛使用的开源协议。我惊奇地发现,这些小组给出的建议中竟然没有GPL。因此,当时业界已经有Apache和MIT许可的倾向。2015GitHubLicensingStudy还发现,MIT许可已成为最主要的选择。我在XPRIZE的工作和作为社区顾问的工作中都看到了类似的现象,许多客户对让他们的代码在GPL下获得许可表示不满。Community&Enterprise老实说,GPL的人气下降并不令人意外。首先,随着开源行业的发展,大家清楚地发现,找到一种平衡社区参与和客户需求的商业模式是极其重要的。开源早期有一个误解,“如果你建立一个开源项目,客户就会来。是的,他们会经常来使用你的软件。但在大多数情况下,他们不会付钱给你”。随着时间的推移,我们看到各种公司,如RedHat、Automattic、Docker、Canonical、DigitalOcean等,都在探索不同的开源货币化方法。包括分销模式、服务模式、开核模式等。显而易见的是,传统的软件稀缺模式不适用于开源项目,而且对许多人来说,平衡收入和免费是很困难的。GPL虽然是一个开源许可证,但它基本上是一个自由软件许可证。作为一种自由软件许可,GPL的管理和支持主要由自由软件基金会推动,他们最终的重点是从软件必须100%自由的角度出发。它们没有太多妥协的余地,甚至许多公认的开源项目(例如许多Linux发行版)都因为二进制固件的一小部分而被认为是“非自由的”。很少有企业认同自由软件基金会(或类似组织)的纯粹敏感性,因此我怀疑企业不太愿意选择如此纯粹的许可证。我认为影响GPL使用的另一个原因是,随着开源的发展,其目的不再纯粹。在早期,构建开源项目的核心基础之一是关注开放性和软件自由。对于Debian、Ubuntu、Fedora、Linux等项目来说,GPL是一个很自然的选择。但是近年来,我们看到了新一代的开发,对于他们来说自由可能不是很重要,开源是为了完成命令,或者只是打开某个软件的组件。我认为这是越来越多的MIT和Apache许可证被使用的原因之一。未来?最终,这对GPL意味着什么?我认为GPL将继续成为一种流行的许可证,但开发人员将越来越多地将其视为一种纯粹的自由软件许可证。对软件自由有道德承诺的项目会优先使用GPL,但前面讨论过的平衡的企业仍会更喜欢MIT和Apache许可证。无论如何,看到开源和自由软件的发展是非常令人兴奋的。虽然许可证的使用方式可能会变得复杂和变化,但对我们来说更重要的是技术越来越开放并可供所有人使用。
