GPL妨碍了开发者挣钱?谈开源软件许可的变更

开发
近年来,使用GPL许可的软件数量正逐步下滑,而Apache许可的授权数量则相应上升。本文分析了GPL的一些问题,以及开源软件许可的变更方向。

GNU通用公共许可证(GNU General Public License)(英文通常以GNU GPL或是直接简短的以GPL表示),是一个广泛被使用的自由软体许可证,最初由理查德·斯托曼为GNU计划而撰写。此许可证最新版本为“版本3”,2007年6月29日发布。GNU宽通用公共许可证(GNU Lesser General Public License,一般简称LGPL)是改自GPL的另一个版本,其目的是为了应用于一些软体函式库。GPL给予了电脑程式自由软体的定义,并且使用了所谓的"Copyleft"来确保程式的自由被完善的保留。

去年夏天,Jeff Haynie走到十字路口,作为开源跨平台应用开发软件供应商Appcelerator公司的CEO,他做出了一件事关公司未来的重大决定。这个决定就是:不再使用开源软件领域知名度最高、最流行的GPL(Gnu General Public License)软件许可,而是选择了更有利于公司开展经营活动、实现赢利的另一种许可方式。Haynie :“我们的产品最初采用的GPL v3许可证,但是去年夏天,我们决定换成Apache。”

在开源社区,像Haynie这样为了公司经营而由GPL换成其他许可方式、或者正在考虑换成其他许可的人并不少见。今年6月,开源开发工具供应商黑鸭软件(Black Duck Software)曾进行过一次调查,它们发现,尽管迄今为止,开源软件基金组织(Free Software Foundation)发布的GPL尽管依然是最被人熟知、也是使用最多的软件授权许可方式,但是,其统治地位已经在开始衰弱。调查还发现,尽管采用 GPL v3的项目数量上升得很快,但是采用由GPL衍生的其他种类软件许可的开源项目与前一年相比,从70%下降到65%。

Haynie介绍说,在Appcelerator公司准备换掉GPL之前,他曾经调查了与他处于同一个市场的20多家软件供应商,他发现,只有一家采用的是与GPL有关的软件许可,“而其他公司使用的则要么是MIT、Apache,要么是新BSD。”他说。

“GPL的支持者通常会告诉人们,这个世界只需要一种开源许可证,那就是GPL,而我认为事实不是这样的,坦白地说,这是睁眼说瞎话。”Eclipse基金(Eclipse Foundation)的执行董事Mike Milinkovich说。Eclipse基金是众多提供开源许可证的组织之一,与GPL相比,这些组织发布的许可证更有利于商业经营者。在采用这些许可方式的企业看来,它们在源代码的发布条款方面更宽松(这意味着公司更容易挣钱)而且条款更清楚,它们的开发者社区成员更投入、素质更高。

GPL妨碍了开发者挣钱

随着开源市场逐渐偏离原来的轨道,GPL也就越来越不受欢迎。早期的开源软件开发者大多数是出于个人爱好,他们愿意把自己的劳动奉献出来,开发出有用的产品与人分享,而GPL的宗旨就是要鼓励这样的人、要鼓励人们的这种奉献精神。而今,根植在GPL深处的这种理想主义显得有些不合时宜,因为企业正在成为开源社区的主力,这些企业把开源开发作为一种赢利手段,而不是仅仅为了奉献。在这些企业看来,GPL中关于代码修改方面的条款规定得过于苛刻,影响到企业经营,因此,不再愿意采用GPL。

具体而言,企业拒绝GPL的主要原因是,其条款对企业通过修改源代码后编译成新的软件产品推向市场的行为进行了严格的规定。Eclipse的Milinkovich认为,Eclipse在这方面要宽松很多,是GPL最有力竞争者之一。他说:“我们制定许可方式的一个出发点就是有利于商业化。Eclipse生态系统的一个非常典型运营模式是,利用Eclipse社区的现有技术,企业基于此加入一些自己的商业性元素,最后在Eclipse许可证之下把产品推向市场。”

一直在关注开源问题的法律界专业人士Van Lindberg认为,GPL限制了企业通过对源代码进行修改然后从中赚钱的这种经营行为。

“从本质上说,GPL的原则就是,如果源代码来自GPL许可下的项目,此后对这些代码所进行的任何修改也必须适用于GPL,也就是必须公开。”他说,“比如,你可以销售采用GPL许可的代码,但是前提是,你必须保证那些获得你代码的人有权利也有能力无需支付任何费用就可以把代码交给(或者出售给)其他人。”

Appcelerator公司的Haynie解释说,他之所以从GPL换成Apache是经过几个星期的认真研究和思考的。“我们做出这一决定的主要原因是基于商业上的考虑。”他说,Apache中取消了GPL关于公开源代码的规定,而且规定中也没有什么重大缺陷。

“我们认为Apache更有利于我们的经营活动,换句话说,更有助于我们挣钱。”他说,“而且,从法律的角度来说,其许可中各种专利条款写得非常明确,也让我们放心不少,而以前我们常常担心会有法律的纠纷,因为GPL的条款比较复杂难懂。”

“制定GPL的人都是理想主义者,他们特别强调自由软件的精神,也就是所有软件必须是自由的,自由地获得,自由地使用,为此甚至强迫让一些软件变成自由软件。” Milinkovich说。

“有些人几乎把自由软件当成一种宗教信仰,它们认为开源软件只应该有一种许可,那就是 GPL,要么就不是开源软件。”GPL的另一个竞争者Apache软件基金组织(Apache Software Foundation)主席Jagielski说。

研究机构Info-Tech 公司的分析师Howard Kiewe表示,GPL被认为是一种保证再发布者有完全版权的有效方法,“然而,与众多主要面向企业经营活动的许可方式比较起来,GPL的这些规定已经有些不合时宜了。”

GPL竞争者的优势

Jagielski说,除了条款上更有利企业经营、实现赢利外,与GPL相比,其他的大多数许可更通俗易懂,表述得也准确。

“很多人们在采用GPL时的确有过担心,因为它的表述比较难理解。”他说,“而你必须明白什么时候违背了GPL的规定,哪些情况不算违背GPL的规定,这就意味着你很有可能需要法律部门介入。”

在Jagielski看来,Apache的许可条款就简单易懂得多,没有接受过专门的法律培训的人也能看得明白。“这些条款非常容易理解,因此,企业如果采用其风险就会小得多。”

尽管许可条款非常关键,但是,开源软件开发者还必须关注其他问题,比如,各个许可对应的软件背后的开发社区的深度和广度。 “之所以这些许可类型得到比较多的公司的认可,就是因为背后的社区足够成熟。”Lindberg律师说。

由于历史悠久而且在市场上占有绝对的优势,GPL有一个庞大、深入而且活跃的开发社区,不过其他的许可类型正在快速跟上。“我想我们会看到其他许可类型的社区越来越活跃,它们也将向我们证明这些许可类型也可以建立和维护一个不弱于GPL的社区。” Lindberg说,“这将给那些偏爱其他的许可(如Apache、Eclipse等)的人更多机会,可以根据自己需要来选择最合适的软件许可方式。”

GPL妨碍商业云应用的发展

为了保证源代码的自由分发,GPL要求采用GPL许可方式发布的软件必须把源代码同时发布。

“根据GPL的规定,采用GPL的许可意味着你发布的软件其他人可以自由地使用,同时,源代码人们也可以自由地查看、拷贝。”分析师Kiewe说。

但是,云计算的出现使得这一GPL的规定出现了漏洞。因为软件的运行不一定需要发布,比如SaaS就可以通过互联网交付给使用者,使用者只需要通过互联网访问发布者的服务器即可得到所需的服务,而无需发布软件和软件源代码。这就意味着,在GPL许可之下的云应用根本就不需要发布源代码。因此,很多云应用的开发者尽管采用的是GPL许可,却不再严格执行发布源代码的规定。

“传统的GPL许可对于Salesforce.com这样的SaaS运营商以及Google这样的搜索引擎供应商而言根本就不适用。”Lindberg说,这一事情已经引起了自由软件基金(Free Software Foundation)组织的注意,SaaS漏洞有望在名为Affero的新版GPL中得以解决。

“为了保证在新的计算环境下GPL原来的精神得到坚守,这是必要的。”Lindberg说。

然而,这一行动将迫使云供应商必须公开它们的软件源代码,这显然不是这些云供应商所能接受的,所以,它们不得不寻求新的软件许可,其结果就是让GPL及其其精神远离了云计算。Eclipse的Milinkovich介绍说,Amazon.com为了避免公开源代码的要求,其弹性计算云(Elastic Computing Cloud,EC2)服务采用的就是Eclipse许可。

新的开源软件许可不断涌现

那些认为GPL过于苛刻、会影响企业经营的人其实还有很多其他的选择,Apache、Eclipse就是其中的两个。Apache凭借其在Web开发领域的影响力而受到了部分Web应用开发者的喜欢,也是GPL主要的竞争对手之一;Eclipse最初只是一个面向 Java开发者的开发工具项目,而现在已经扩展到很多软件领域。其他比较重要许可方式还有Artistic、BSD、MIT、 Mozilla Public License (MPL)等以及其他数十个应用范围更窄一些许可方式。

“我相信随着新的商业模式不断涌现,软件授权许可方式也必然要不断创新,这对整个行业的发展来说非常必要的,也有着积极意义。”开源软件开发者同时也是Openbravo COO的Josep Mitja说,“不过,许可方式的创新也带来问题,许可方式太多了,供应商们常常不知道哪种方式更适合自己,有时供应商需要花费几周甚至几个月才能找到一个最适合自己的授权许可方式。”

Josep Mitja说:“从整个行业发展的角度来看,也需要防止许可方式无限制滋生,这会给市场带来混乱。”

GPL的作用不应低估

尽管面临着很多更新的、更有利于企业开展经营活动的软件许可规范的竞争,但是,GPL仍然还有存在的价值,也并不能说它就面临被抛弃的命运。

“在整个开源领域,绝大多数代码采用的是GPL许可方式。”观察家Lindberg律师说,“这就是GPL的最大优势,也是GPL的价值所在。”

分析师Kiewe认为,不管是GPL还是GPL的竞争对手们未来都会和平共处,各自在不同的场合发挥自己的作用。 Kiewe相信,对于那些不以赢利为目的人而言,GPL仍然是最好的许可方式。“在这个世界上总有很多理想主义者,他们希望与人分享自己的东西,而不希望这些东西在某种许可方式下封闭起来,使得此后所有的开发都变成一种商业行为。”

“如果你在大学或者某个研究单位工作,你希望把你的一些想法与所有人分享,同时你希望别人能自由地使用你的这些代码,而不期望有人盗用你的思想把它们用于商业目的,那么,GPL许可是非常适宜的。” Kiewe说。

不过,Lindberg预计,随着开源市场进一步扩大和市场的进一步细分,GPL目前的统治地位一定会逐渐改变。“最终我们肯定会看到,市场上多种开源软件许可方式共存,每一种都有自己适用的行业和适用的具体条件,谁也不能取代谁。”

【编辑推荐】

  1. 微软宣布CLI和C#将执行“社区许可”授权
  2. 可能不再有Java SE 7?甲骨文面临Java许可问题
  3. 微软公布CCI工具源代码 并加入微软开源许可
  4. 开放源代码开发计划报告: GPL授权数量下滑
  5. 是Apache还是GPL更有利于开源商业?
责任编辑:yangsai 来源: 计算机世界
相关推荐

2021-12-31 09:04:39

软件设计开发函数

2019-04-15 09:19:52

MongoDB开源协议

2021-02-14 18:44:58

GPL协议代码

2016-12-22 16:15:45

微软开源.Net

2019-09-18 15:30:00

开发者技能开源

2017-02-08 16:14:32

Chrome浏览器IOS

2011-05-25 09:29:33

Lodsys侵权iOS

2022-09-06 09:47:13

CodeRAT恶意软件网络犯罪

2017-10-21 16:12:01

Facebook

2012-01-16 11:05:22

红帽PaaS 开源

2010-07-08 15:48:34

开源

2015-09-14 09:20:31

苹果ios9

2012-06-13 01:23:30

开发者程序员

2010-05-05 09:22:10

Canonical开源软件

2009-03-20 11:50:44

LinuxSunCommunityOn

2013-05-15 10:02:08

软件开发开发者

2013-09-04 09:21:04

2020-12-30 13:20:50

茅台开源GitHub

2010-08-06 13:33:29

2022-04-25 17:52:52

书友会
点赞
收藏

51CTO技术栈公众号