软件自由保护协会起诉知名电视品牌 GPL 违规
2021-10-27 12:07:05 阿炯

软件自由保护协会(SFC,Software Freedom Conservancy)是一个推广开源软件和捍卫自由软件通用公共许可证(GPL)的非营利组织,SFC 近日宣布已对长期占据北美电视销量榜首的品牌 Vizio 提起诉讼,理由是 Vizio 多次未能满足 GPL 的基本合规要求。


如今的电视都以智能、万物互联和功能丰富作为主要卖点,Vizio 的电视也不例外,为此 Vizio 的电视搭载了他们研发的 SmartCast OS 操作系统来实现上述功能,而此次诉讼也正是围绕该系统产生的,不为求钱财只为求源码。

SmartCast OS 本身是基于 Linux 开发而来的,而 Linux 又受到了 GPLv2 的保护。除了 Linux 内核以外,SmartCast OS 还使用了包括 U-Boot、bash、gawk、tar、Glibc 和 FFmpeg 等基于 GPL 和 LGPL 协议的代码。


Vizio 在使用了基于上述协议的代码后并未将 SmartCast OS 开源,这正是 SFC 起诉 Vizio 的原因。

GPL 是一种开源许可证,确保终端用户可以自由地运行、研究、分享和修改软件代码。Vizio 在尽情使用基于 GPL 协议的代码时,也需要遵守该协议并向其他人提供 SmartCast OS 的源代码。SFC 表示,他们早在 2018 年 8 月就已告知 Vizio 因没有公布 SmartCast OS 的源代码而违反了 GPLv2 的规定。经过长时间的交涉,Vizio 不光是拒绝遵守该协议,而且从 2020 年 1 月起就完全停止对他们的询问做出回应。换言之,Vizio 早就知道这个问题的存在,但在过去 3 年时间里拒绝做出任何改进。

纵观开源历史长河,Vizio 远不是第一家被发现违反 GPLv2 协议的公司,不过,这些案件通常是为了维护版权所有人的权利。SFC 在这次诉讼中采取了完全不同的策略,他们作为产品的购买者对 Vizio 提起此次诉讼。这种做法使其成为第一个关注个人消费者作为 GPL 第三方受益人权利的法律案件 —— 产品的消费者也有权访问源代码,以便对其进行修改、研究和重新分发。

根据 SFC 的说法,此次以消费者的角度提出诉讼是因为如果没有源代码,消费者将丧失软件的修复权,无论是有技术背景的消费者还是可能找到其他懂技术来解决这个问题的消费者,都无法在软件出现问题或 Vizio 停止维护时修复它。即使你自己不知道如何进行修复,软件的修复权(right-to-repair software)仍然对每个人都至关重要。如今,电视是一个连接在大显示屏上的小电脑。因此,最需要修复的部分通常是软件的故障、漏洞和功能完善。GPL 可以确保进行这样的修复,而且消费者也有权进行这样的修复。

SFC 的执行董事 Karen M. Sandler 表示:“这就是此次诉讼在维护消费者权利方面所具有的独特性和历史性。我们请求法院要求 Vizio 履行其在版权合规要求下的义务。在过去的诉讼中,原告一直是特定 GPL 代码的版权所有者,SFC 希望通过此次诉讼证明,不仅是版权所有人具有权利,消费者/用户也同样享有该权利。”

此次诉讼 SFC 并没有寻求财务方面赔偿。SFC 只要求 Vizio 提供 GPL 协议下所一直要求公开的源代码。

Sandler 补充道:"从汽车到消费电子产品在全球范围出现的供应链短缺问题,突显了消费者对已经拥有的产品进行维修的重要性。即使没有供应链短缺问题,电视等设备的强制淘汰也不符合消费者的利益。由于制造商不再支持其软件而导致消费者淘汰一台电视,不仅是资源浪费,而且会造成严重的环境破坏。消费者应该对此有更多的控制权。"


GPL官司之战:新裁决是开源许可历史上的重要转折点

从上文中得知,软件自由保护协会(Software Freedom Conservancy,简称SFC)是一个推广开源软件和捍卫自由软件通用公共许可证(GPL)的非营利组织,它于2021年10月19日对电视制造商Vizio公司提起诉讼,称其多次未能履行通用公共许可证(GPL)的基本要求。2022年5月,加州州立法院公布了其审理结果。

该诉讼指控Vizio公司的电视搭载的SmartCast OS操作系统,本身是基于Linux开发而来的,而Linux又受到了GPLv2的保护。除了Linux内核以外,SmartCast OS还使用了包括U-Boot、bash、gawk、tar、Glibc 和FFmpeg等基于GPL和LGPL协议的代码。Vizio在使用了基于上述协议的代码后并未将SmartCast OS开源。事实上,像这类制造商有义务提供源代码,包括衍生作品代码和安装说明。如果没有这些,用户将失去对软件的控制,无法独立修复错误、添加新功能和删除不必要的功能。这正是SFC起诉Vizio的原因。

2022年5月13日的裁决表明,GPL协议不仅仅是一个自由软件许可证,还具有合同效力。SFC执行董事Karen M. Sandler指出,在自由和开源软件(FOSS)法律界的许多人都错误地认为,GPL和其他copyleft许可只作为自由软件许可发挥作用。

"SFC期待着有机会在州法院证明我们对GPL和相关协议所定义的源代码的第三方受益权",Sandler补充说。"这一主张是软件维修权的核心,它允许用户在他们购买的设备上行使复制、分享、修改以及重新安装软件的权利"。该诉讼案没有寻求经济补偿,SFC只向法院要求Vizio履行其在copyleft合规性要求下的义务。

在过去的诉讼中,原告SFC一直是特定GPL代码的版权持有人。在本案中,SFC希望证明不仅是版权持有者,消费者/用户也同样享有该权利。因此,SFC是作为产品的购买者对 Vizio 提起诉讼。这种做法使其成为第一个关注个人消费者作为GPL第三方受益人的权利的法律案件。美联邦地方法院法官 Josephine Staton 表示支持软件自由保护协会,对 Vizio 给予了否定意见。保护协会政策研究员 Bradley Kuhn 在邮件采访中解释道,“Vizio 宣称 GPL 只能视作版权许可、而非合同约定,因此要求将案件‘撤销’至联邦法院。我们则提出反驳,认为 GPL 协议既是版权许可、也是合同约定,其中的源代码条款明确向第三方(即下游用户)赋予了合同权利,要求甲方提供相应的完整源代码。”

Kuhn 还提到,如果仅将 GPL 解释为版权许可,那么保护协会必定会提起上诉,因为其诉讼主张就是合同违约索赔、而非版权侵犯索赔。而且保护协会并未寻求金钱赔偿,只希望 Vizio 向所有购买其电视的客户提供源代码。法官也同意协会一方的观点,认为GPL 既属于版权许可、也具有合同效力。这也意味着,不仅仅是开发人员,消费者也有权修改、共享和重新安装软件的修改版本。Vizio 用户可能并不真想要设备的代码,但这个利害关系却足以改变开源权利的游戏规则。

虽不利于商业,但利于用户

Staton 法官还援引了 2014 年的 Versata Software 公司诉 Ameriprise Fin 案,认定 GPL 施加的合同义务这一“额外要素”超出了版权法的要求。她在判决中写道,“保护协会的诉讼中还包含一项额外要素,即作为 GPL 协议的第三方受益者,其有权根据协议条款接收源代码。”

Software Freedom Conservancy 执行董事 Karen Sandler 在一份声明中表示,“这一裁决堪称 Copyleft 许可历史上的一个重要转折点,表明 GPL 协议既可作为版权许可、也应被视为合同协议。”

保护协会还表示,他们于 2018 年 8 月首次联系 Vizio,要求该公司公布 SmartCast 平台的源代码。这部分源代码依赖于 Linux 内核、alsa-utils、GNU bash、Gnu awk、bluez、BusyBox 等多种遵循 GPLv2 和 LGPLv2.1 许可的软件应用、库和框架。Vizio 则在 2019 年 1 月做出回应,向保护协会提供了所谓完整的智能电视软件源代码。但保护协会方面表示,Vizio 提交的内容并不包含将软件编译为可执行形式所需要的文件和脚本。

双方的拉锯战持续了两年,保护协会最终决定于 2021 年 10 月起诉 Vizio。诉状认为,向公众披露源代码具有重大意义,这样才能确保软件开发者实施改进、特别是隐私改进。而通过收集用户数据谋利的 Vizio 则不太可能主动增强软件的隐私保障。诉状提出,“既然 Vizio 产品、SmartCast 程序及相关库链接程序在源代码中使用到 Linux 内核,软件开发者社区就应该能够对代码内容做出修改,借此保护用户隐私或改善可访问性。同理,随着消费者在日常生活中愈发接纳并依赖于计算机及其他互连‘智能’设备,这种对消费者隐私和可访问性的保护能力将变得越来越重要。”

Vizio 公司于 2017 年曾同意支付 220 万美元同美国联邦贸易委员会达成和解,理由是其未经用户知情或同意就收集了 1100 万台电视的观看数据。Vizio 案还没有结束,但 Vizio 选择的版权法优先于违约索赔这条脱身路径已经被堵死。连同 2022 年第一季度财务报告,Vizio 公司在向美国证券交易委员会提交文件的“法律事项”部分并未提及保护协会诉讼案。但文件确实承认,使用免费和开源软件会带来潜在的商业风险。

该公司在文件中指出,“我们的部分消费设备包含‘开源’软件,任何有违开源许可中一项或多项条款的行为都可能给公司业务造成负面影响。”Sandler 则在邮件中提到,此次裁决已经造成深远影响,意味着任何在产品中使用 Copyleft 软件的产品制造商都绝不能忽视客户提出的源代码公开请求。

“违约行为影响到的是设备购买者,也就是下游用户,现在他们打算按照 GPL 中约定的方式使用源代码。如今,除非版权所有者或者意见领袖愿意强势要求,否则大多数企业会粗暴忽略掉外部提出的源代码公开请求。这不符合 GPL 的设计初衷,事情不该是这个样子。”

那么,GPL 的设计初衷是什么

GPL 是开源许可证的一种,虽然现在和开源并没有本质上的不同,但 GPL 最初代表的是自由软件运动而不是开源运动。GPL 和自由软件基金会比对企业更友好的开源计划(the Open Source Initiative)早了大约 10 年。

从历史上看,自由软件运动从一开始就致力于摆脱在市场上形成的专有软件的世界。对他们来说,软件用户有权知道软件中的内容、具有修改软件以及与他人共享软件的权利。他们认为购买软件应该像你在商店里购买食物,你有权利了解食物中的成分:商家应该告知你,你吃的食物里包含什么。而且你有权制作自己喜欢的任何餐点。这就像商家提供给消费者一种“秘密”制作的酱汁,但不允许消费者知道里面有什么,这会吓坏一部分消费者。

另外,最初自由软件运动清楚地表明,他们想要更正微软用来赚钱的商业模式。FSF 想要改变(他们认为的)这种(不道德的)做法,像微软这样的公司可以向你出售含有 Bug 的软件,用户却无法阅读代码,只有微软才能修复软件中存在的错误。当时微软和所有其他软件供应商确实都感受到了威胁,其辩护称99.99%的消费者读不懂该软件,因此这些消费者无论如何都无法修复 Windows 的错误,给他们分享代码并没有帮助,需要高度协调的团队和基础设施来检测和修复错误。而对于那些能够阅读代码的 0.001% 的人来说,他们有很好的动机来制作恶意版本的代码,并且很可能会制作一个糟糕版本出来。

事情发展到现在就逐渐产生了变化,开源运动成熟了,软件行业也成熟了,许多旧的论点都被搁置了,相比于代码,一些企业可以在其他事情上赚到更多的钱。现在,可以说微软也成了开源的最大支持者之一(取决于如何衡量这一点)。但有些东西始终没有改变:GPL 许可证仍然对那些想要销售专有软件的人构成限制。AGPL 在这方面更加危险。谷歌严禁在内部使用 AGPL 开源协议软件,时至今日,自由软件运动仍然将专有软件视为需要纠正的社会错误,并致力于为消费者着想。