红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

让企业胆战心惊的 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:103091

评论

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

PLC与SCADA的什么区别和联系

2D3D前端可视化开发

物联网 PLC 工业控制 web组态 SCADA

Docker发布/上传镜像到dockerhub&&下载/拉取镜像&&删除dockerhub镜像

A-刘晨阳

Docker Linux 运维 11月月更

制造业行业现状及智能生产管理系统一体化解决方案

优秀

制造业 生产管理系统

想要设计一个良好的接口至少要考虑这14点!

程序员小毕

Java 编程 程序员 程序人生 java面试

Docker——denied: requested access to the resource is denied问题以及解决方法

A-刘晨阳

Docker Linux 运维 11月月更

全国首个AIGC创作大赛开赛,创作者可靠“AI打工人”躺赚

科技热闻

RxJS 全面解析

PingCode研发中心

响应式编程 RXJS reactivex

python小知识-python时间操作

AIWeker

Python python小知识 11月月更

互联网公司网络堡垒机首选哪家品牌?有什么优势?

行云管家

互联网 网络安全 信息安全 堡垒机

2023年语言和框架我们值得关注什么?

阿里巴巴终端技术

框架 语言 & 开发

Dive into TensorFlow系列(2)- 解析TF核心抽象op算子

京东科技开发者

tensorflow TF2 Tensor Op

OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”

OceanBase 数据库

使用 SAP Cloud Application Programming 编程模型开发一个图书管理 OData 服务

Jerry Wang

云原生 CAP SAP 企业级应用 11月月更

docker修改容器的端口、容器名、映射地址......

A-刘晨阳

Docker Linux 运维 11月月更

自制操作系统日记(7):字符串显示

操作系统

Kotlin函数声明与闭包

子不语Any

android kotlin 11月月更

微服务熔断限流的一些使用场景

Java永远的神

Java 程序员 微服务 程序人生 架构师

极客时间架构训练营模块五作业

李晨

架构

实时云渲染vs本地渲染,哪个更好用?

Finovy Cloud

云渲染 实时云渲染

比DataX快20%!SeaTunnel同步计算引擎性能测试全新发布

Apache SeaTunnel

spark DataX Seatunnel 数据集成平台 数据引擎

华为云开发者日震撼来袭!11月20日,上海见!

华为云开发者联盟

开发者 华为云

RxJS 全面解析

阿杰

JavaScript 响应式编程 RXJS

高可用性集群软件就选Skybility HA!优势多多!

行云管家

高可用 双机热备

带你了解S12直播中的“黑科技”

华为云开发者联盟

云计算 后端 音视频 华为云 实时直播

直播预告|OceanBase 社区版 4.0 全解析

OceanBase 数据库

技术分享 | 测试人员必须掌握的测试用例

霍格沃兹测试开发学社

Dragonfly 中 P2P 传输协议优化

SOFAStack

开源

[力扣] 剑指 Offer 第二天 - 反转链表

陈明勇

Go 数据结构与算法 力扣 11月月更

【C语言】for 关键字

謓泽

11月月更

[力扣] 剑指 Offer 第二天 - 从尾到头打印链表

陈明勇

Go 数据结构与算法 力扣 11月月更

web技术分享| 日期选择限制组件二次封装

anyRTC开发者

Vue 前端 Web Element

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