VMware 侵犯 GPL 风波
2015-04-05 16:33:11 阿炯

律师Till Jaeger代表内核开发者Christoph Hellwig向德国汉堡一家法庭起诉虚拟机开发商VMware侵犯了GPL许可证。这一案件获得了软件自由管理机构(Software Freedom Conservancy)的资助,并得到了自由软件基金会的支持。问题与VMware产品vSphere ESXi 5.5.0中名叫vmkernel的组件有关。ESXi大量使用开源项目,其中包括Linux内核,相关开源代码可在VMware的网站下载。

ESXi 不是一个纯开源产品,它包含了私有组件vmkernel。软件的引导过程从Linux开始,然后加载模块vmklinux,这个模块再加载 vmkernel代码去执行 hypervisor功能。vmkernel是通过一个模块加载到内核,因此被认为是内核的衍生产品,被认为需要在GPL许可证下的条款下发布。但 VMware开发者否认vmkernel要从Linux引导。

VMware 针对因为违反 GPL 许可证被告上法庭的事件发表声明

2015年3月5日,自由软件保护协会(SFC)在德国发起一项由 Christoph Hellwig 签署的针对 VMware 的诉讼,指控 WMware 未能遵守通用公共许可证(GPL)。我们相信这起诉讼没有法律依据,我们已经相当努力的希望理解和解决他们提出的问题,但是令我们感到非常失望的是 SFC 已经采取了诉讼的行动。我们看到在支持多种开发方法论上的巨大价值,包括免费和开源软件。我们非常欣赏自由与开源软件在数据中心中所起的关键作用。同时 VMware 也在支持和客户使用基于 Linux 和其他自由软件方面投入了巨大的精力。

VMware ESXi 是一个用来管理物理服务器软硬件资源的操作系统,ESXi 的核心是一个称为 vmkernel 的部件,提供了对这些资源的控制。和其他通用操作系统一样,ESXi 的 vmkernel 提供一个稳定、一般用途的 API ,我们称为 VMK API。这个 API 使得设备驱动程序和其他可加载模块执行特定的功能。

第三方开发商可以通过 VMK API 编写驱动或者模块直接与 vmkernel 进行通讯,而这些驱动并非 Linux 驱动。我们通过一个可加载的内核模块(vmklinux)实现替代方案,这个是与 Linux 驱动类似,由 vmkernel 负责加载并进行接口调用。VMware 为第三方提供基于 GPL 许可证的 vmklinux,并且这个源码是开放的。上面我们说大概介绍的内容,我们非常自信我们的操作系统并非 Linux 代码的一个衍生品。因此我们公司是遵守 GPL 的!

VMware 曾经努力与 SFC 沟通来理解和定位这些关注点。我们这样做也是尊重自由和开源软件社区。我们非常希望这个问题能得到圆满解决。

经过 VMware 诉讼,GNOME 支持遵从 GPL 保护

经过 VMware 因侵犯 GPL 许可证被告上法庭事件,GNOME 基金会坚决支持软件自由保护,努力确保遵从 GNU General Public License (GPL) 协议。跟 Linux 内核一样,GNOME 选择 GPL (还有 LGPL) 作为软件的授权许可。参与自由软件的协作对所有参与者都很有益处,但是前提是要有协作。GPL 和 copyleft 使协作成为可能。GPL 是维护自由软件的重要工具,当其他合作渠道已经无法进行的时候,诉讼是唯一的求援途径。

PayPal 从 VMware 转向 OpenStack

VMware 的日子不好过了,有消息指出 PayPal 将会把所有的 web/API 的流量以及中间层服务转移至基于私有云的 OpenStack 上运行。这对于 VMware 来说可不是个好事。

这条消息来源自一篇博客,PayPal 全球平台和基础设施副总裁 Sri Shivananda 指出,去年 PayPal 为全球 203 个地区, 1.62亿用户提供服务,包括26种不同的货币,总成交额为1620亿美金。为了保证增长,PayPal 必须重构所有的业务,包括核心基础设施 —— OpenStack 所提供的便捷的、可行的、可管理的服务正是他们想要的。而这些,VMware 给不了。

Welte: 关于VMware GPL听证会的报告

Harald Welte在这篇博客中报道了关于德国法庭对VMware因违反GPL开源协议作出的诉讼。Welte是gpl-violations.org的创始人,当然也是Linux内核开发人员之一,因此他非常关心此次对VMware的诉讼事件。正如Christoph Hellwig所说的,这次法律诉讼得到了Software Freedom Conservancy的支持和赞助。

Welte认为本次诉讼中有两个问题:
1、就版权而言,vmklinux和vmkernel是同一实体或是独立实体?
2、Hellwig是否可以起诉。他表态说:“现在的情况是,VMware声称他们只用到了Christoph Hellwig所写的很少的代码函数,其总量还不到VMWare ESXi所使用的Linux代码量的1%。而法庭认为这是个困难点,因为德国版权法有法定规则:如果某作者的原著作被另一位作者修改,只要还能区分原著的部分,原作者就拥有对该部分的权力。目前法庭还没有表态是否相信发生了这种事情。可以指出的是,少量的关键代码的确对整个产品产生了至关重要的影响。但法庭人员不懂源代码和软件开发,如果在听取了控辩双方意见之后还存在问题,那么法庭最好应该要求专业技术报告来澄清这点。”


在诉讼请求被法院一次次驳回后,最近原告著名 Linux 开发者 Christopher Helwig 已经决定不再上诉,因为他认为这已经没有意义了。

在2016年,法院驳回了该诉讼请求,之后 Christopher 上诉,但最终还是被驳回。

该诉讼的核心是 Hypervisor vSphere VMware ESXi 5.5.0 违反了 Linux 使用的开源许可协议 GPL。

GPL 下的软件本身是开源及自由的,同时某个软件只要包含了其它基于 GPL 协议的代码,那么该软件就必须同样采用 GPL 许可协议。这样的“传染性”也就是所谓的 Copyleft 概念。

Linux 基于 GPL 开源,而 VMware ESXi 5.5.0 使用了 Linux 内核源码。Christopher 发现 VMware 虽然基于 GPL 开源了 vmklinux 组件,但是并没有开源相关管理程序组件,也就是说 VMware 侵权了。

Christopher 与软件自由保护协会试图说服 VMware 从其产品中删除 Linux 相关代码,或者完全遵守 Linux 的 GPL 开源协议,但是对方声明这是“没有法律依据的指控”。双方各执一词,于是 Christopher 与软件自由保护协会将 VMware 告上了法庭,并表示:“VMware 已将基于 GPLv2 许可的受版权保护的 Linux 代码与他们自己的专有代码‘vmkernel’相结合,并进行分发,但却没有在 GPLv2 下提供完整的相应源代码。”

再次上诉被法院驳回后,据 ZDNet 的报导,在最近的一则声明中,Christopher 指出:“法院没有处理诉讼的实质性问题,而因为没有充分的证据表明被告组件的所有权或版权属于 Linux,所以法院像第一次一样驳回了上诉。”他认为法院提出的要求非常高,使个别自由软件开发人员很难单独主张自己的权利。

此外,Christopher 也表示其实法院的判决可能也是受到了 Linux “版权巨魔”Patrick McHardy 相关案件的影响,Patrick 通过起诉多家公司侵犯 Linux GPLv2 而赚钱,他的行为被 Linux 社区所不耻。Christopher 觉得法院没有分清以个人利益为目标发起的侵权诉讼和一心想要让 GPL 可以强制执行的诉讼之间的区别。

目前 Christopher 已经决定不再上诉,因为他认为这已经没有意义了。除了得不到法院的理解,这些诉讼也消耗了 Christopher 太多时间与精力,他还表示:“最重要的原因是,VMware 已经宣布将来不再在其虚拟机管理程序中使用 Linux 代码。从 VMware 专有内核中删除 Linux 代码是我和软件自由保护协会多次提出的要求,而一旦 VMware 采取该行动,那么他们最终就遵守了 GPL。”

软件自由保护协会方面则明确指出:“遵守 FOSS(Free and Open-Source Software,自由与开源软件)许可不是可选的,不遵守 GPL 许可协议侵蚀了软件自由和我们技术的完整性。Copyleft 既是法律要求,也是社区的基本规范,如果公司希望使用 GPL 代码,那么他们就必须遵守 GPL。”

这个事件也让我们回想起前阵子腾讯内核团队基于 RHEL7.4 源码发布 TCPA 项目闹出的笑话,RHEL 基于 GPL,按照协议要求,TCPA 也需要基于 GPL 开源其内核源码,但是团队并没有这样做,最终 TCPA 项目“下架”收场。

近几年开源之火越烧越旺,像腾讯 TCPA 这样的案例其实并不少见,这里提醒开发者与公司们:开源需要严格遵守开源许可协议。