为什么像 GNU GPL 这样的限制性许可证越来越不受青睐。
“如果你用了任何开源软件, 那么你软件的其他部分也必须开源。”这是微软前 CEO 巴尔默 2001 年说的,尽管他说的不对,还是引发了人们对自由软件的 FUD (恐惧, 不确定和怀疑)。大概这才是他的意图。
对开源软件的这些 FUD 主要与开源许可有关。现在有许多不同的许可证,当中有些限制比其他的更严格(也有人称“更具保护性”)。诸如 GNU 通用公共许可证 (GPL) 这样的限制性许可证使用了 copyleft 的概念。copyleft 赋予人们自由发布软件副本和修改版的权力,只要衍生工作保留同样的权力。bash 和 GIMP 等开源项目就是使用了 GPL(v3)。还有一个 AGPL( Affero GPL) 许可证,它为网络上的软件(如 web service)提供了 copyleft 许可。
这意味着,如果你使用了这种许可的代码,然后加入了你自己的专有代码,那么在一些情况下,整个代码,包括你的代码也就遵从这种限制性开源许可证。Ballmer 说的大概就是这类的许可证。
但宽松许可证不同。比如,只要保留版权声明和许可声明且不要求开发者承担责任,MIT 许可证允许任何人任意使用开源代码,包括修改和出售。另一个比较流行的宽松开源许可证是 Apache 许可证 2.0,它还包含了贡献者向用户提供专利授权相关的条款。使用 MIT 许可证的有 JQuery、.NET Core 和 Rails ,使用 Apache 许可证 2.0 的软件包括安卓,Apache 和 Swift。
两种许可证类型最终都是为了让软件更有用。限制性许可证促进了参与和分享的开源理念,使每一个人都能从软件中得到最大化的利益。而宽松许可证通过允许人们任意使用软件来确保人们能从软件中得到最多的利益,即使这意味着他们可以使用代码,修改它,据为己有,甚至以专有软件出售,而不做任何回报。
开源许可证管理公司黑鸭子软件的数据显示,去年使用最多的开源许可证是限制性许可证 GPL 2.0,份额大约 25%。宽松许可证 MIT 和 Apache 2.0 次之,份额分别为 18% 和 16%,再后面是 GPL 3.0, 份额大约 10%。这样来看,限制性许可证占 35%,宽松许可证占 34%,几乎是平手。
但这份当下的数据没有揭示发展趋势。黑鸭子软件的数据显示,从 2009 年到 2015 年的六年间,MIT 许可证的份额上升了 15.7%,Apache 的份额上升了 12.4%。在这段时期,GPL v2 和 v3 的份额惊人地下降了 21.4%。换言之,在这段时期里,大量软件从限制性许可证转到宽松许可证。
这个趋势还在继续。黑鸭子软件的最新数据显示,MIT 现在的份额为 26%,GPL v2 为 21%,Apache 2 为 16%,GPL v3 为 9%。即 30% 的限制性许可证和 42% 的宽松许可证 — 与前一年的 35% 的限制许可证和 34% 的宽松许可证相比,发生了重大的转变。对 GitHub 上使用许可证的调查研究证实了这种转变。它显示 MIT 以压倒性的 45% 占有率成为最流行的许可证,与之相比,GPL v2 只有 13%,Apache 11%。
引领趋势
从限制性许可证到宽松许可证,这么大的转变背后是什么呢? 是公司害怕如果使用了限制性许可证的软件,他们就会像巴尔默说的那样,失去自己私有软件的控制权了吗? 事实上,可能就是如此。比如, Google 就禁用了 Affero GPL 软件。
Instructional Media + Magic 的主席 Jim Farmer,是一个教育开源技术的开发者。他认为很多公司为避免法律问题而不使用限制性许可证。“问题就在于复杂性。许可证的复杂性越高,被他人因为某行为而告上法庭的可能性越高。高复杂性更可能带来诉讼”, 他说。
他补充说,这种对限制性许可证的恐惧正被律师们驱动着,许多律师建议自己的客户使用 MIT 或 Apache 2.0 许可证的软件,并明确反对使用 Affero 许可证的软件。
他说,这会对软件开发者产生影响,因为如果公司都避开限制性许可证软件的使用,开发者想要自己的软件被使用,就更会把新的软件使用宽松许可证。
但 SalesAgility(开源 SuiteCRM 背后的公司)的 CEO Greg Soper 认为这种到宽松许可证的转变也是由一些开发者驱动的。“看看像 Rocket.Chat 这样的应用。 开发者本可以选择 GPL 2.0 或 Affero 许可证,但他们选择了宽松许可证”,他说。“这样可以给这个应用最大的机会,因为专有软件厂商可以使用它,不会伤害到他们的产品,且不需要把他们的产品也使用开源许可证。这样如果开发者想要让第三方应用使用他的应用的话,他有理由选择宽松许可证。”
Soper 指出,限制性许可证致力于帮助开源项目获得成功,方式是阻止开发者拿了别人的代码、做了修改,但不把结果回报给社区。“Affero 许可证对我们的产品健康发展很重要, 因为如果有人利用了我们的代码开发,做得比我们好, 却又不把代码回报回来, 就会扼杀掉我们的产品,” 他说。“ 对 Rocket.Chat 则不同, 因为如果它使用 Affero, 那么它会污染公司的知识产权, 所以公司不会使用它。不同的许可证有不同的使用案例。”
曾在 Gnome、OpenOffice 工作过,现在是 LibreOffice 的开源开发者的 Michael Meeks 同意 Jim Farmer 的观点,认为许多公司确实出于对法律的担心,而选择使用宽松许可证的软件。“copyleft 许可证有风险, 但同样也有巨大的益处。 遗憾的是人们都听从律师的,而律师只是讲风险,却从不告诉你有些事是安全的。”
巴尔默发表他的错误言论已经过去 15 年了, 但它产生的 FUD 还是有影响 — 即使从限制性许可证到宽松许可证的转变并不是他的目的。