写点什么

让企业胆战心惊的 GPL 官司:新裁决是开源许可历史上的重要转折点

  • 2022-05-18
  • 本文字数:2616 字

    阅读完需:约 9 分钟

让企业胆战心惊的GPL官司:新裁决是开源许可历史上的重要转折点

这一裁决,到底符合不符合 GPL 的设计初衷?

 

软件自由保护协会(SFC)在强制要求 Vizio 公布其 SmartCast TV 软件源代码的斗争当中,再次赢得重大司法胜利。

 

SFC 是一家促进开源软件并为 GPL 辩护的非营利组织,他们认为 Vizio 未能遵守 GPLv2 及 LGPLv2.21 许可中提出的、在满足特定条件时公开源代码的条款,因此涉嫌违约。Vizio 回复说保护协会无权索取源代码。为此,保护协会起诉了 Vizio,并代表其电视用户提出了赔偿请求。而 Vizio 在诉讼中希望将违约问题转化为联邦版权法范围内的争议案件。上周一,美联邦地方法院法官 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 开源协议软件

 

时至今日,自由软件运动仍然将专有软件视为需要纠正的社会错误,并致力于为消费者着想。

 

原文链接:

https://www.theregister.com/2022/05/16/vizio_gpl_contract/?td=rt-3a

https://www.quora.com/What-are-your-thoughts-around-Open-Source-versus-GPL

https://opensource.google/documentation/reference/using/agpl-policy

2022-05-18 15:103352

评论

发布
暂无评论
发现更多内容

从react源码看hooks的原理

flyzz177

React

从深度学习框架到开发工具,百度飞桨携最新成绩单亮相 GTC

飞桨PaddlePaddle

英伟达 百度飞桨 GTC

应用模型开发指南上新介绍

HarmonyOS开发者

HarmonyOS

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

鳄鱼视界

手写一个react,看透react运行机制

goClient1992

React

从计费出账加速的设计谈周期性业务的优化思考

鲸品堂

运营商 业务流程优化 企业号 3 月 PK 榜

基于大规模边缘计算的千万级聊天室技术实践

环信

聊天室 大规模边缘计算 千万级

技术写作的“坎”

码猿外

程序员 写作

走进RocketMQ(三)消息存储与消费

白裤

Java RocketMQ RocketMQ消息存储 RocketMQ消息消费

从源码角度看React-Hydrate原理

flyzz177

React

适合开发团队的文档管理系统盘点

爱吃小舅的鱼

文档管理软件 团队协作管理

ChatGPT 爆火,社交应用如何 Get 新技能

融云 RongCloud

IM ChatGPT

假如面试官要你手写一个promise

helloworld1024fd

JavaScript 前端

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

威廉META

从零手写react-router

helloworld1024fd

JavaScript 前端

极光笔记 | 极光PUSH服务助力企业提升抢单速度

极光JIGUANG

技术干货 移动推送 智能推送

深度分析React源码中的合成事件

goClient1992

React

轻量易部署!Coolbpf 发布不依赖 Clang 的脚本化编程特性 lwcb | 龙蜥技术

OpenAnolis小助手

开源 rust ebpf coolbpf lwcb

ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!

袋鼠云数栈

【明晚直播】KunlunBase 1.1 版本发布:完善MySQL 兼容性,OLAP性能提升

KunlunBase昆仑数据库

MySQL 数据库 PgSQL 线上直播

深入React源码揭开渲染更新流程的面纱

goClient1992

React

从一次CPU打满到ReDos攻击和防范

京东科技开发者

正则表达式 Web 企业号 3 月 PK 榜 ReDoS

LED广告宣传车与LED流动舞台车的区别

Dylan

广告 LED 户外LED显示屏

如何使用C LinkSDK(4.x)快速接入阿里云物联网平台?——实践类

阿里云AIoT

阿里云 物联网 IoT

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.2版已发布

JackJiang

网络编程 即时通讯 IM

从recat源码角度看setState流程

flyzz177

React

TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?

TDengine

性能测试 时序数据库 ​TDengine

滴滴前端一面常考手写面试题整理

helloworld1024fd

JavaScript 前端

京东前端二面常考手写面试题(必备)

helloworld1024fd

JavaScript 前端

自动化测试工具加入黑科技带来新纪元

石臻臻的杂货铺

人工智能

让企业胆战心惊的GPL官司:新裁决是开源许可历史上的重要转折点_文化 & 方法_Tina_InfoQ精选文章