SFC 诉 Vizio:GPL 软件用户的权利!

2021-11-04 10:47


10 月 19 日,软件自由保护协会Software Freedom Conservancy(SFC)对电视制造商 Vizio 提起了 一种新方式的 GPL 诉讼。与以往的要求遵守 GPL 的诉讼不同的是,以前的诉讼是代表 GPL 授权代码的开发者和版权所有者提起的,而这次诉讼是代表这些电视机的拥有者来提出的。含有 GPL 代码的设备,他们的所有者有权访问这些代码,这在许可证中得到了明确说明,但法院是否会决定这些所有者有相应的法律资格来起诉,目前还有待观察。

事件

这起诉讼还有其他一些不同于以往的地方。首先,这次它提供了一个 详尽的新闻资料包,来帮助媒体机构(和其他人员)了解该诉讼及其影响。这套新闻资料补充了 诉讼 中的一些细节,还提供了 “Q&A” 章节、SFC 发言人的简历、各行业专家的说法、词汇表等等。对于那些对我们社区及此许可证不熟悉的人来说,这是对于背景的一个很好的总结。其实哪怕对于 LWN 的读者以及其他那些对这些普遍有较深入认识的人来说,这些文件也有相当多的有意思的内容。

这个新闻资料包中明确指出,此次诉讼的另一个目的是教育用户来了解他们在 GPL 下所拥有的权利,以及为什么这些权利对他们有价值。该诉讼可以被看作是一次吸引眼球的努力,试图确保像 GPL 这样的许可证的实际优势能最终让用户得到,而这些用户应该是源代码披露source-code disclosure这个要求的受益者。这样的做法很符合像 SFC 这样的慈善机构的公共利益角色,但这通常不是诉讼策略的一部分,因为诉讼显然是针对法律体系以及被告方的。

与许多很高调的诉讼不同的是,SFC 的诉讼并不要求 Vizio 在金钱方面进行赔偿。相反,它要求法院命令 Vizio 遵守那些涵盖了它的电视机的源代码的 GPL 和 LGPL 条款。此外,它还要求法院宣布 GPL 许可证的条款和条件要求必须公开发布源代码,从而在事实上确定 GPL 的运作方式是自由软件界所认为的那样,即 Vizio 违反了该许可证。唯一的金钱相关的要求是偿还进行诉讼所需的费用以及律师费。

正如人们所猜测的,这份 27 页的申诉书中详细描述了 SFC 在 Vizio 的做法中看到的问题。下一步可能是对投诉的回应,这也将会被公开。这与证监会最近的 GPL 强制执行GPL enforcement相关诉讼案(比如 Christoph Hellwig 诉 VMware)中许多文档都被保密的做法形成鲜明对比,VMware 这个诉讼案当时在德国提交,最终以程序性的理由被 驳回。正如 SFC 执行董事 Karen Sandler 在新闻资料中所说,在美国提起诉讼的原因之一就是因为其他地方缺乏透明度:

鉴于许多违反 GPL 的人都位于美国(Vizio 也是),而且美国的法律制度很透明,因此将其作为诉讼地点是个合理的做法。具体来说,我们听取了自由软件的法律界人士的意见,他们抱怨说德国的 Hellwig 诉 VMWare 案(当时我们对这个案件提供了部分资助)不够透明。我们非常努力地迫使德国的法律体系更加透明,但完全无法达到这个目标。我们听到了这些抱怨,并听取了 FOSS 法律界的建议,也就是对于 GPL 相关的诉讼需要尽量透明公开地进行

细节

与当今许多(大多数?)的 “智能” 电视制造商一样,Vizio 在其设备上运行的 SmartCast 平台上使用了 Linux 以及其他各种遵守 GPL/LGPL 的代码。根据诉讼信息,SFC 购买到的 Vizio 电视既没有提供获取这些软件组件源代码的方式,也没有直接提供源代码本身(比如通过附带 CD),而这两者都是许可证中明确提出需要遵守的要求。

SFC 意识到了这个问题后在 2018 年 3 月购买了其中一台受影响的电视机。它发现该设备上有 Linux 内核,但既没有提供获取方式也没有源代码。证监会于 2018 年 8 月就该问题联系了 Vizio,这开始了一个漫长的处理过程,其中 Vizio 试图将内核的源代码提供出来。

根据诉讼的公开信息,在整个 2019 年,Vizio 向 SFC 提供了六个不同版本的源代码,但没有一个能真正完成编译。每一次中 SFC 都向 Vizio 提供了一份详细的报告,“列出了所提供的内容以及在分析后认为有缺失的内容”。在 2019 年底,该组织参加了与 Vizio 及其芯片供应商的电话会议,讨论这些提供出来的源代码的问题。2020 年 1 月,Vizio 公司表示希望供应商能尽快拿出缺失部分的代码,但这是 SFC 与该公司的最后一次沟通,尽管 SFC 在随后的五个月里进行了六次催促。

在 2021 年中,SFC 购买了三款不同型号的 Vizio 电视。在查看这些设备的固件时,SFC 又发现了 13 个受 GPL 保护的组件(包括 BusyBox、Bash 和 Awk)以及 11 个受 LGPL 保护的组件(包括 GNU C 库、FFmpeg 和 systemd)。这三款机型被明确列在了诉讼之中,但很明显,他们希望最终的裁决需要能涵盖 Vizio 已经生产或今后会生产的所有包含 GPL 代码的型号。

在本案中,原告资格legal standing的问题似乎很关键。只有当原告能够证明 “与被质疑的法律或做法有足够的关联并受到损害” 时,诉讼才能继续进行。如果确定 SFC(作为所有用户的替代者)没有这个资格,那么在法院没有对这个问题进行深入调查的情况下,诉讼可能会被取消。在德国案例中,导致被驳回的程序性问题实际上是 Hellwig 没有提供出“足够的内核版权”。在这个案例中,不再是版权持有人来起诉滥用他们的版权代码,而是由用户(并不是许可协议的相关方)直接向法院要求救济。

起诉书从第 20 页的第 107 条开始阐述了授予资格granting standing的理由。还有若干条款是 SFC 所提出的观点的核心:

110. 因此,GPLv2 和 LGPLv2.1 的一个目的(事实上是必要条件)是希望向这些许可协议所涵盖的计算机程序的下游接受者提供源代码。

[…]

112. 与 GPLv2 和 LGPLv2.1 的目标和表达语言相一致的是,允许这些许可协议所保护的可执行软件的接受者,如 Vizio 智能电视的购买者,寻求法院的帮助以执行他们对相应源代码的权利。

[…]

116. 原告不是 GPLv2 或 LGPLv2.1 的签约方,因为该协议与 Vizio 智能电视有关,因为它没有宣称自己是 Vizio 智能电视中使用的软件或基于该软件的任何作品或其衍生品的授权方。

117. 原告是一类人群的代表,GPLv2 和 LGPL v2.1 是为他们的利益而创建和设计的。

[…]

121. 作为 GPLv2 和 LGPLv2.1 的第三方受益人,原告有权获得与其购买的 Vizio 智能电视上的 SmartCast 程序以及链接库程序的可执行文件相对应的源代码。

从上面可以看出,申诉书有些重复和冗长,这也是此类文件的正常情况。对于那些想深入了解 SFC 的指控以及它认为如果法官同意的话应该怎么做的人来说,读读这个起诉书会很有意思。

通常,在对像 Vizio 这样的设备制造商提起诉讼的时候,会以 集体诉讼 的形式提出,即多个因制造商的行为而受到伤害的消费者来共同参与诉讼。这类诉讼的目标通常是,在律师扣除通常很高的费用之后,由参加诉讼的人共同来分享罚金。但是,正如 Q&A 所指出的,本案中要求的惩罚并不需要有多个原告:

此外,根据 “面向社区的 GPL 执行原则”,该诉讼并没有将财务补救措施凌驾于合规性要求之上。本诉讼寻求对公共利益最重要的补救措施:释放 Vizio 电视上所有 GPL 的组件的完整对应源代码Complete, Corresponding Source(CCS)。一旦实现了这个目标,不仅所有购买 Vizio 电视的人可以立即受益,而且整个 FOSS 社区也可以受益。

展望

从多个角度来说,这都是一个有趣的案例,尽管在我们真正知道最终结果之前很可能会在相当长的几年内不断发生变动。我们只需看看 谷歌诉甲骨文案,或者看似永无止境的 SCO 诉 IBM 案,都花了多长时间来得到解决,就会意识到这个案子可能会延续十年甚至更久。假设投诉中所报告的事实是准确的(看起来相当简单明确),那就很难看到 Vizio 能提出什么论据来规避其 GPL 义务,当然,除了 SFC 的资格standing问题。

也许 Vizio 可以简单地来遵守许可证的规定,就可以终止这场诉讼。然而,这也许很难做到,因为芯片供应商似乎无法提供完整对应代码(CCP),至少到目前为止是这样。不过,从商业角度来看,可以推断设备制造商会害怕看到对于本案不利的判决。如果任何设备的买家都可以成功赢得这种类型的诉讼,那么就会大大扩大潜在原告的数量。另一方面,这也意味着关于版权转让copyright assignmentGPL 强制执行GPL enforcement的必要条件的观点就会被削弱,或者说变得没有意义了。

当然,如果用户被判定不具备这个资格,那么 Linux 和其他自由软件组件的版权持有者就会有很多跳出来进行其他 GPL 执行诉讼。正确的做法应该是由公司来自愿遵守我们社区提供给他们的大量高质量代码的许可证。SFC 正在慢慢加大压力,希望有朝一日能将此变为一个理所当然的事情。