VMware 因违反 GPL 面临诉讼

  • 曹知渊

2015 年 3 月 11 日

话题:语言 & 开发架构

软件自由保护组织的执行总监 Karen Sandler 在 Linux 基金会的协作峰会上透露,她领导的“Linux 合规”项目从 2012 年开始以来一直低调行事,但是这次终于要“开火”了。3 月 5 日,该机构宣布,支持其成员、Linux 内核关键开发者 Christoph Hellwig 将著名云计算虚拟化厂商 VMware 告上德国汉堡的地区法庭,以敦促其遵守 Linux 内核采用的许可证 GPLv2。

VMware 被指在他们的 ESXi 产品中使用了 Linux 内核相关的代码而没有遵守 GPLv2。虽然 VMware 大量使用开源软件,但 ESXi 不是一个纯粹的开源产品,它也包含了一个“私有”组件叫做 vmkernel。系统会先启动一个 Linux,由 Linux 加载一个叫“vmklinux”的模块,再由这个模块加载 vmkernel 代码,而 VMware 就是在 vmkernel 中实现其 hypervisor 功能的。根据这样的关系,vmkernel 被认定为是一个“加载到内核空间并运行”的模块,根据 GPLv2,vmkernel 必须也要通过 GPLv2 授权。但这还不算完,开放的 vmklinux 的代码中有很多从 Linux 移植过来的代码,其中包括 Hellwig 拥有版权的 SCSI 子系统和基数树(Radix Tree)算法的实现。Hellwig 认为 vmkernel 为了支持这些从 Linux

移植过来的模块,自身也合入了很多 Linux 代码,所以 vmkernel 应该是一个 Linux 的衍生产品,从这一点来说,它也必须遵守 GPLv2。软件自由保护组织的网站给出了一张清晰的框图来描述这些代码和 Linux 的关系:

图中红色的部分就是软件自由保护组织和 Hellwig 认为 VMware 违反 GPLv2 的代码。

早在 2011 年十月,软件自由保护组织就接到过关于 VMware 违反 GPL 的报告,当时涉及的软件是 BusyBox。在经过历时三年和 VMware 的律师协商后,VMware 也做了不错的努力去遵守 BusyBox 的许可证 GPLv2,但总是在一些小问题上做得不能令人满意。在 2012 年末,软件自由保护组织开始意识到 VMware 的 ESXi 产品可能存在重大的侵权行为。该组织试遍了所有可能的渠道去游说 VMware 遵守 GPLv2,其中包括委托一些知名的经理人、外交家和 Linux 社区的开发主管帮助沟通(该组织不愿透露这些姓名),但最终都收效甚微。2014 年初,VMare 的美国律师团队明确告知该组织,此事到此为止,VMware 不会再为遵守 GPLv2 做努力,事实上律师团队认为 VMware 已经完全遵守了 GPLv2。

与此同时,软件自由保护组织把他们的调查结果告知了受侵权代码版权所有人 Christoph Hellwig。Hellwig 在确认了调查结果后,也委托了代理律师进行个人渠道的协商,但一样无功而返。VMware 曾经提出和 Hellwig 签署一份调解协议,但前提是 Hellwig 先要签订保密协议。Hellwig 不愿意仅仅为了看一眼调解协议的内容而去签订保密协议。

在所有善意的尝试全部失败后,软件自由保护组织和 Hellwig 最终选择将 VMware 告上法庭。理论上,ESXi 在全球发售,官司可以在任何国家打,之所以选择德国主要是离 Hellwig 和律师的家近,方便办案。但资深 Linux 专家,LWN.net专栏作家 Jonathan Corbet 认为,德国法庭通常对此类案件比较友善,以前在这里审理的类似案件,结果都对原告有利,这也是选择德国的重要原因。

GPL 侵权案件近年来层出不穷,其背后主要有两股推动力量。一类是“理想主义开发者”,他们希望他们选择的许可证能被严格遵守。另一类是公司的律师团队,虽然他们几乎从来不写代码,但是只有这样的案子不断获胜,他们才能说服公司管理层在遵守 GPL 方面投入资金。但也有人担心,这类案件的繁荣,会使企业不再愿意使用 GPL 授权的代码。

Sandler 认为,这样的案子有明显的示范作用。有很多公司在 GPL 合规方面投入了大量资金,这样的案子会让这些公司觉得投入物有所值,并继续坚定地在这条路上走下去。如果规则可以随便践踏,那么最终就没有人会遵守规则。

软件自由保护组织为此案开辟了专门的FAQ网页。由于德国不同于美国,在德国,法庭默认是不公开审案的,所以此案的法庭进展还不得知,但该组织会持续更新这份 FAQ,把他们知道的信息及时告知公众。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构