开源者的信仰正在崩塌

GPL 协议的自由软件分享规定对于一些个人和企业是一种约束,这让许多开发者或者公司开始转向使用 Apache 许可协议,Apache 许可协议允许人们使用、修改开源代码,但没有要求使用者必须公开分享自己的源代码。这让许多开源运动支持者开始质疑,开源者的信仰是不是已经改变?

Sleepycat 软件公司 CEO Mike Olson 作为开源运动的先驱,却不是一个开源软件狂热分子。他对开源运动有自己的理解,并作出了与众不同的举动。

早在 90 年代 Linux 还未盛行时,Olson 在建立开源软件 Berkeley DB 资料库过程中作出了不小的贡献。而作为 Sleepycat 软件公司的 CEO,他利用一个类似于 GPL 的协议——对于 Linux 发展非常重要的自由软件协议,将这个资料库成功转入商业化。GPL 协议规定:如果你完善了某个自由软件并将它的代码应用在一个大型软件产品中,那么你需要将你的这个产品再共享给自由软件用户。

在 2009 年,Olson 建立了 Cloudera——第一个利用 Hadoop 牟利的组织,基于谷歌软件基础结构的开源数据运算平台——他用 Apache 许可协议替代了 GPL。Apache 许可证不要求使用者必须将软件再次共享给大众。你可能会觉得这样的许可协议一定会阻碍开源世界的发展,但 Olson 认为存在这样的不一样的声音是很有必要的。

Olson 绝不仅仅是唯一一个支持 Apache 许可协议的。据一组统计数据显示,当今世界上许多开源项目都在从有约束性的许可协议(比如 GPL 协议)阵营中转投宽松的许可协议(如 Apache 许可协议)阵营。并且,许多开源运动关注者——包括长期关注的专家 Matt Asay 和一名来自 RedMonk 对开发有兴趣的研究员 Steven O’Grady,都认为这样的改变将会给开源世界带来更好的发展,会有更多的人加入开源阵营。

“商业化的开源项目都开始向 Apache 许可协议模式转变,而 Olson 只是走在了这些人的前面,”多年来一直轻视 Apache 许可协议重要性的 Asay 指出,“他就是在幕后一直嘲笑我们这些 GPL 支持者的家伙。”

这场运动最大的力量来自于互联网巨头,包括 Facebook 和 Twitter,他们相对于传统的软件公司对开源有着非常不一样的态度。但随着这些巨头以及他们的项目源源不断加入到支持宽松许可协议的阵营中来,产生了 一大批利用开源获利的公司,如 Cloudera,他们避开了 GPL 以及其他的约束性许可协议,很可能吸引商业公司的注意。

相对于 Apache 许可协议,许多公司都担心 GPL 协议,担心 GPL 协议会让他们公布自己的私有代码。但是在 Apache 许可协议内,这种担心就没有必要。对于 Olson 以及其他人来说,这不仅仅是鼓励他们使用开源工具,也是非常有利于 Cloudera 这样的公司从自由软件中赚钱的。

Apache 许可协议受到青睐

Black Duck Software 一直在跟踪调查自由软件许可协议,根据其统计,约束性许可协议例如 GPL 仍然被广泛的使用。但现在,自由软件运动逐渐成熟,而且互联网改变了这场运动的经济状况,Black Duck 的统计表明,GPL 的影响力相对于许多如 Apache 这样的宽松类许可协议来说正在逐渐下降。

有数据显示,GPL 协议的项目使用率正在由 2008 年的 70% 下降到现在的 57%,而 Apache 以及 MIT(另一个宽松型的许可协议)的使用率则分别由5% 上升至 11%。

Free Software Foundation,由 GPL 产生的非营利性公司,它的一名许可协议服从工程师 Brett Smith 认为像 Black Duck 公司的统计数据具有误导性。“他们所得到的数据不是完全公开的,所以通过那些数据计算出来的数字无法表明什么”,他说,“以后 GPL 或者其他许可协议如何发展很难预料的。”但其他人,如 Redmonk 的 Steven O’Grady 和 OuterCurve Foundation 的执行董事 Paula Hunter, 一名微软后端开发开源的提倡者,他们认为他们看的东西发展趋势是和 Black Duck 公司看到的一样。(Black Duck declined to be interviewed for this story).

很明显的,最近几年很多开源项目都姿态鲜明地选择了 Apache 许可协议,包括云计算平台如 Hadoop、OpenStack、Cassandra 以及 CloudFoundry。另外,Node.js 遵循的是 MIT 许可协议。甚至一些著名的移动平台也加入了这一阵营,比如安卓手机操作系统就支持 Apache 许可协议,惠普之前则公布了开源的 Palm’s webOS 平台加入 Apache 许可协议阵营的时间表。

巧合的是,许多项目都是来自大的互联网公司。“相对于我们以前所看到的,他们对待开源有截然不同的态度” Steven O’Grady 说,“他们不再像以前那样重视代码了。这些公司在五六年前将代码视作私有——他们认为这些代码是与众不同的——但现在却公开了。”

包括 Facebook 以及 Yahoo 在内的通过 Hadoop 引导的公司,他们不以出售软件为主要业务。但那只是部分的情况。他们通过利用别人的开源软件建立业务运营,所以他们也愿意把这些再分享给别人而不索取回 报。但同时,他们知道其他人也是这么想的,所以他们知道,无论怎样,回报最终还是会到来的。

O’Grady 认为 Twitter 是另一个很好的例子,他们的项目是开源数据库 FlockDB 以及开发者工具包 Bootstrap。还有 Rackspace,他们的 OpenStack 是一个提供虚拟计算资源的亚马逊互联网服务平台。

这样的趋势不会停止,在开源项目周边,有无数企业如雨后春笋般出现,它们希望帮助世界各地采用该软件,然后从中牟利。Facebook 的数据库 Cassandra 催生了 Texas-based DataStax、Hadoop 催生的不仅仅有 Cloudera 还有雅虎的子公司 Hortonworks、Rackspace 围绕 OpenStack 建立了自己的服务部门,还有 Node.js 的管理员 Joyent,利用开源开发平台售卖软件以及为一些公司做服务。所以说,Mike Olson 并不是个例。

GPL 协议是否是毒药?

在 Olson 还在 Sleepycat 的时候,Berkeley DB 基于 GPL 协议获得了一个“强有力的非营利性版权”。你可以免费使用 Berkeley DB,但是如果你用了,你可能不得不用你自己的代码来付出代价。对于很多公司来说,这是令他们非常不安的一个规定。虽然他们想要用 Berkeley DB,但是他们不想放弃自己多年开发的软件。但 Sleepycat 提供了一个空子让他们来钻,如果你支付给 Olson 和他的公司一些费用,他们就能给你提供不同的许可协议来允许你持有你自己的代码不公开。它被称之为双重许可协议的技巧。

“GPL 协议是一种毒药,而我们能够卖给你解药。如果你不希望你的源代码受到 GPL 协议的影响,你可以购买一份不同的许可协议。”Olson 说,“这对我们来说,相当成功,但是我们永远没法成为一个年收入上亿的公司。我们的商业交易建立在我们的顾客被威胁的基础上:‘除非你给我钱,否则将危及 你的知识产权’,那不是开始商业行为的好方式。”

而在 Apache 许可协议下,Cloudera 完全改变了状态。本质上,你可以以你喜欢的任何形式使用自由代码——不需要贡献任何你自己的代码给其他共享者。而 Cloudera 则利用出售支持以及增加串联 Hadoop 的私有软件进行赚钱。这起到了在自由软件与非自由软件间搭建桥梁的作用!

“开源是我们所做的工作中很重要的一部分。我们有一半的工程师都工作在(Hadoop)开源项目上。”Olson 指出,“但更重要的是,我们需要将自己和其他市场区分开来,这样可以让用户有充分的理由认为我们是特别的。”

有些人称 Cloudera 是一个“开放核心(open core)”公司。项目的核心是开源的,而 Cloudera 所提供的周边的付费软件则不是开源的。但这个名字并不是一开始就有的,“开放核心(open core)”在公众的嘴里是一个否定的词语,因为它在暗指 Cloudera 是伪开源的。

Mike Olson 不关心别人怎么称呼 Cloudera,只要能带来利益,人们怎么称呼它都无所谓。

开源的实用主义

神秘的 Cloudera 很少谈到他们的收入,但他们的客户名单上却不一般,他们拥有包括 Groupon、Rackspace 以及 Samsung 这样的大客户。对于 Olson 来说,Cloudera 的发展已经超出科技领域冲进华尔街和生物医学领域了。这个公司成功最重要的部分,Olson 说,就是 Apache 许可协议。他理解人们为什么喜欢 Free Software Foundation 创始人 Richard Matthew Stallman 创建 GPL 协议,并且,在很多年前,GPL 对 Olson 来说也是好东西,但现在,这是新的时代了。

自由软件运动的精神领袖理查德·马修·斯托曼(Richard Matthew Stallman)

“我不相信政治或者宗教信仰会是稳妥的商业基础,”Olson 讲到,“如果你和早期的一些自由软件者聊天,所有的内容都是关于权利和责任的——我明白为什么 Richard 对那东西感兴趣——但如果你作为一名商人,你必须抓住用户、市场以及商业机会。GPL 确实能够给你赚钱的机会,但是还有其它的合作的许可协议能够让你赚的更多。”

Apache 的优点是很少会带给潜在客户威胁。“如果你希望软件被使用,你需要一个 Apache 许可协议,”国际法律公司 DLA Piper 的合作伙伴 Mark Radcliffe,一个专攻开源软件的家伙如是说,“在与之打交道的过程中,很少会遇到复杂的法律问题。”并且,一旦你有了用户,例如 Olson,那将会有大把的机会赚钱。

当开源他们的源代码时,很少遭遇复杂法律问题是许多互联网公司选择 Apache 许可协议的另一个原因。“将开源发展融入他们基本开源项目战略的原因有很多,发展趋势只重要的一方面,但你们不要担心这种情况会发生在 GPL 那里。”Radcliffe 讲到。换句话说,他们不用担心要开放自己不想开放的那些代码。

最重要的宗旨是基于 Apache 许可证下,开源代码与私有代码自由混合是被允许的。Olson 认为这是未来的发展趋势,而像 Oracle 以及 IBM 这样的巨头已经围绕开源软件项目建立了成功的商业模式。“我想,开源商业化的成功将会更像 IBM 或 Oracle 多一些,像 Red Hat、MySQL 或者 Sleepycat 少一些。”

他认为,即使没有类似 GPL 这样的协议存在,这些公司也将会继续促进开源项目的发展,因为他们现在开始意识到这些项目能带来的利益是可观的。“随着行业的逐渐成熟,我想人们已经认识到相互协作的价值,”他说,“你们不需要去吓唬或者逼迫他们。”

只是,这样的“开源”还是不是开源者最初所信仰的“开源”?(翻译/魏兵)