没那么严重(GPL 也没有那么可怕)

出品|开源中国

文|肖滢

没有哪种开源许可证会比 GPL 更具有话题性,因为它具有极强的传染性。GPL 规定,分发其衍生品时也必须基于 GPL 开源。听起来很简单,公开源码而已,但很多企业却做不到。

因此,不少开源作者往往会通过法律诉讼,要求对方停止违规行为,也就是公开修改后的源码,这就是所谓的强制执行 GPL 。

与 GPL 相关的诉讼,被告多为大企业,索赔数额巨大,尤其是早期很多企业普遍没有开源合规意识,一告一个准。之前发布的《不要违反 GPL,SFC 会盯着你》一文就很详细地描述了,SFC(软件自由保护协会)是如何靠强制执行 GPL 一战成名的。

虽说大部分都是庭外和解,但这些诉讼就像是一块警示牌,提醒着很多人:GPL 意味着风险。这让 GPL 的名声多多少少沾上了些污点。时间久了,GPL 也就令人敬而远之。

事实上,它并没有那么可怕。对于身处开源之中的开发者、社区、企业以及非盈利组织来说,依靠法律手段强制执行 GPL 着实有些得不偿失。所以在意识到诉讼带来的各种负面影响之后,各方竟然出奇地达成一致:拒绝滥用 GPL 版权诉讼。

原因嘛,只能说各有各的小算盘,但是不管怎么说,至少表达了态度——我们不是没得商量的恶霸。

放弃派:代码毫无用处

诉讼能带来什么好处?用现实的眼光看,不仅没有好处,反而会带来一大堆麻烦事。

2007 年,SFLC(软件自由法律中心)代表 BusyBox 开发者——Rob Landley 和 Erik Andersen, 对 Monsoon Multimedia 公司发起了 GPL 版权侵权诉讼,因为它使用 BusyBox 代码,却从未发布源码。

对 Landley 来说,在这场诉讼中,没有什么比回馈代码更重要的了。然而最终得到相关代码后, Landley 却用了四个字评价:“毫无用处”。

从工程角度来看,BusyBox 值得吗?不。我们没有从我参与的任何诉讼中获得过一行有用的代码。SFLC (软件自由法律中心)偶尔会收到大额支票,它留下了大部分,以资助下一次诉讼,但我们得到的代码,是愚蠢的开发人员毫无意义的胡说八道。

事实上,它不仅没有为 BusyBox 存储库新增任何代码,还导致多家公司完全退出 Linux 开发,转而使用非 Linux 操作系统来开发其嵌入式产品。因为 BusyBox 常用于 Linux 嵌入式设备,BusyBox 的用户大部分都是 Linux 用户。真是抽了一块砖,倒了一堵墙。

开源律师和开源开发者 Luis Villa 认为,大多数公司都不会强制执行 GPL ,因为不论从获得的代码质量,花费的时间、金钱,以来带来的麻烦和客户风险来看,都不值当。

他说,就算通过强制执行 GPL 获得了代码,也没有多大作用,因为它们可能并不符合业务需求,而且如果那些代码写得不好,还要花时间维护。此外,违规企业大部分都是无法承担 GPL 合规性的小公司,即使起诉它们,也赚不到什么钱。

Landley 曾经寄希望于诉讼,他说,“我只是希望人们尊重 GPL。”不过,他最后放弃了诉讼,也放弃了 BusyBox。在那之后,Landley 投身 Toybox 的开发,那是一个没有 GPL 约束的替代品, 以 0BSD 许可证发布。

反对派:诉讼破坏了社区

一直以来,Linux 内核都是 GPL 强制执行的主战场。虽然很多诉讼都在为 Linux 维权,但是 Linux 的创始人 Linus 并不买账。

Linus 曾经对 GPL 大为赞许:“我真的认为许可证是 Linux 成功的决定性因素之一,因为它强制要求你必须回馈。”

但是,当 SFC 对违反 GPL 的企业发起诉讼,要求回馈代码时,Linus 却称它是传播恶疾的“伤寒玛丽”,引发了无休止的诉讼与争吵。

人家 SFC 好歹是跟你站一边的,怎么说翻脸就翻脸了,发生啥了?

因为 Linus 认为, SFC 引发的诉讼破坏了社区。 他说,BusyBox 的 GPL 合规性强制执行,可能是 SFC 最闪耀的一刻,但对 BusyBox 来说并不是。虽然开发者在法庭上获胜,但真正发生的只是“大量的争吵,个人和企业开发者以及用户都成群结队地逃离。

诉讼会摧毁一切,而不是“保护”。诉讼摧毁了社区。他们破坏了信任。他们会破坏我们多年来通过友好建立起来的所有善意。

诉讼会把朋友变成敌人。

FSF 已经尝试过对抗模式,这就是为什么人们开始使用“开源”代替。我们之所以非常成功,正是因为我们没有疯子对抗。

诉讼让更多人远离 BusyBox 以及 GPL,而不是产生有用的代码,所以诉讼实际上并没有帮助。

在 Linux 社区中,反对诉讼的人不止 Linus 一个。

Linux 稳定分支的维护者 Greg Kroah-Hartman 说,他并不反对“强制执行 GPL ”,他反对的是利用法律手段强制执行。因为诉讼是激怒企业,并与之树敌的最快的方式,而企业是社区很重要的一部分。

他说,在过去 25 年间,一旦发现有公司违反 GPL ,Linux 社区的开发者都会悄悄地与公司合作,向他们展示 GPL 的好处,从内部说服他们,GPL 值得遵守。尽管这种方式“很慢、很累、令人沮丧、吃力不讨好”,但它奏效了。拉拢的不仅仅是 Linux 追随者,还有反对者,不仅发展了社区,而且赢得了他们对 GPL 许可证的信赖。

Greg 说,英特尔过去曾滥用 GPL,但今天,它不仅是领先的贡献者,而且是 Linux 最亲密的朋友之一。微软也是如此。它们都不曾与 Linux 有过任何相关的诉讼。

保留派:诉讼是最后的手段

对 FSF(自由软件基金会) 和 SFC 来说,违反 GPL 就意味着削弱软件自由,即用户使用软件的权利。所以,在诉讼中,比起能获得什么实际的东西,他们更看重是否捍卫了软件自由。

在这里没有灰色地带,只有非黑即白。“我们要么放弃 GPL,要么在法庭上强制执行。”开放代码是首要诉求,这事儿没得商量;赔偿也是要的,得留着打下一场官司。没有谁比他们更加动真格的了。

要知道,不论是 FSF,还是 SFC,都曾经大杀四方,锋芒毕露。 FSF 曾经对思科发起诉讼,最终以思科提供捐助(数额未公开)及代码合规为条件,双方达成和解;而 SFC 曾一口气起诉 14 家企业,而且都是电子制造商,属于精确打击了那是。

只不过现在这两个组织已经地位稳固,勾勾小手,违规企业就会过来做好朋友。而且,越来越多的企业提高了开源合规意识,违规情况越来越少见。

2015 年,FSF 和 SFC 共同制定了《面向社区的 GPL 执行原则》。其中提到:

法律诉讼是最后的手段。合规行动主要是教育和援助过程,以帮助那些不遵守许可证的人。大多数违反 GPL 的行为都是错误发生的,没有恶意。有时故意违规或由于严重疏忽导致的违规,在这些情况下,我们没有义务同情。即便如此,诉讼也是最后的手段。

面向社区的执法绝不能优先考虑经济利益。如果使用得当,罚款是实现合规的合法工具。然而在版权法允许的最大范围内寻求损害赔偿,通常是不必要的。

言辞隐忍又克制,都不禁让人怀疑,他们是不是已经“金盆洗手”了。但 FSF 和 SFC 仍然保留了诉讼作为强制执行 GPL 的手段,只是在发起诉讼时会更加谨慎。

倒也不必太紧张,就算会发起诉讼,法律行动的目标是获得合规性,而不是阻止被告再次发布软件,或获得巨额赔偿。

SFC 的政策研究员 Bradley Kuhn 也曾表态,违反 GPL 就意味着侵犯版权,这对违规企业而言,可能很“可怕”,但事实是,SFC 执行 GPL,目标是教他们如何持续遵守 GPL 条款,并继续使用该软件。

和善派:给 30 天时间补救

《面向社区的 GPL 执行原则》已经足够代表态度,但仍有商业公司会对 GPL 执法感到紧张和恐惧,因为它不可预测,也不够稳定,没有明确的执行流程。

这要怪 GPLv2 的终止条款,一旦用户违反 GPLv2,会立即终止该许可——使不合规的用户成为版权侵权者,没有任何“补救”的时间。

因此,在爆出 Patrick McHardy 私自进行 GPL 执法牟利数百万欧元之后, Linux 社区有了进一步的动作,为的就是重新建立用户信心,并帮助将执法活动引导回 Linux 社区多年来一直寻求的最初目的——实际合规。

2017 年 10 月,Linux 基金会发布了一份内核强制声明,作为 GPLv2 的附加许可,要求内核开发人员签署,对内核用户做出承诺。

承诺内容来源于 GPLv3 中的“补救条款”,其实就是给被许可人(可以简单理解为分发软件衍生品的人)提供 30 天的时间,来补救任何违反 GPL 的行为。收到违规通知后,如果违规行为在 30 天内得到纠正,则许可证不会被终止。

没那么严重(GPL 也没有那么可怕)

一个月后,红帽、IBM、谷歌和 Facebook 对 GPLv2 和 LGPLv2.x 被许可人作出了“GPL 合作承诺”,以减少滥用执法,让更多人使用和开发开源软件。

该承诺内容也是来自 GPLv3 中的“补救条款”,现已有 60 多家企业加入,国内互联网企业如阿里、腾讯也在其中。

GPL 合作承诺与 Linux 内核强制声明非常相似,但范围更广。Linux 内核强制声明仅限于 Linux 内核贡献,但 GPL 合作承诺适用于该公司根据 GPLv2 和 LGPLv2.x 许可的所有代码。

倒也不是说这些企业给了多大的甜头,至少态度摆在那里,是在告诉用户:我的 GPLv2 代码是安全的,不会恶意起诉违规者。

总而言之,不论是哪一派,没有人希望开发者远离 GPL ,它是最能代表软件自由主张的开源许可证。尽管各方都已经释放出了很大的善意,而且从历史上看,GPL 诉讼只有在一方拒绝遵守要求时才会真正发生,但 GPL 仍然被视作威胁。

一个令人无奈的事实是,GPL 正在不可避免地衰退。最近 WhiteSource 的一项调查显示,GPL 的使用率已经越来越低。与之相反的是,Apache 2.0、MIT、BSD 等宽松型许可证正在崛起。