如何赢得 Copyleft 之战——无需诉讼

还没有读者喜欢这个。
A diagram of a branching process

Opensource.com

软件自由保护组织的 Bradley Kuhn 可能因其在执行 GNU 通用公共许可证 (GPL) 方面的工作而闻名。诉讼执法可能会成为头条新闻,但库恩将法院视为最后的手段。

作为 OSCON 的常客演讲者,他今年再次来到这里,分享一个避免了法庭的项目的故事。我最近与库恩谈论了他的演讲以及更广泛的自由软件领域。

您最初何时参与自由软件,是什么让它成为您的热情所在?

我经常说“我为了免费(价格上的免费)而来,为了自由(自由上的免费)而留下。” 1991 年,作为学生,我需要一个类似 Unix 的系统用于我的笔记本电脑。我订阅了所有关于廉价或免费(价格上的免费)类 Unix 系统的 Usenet 新闻组,例如 comp.os.minix。因此,我在 Linus 发布原始帖子宣布 Linux 几天后就阅读了它。与此同时,我已经在工作中使用了 GNU 替代大多数其他类 Unix 系统组件,我非常兴奋,可能有一种方法可以在我的笔记本电脑上运行免费(价格上的免费)类 Unix 系统,并关注不断壮大的发行版社区。

一旦“软着陆系统”(SLS) 在 1992 年夏天问世,我就可以在我的笔记本电脑上运行 GNU/Linux。那时我开始明白软件自由不仅仅是像我这样经济拮据的人的零成本软件,而是每个人实际上都获得了源代码,并且可以对软件进行更改。

我继续我的职业生涯,其中包括开发和支持专有软件,但我发现缺乏源代码和/或自己重建它的能力不断阻碍我完成工作。今天的专有软件公司更加小心地提供“一些开源”;因此,许多技术专业人员直到为时已晚才意识到,当您每天都依赖它时,专有软件可能会多么令人衰弱。在 1990 年代中期,几乎没有任何商业软件许可证赋予我们软件自由,因此剥夺我们实践我们专业的权利(即修复软件)使我们中的许多人讨厌自己的工作。我曾考虑完全离开软件领域,因为我非常不喜欢使用专有软件。

这些经历使我成为软件自由狂热者。我发誓,我永远不希望任何开发人员或系统管理员感受到专有软件许可的约束,这限制了技术专家,因为他们公司的律师可以谈判的法律协议,而不是他们的技术技能。

那么,您做哪些日常工作来帮助这方面的软件自由呢?

我的主要日常工作是在一个名为 软件自由保护组织(保护组织)的非营利组织担任总裁和杰出技术专家。与技术领域的许多其他非营利组织不同,保护组织是一个慈善机构,而不是行业协会。因此,保护组织在法律上被要求为公众服务,而不仅仅是为了营利性公司。

保护组织的主要慈善工作是为其 各种成员项目提供非营利基础设施。保护组织充当其项目的正式组织代理,处理从记账和报销开发人员参加会议的差旅费等日常事务,到代表我们的项目执行自由软件许可证等一切事务。

对许可证执行的普遍看法是,它至少需要诉讼威胁。事实上,保护组织今年早些时候宣布,您正在资助 Christoph Hellwig 在德国对 VMware 提起的诉讼。请详细介绍一下。

至于该案件的实际细节,律师总是告诉我们不要详细评论正在进行的诉讼,因此对于这部分,我不得不简单地请读者参考 保护组织关于诉讼的常见问题解答

但是,我可以阐述我们如何以及为何需要此类诉讼。您的读者可能会惊讶地读到,我比任何人都更讨厌 GPL 诉讼。这是一项代价高昂的事业,当您的首要目标(如保护组织的目标)是遵守许可证(即,对用户和开发人员的适当和公平待遇)时,诉讼通常不是自筹资金的(特别是当您考虑到诉讼所需的大量员工时间时)。

简而言之,保护组织参与 GPL 诉讼是因为公司经常拒绝遵守。正如人们可以在上述常见问题解答中阅读到的那样,保护组织与 VMware 合作多年,礼貌地要求他们做 GPL 要求的简单事情。VMware 只是拒绝了。我们总是花几个小时的时间与这些公司讨论和审查他们的源代码发布,并解释他们为什么不遵守 GPL。但有些公司只是拒绝纠正问题。(他们认为他们可以比我们花更多的钱。)当公司变得顽固不化时,诉讼是实现 GPL 合规的唯一剩余选择。

当然,在寻求法院补救之前,我们总是会竭尽全力。例如,关于 VMware,早在 2012 年,我就向许多关键的行业协会和营利性公司高管(包括 Linux 基金会的三位高级管理人员)寻求帮助,以解决 VMware 的违规行为。我多次请求他们的帮助,以说服 VMware 遵守 GPL,但在这些情况下,寻求庭外调解人只是徒劳的。我在 2012 年警告所有这些可能的调解人,诉讼迫在眉睫,但没有人帮助我们。最终,保护组织在 2015 年资助了 Hellwig 的诉讼。

幸运的是,社区对这项诉讼做出了非常积极的反应。保护组织通过这项行动从公众那里筹集了略高于 50,000 美元的资金,这可能有助于资助这项非常昂贵的诉讼。(是的,可悲的是,这样的诉讼最终可能会花费那么多甚至更多!)更重要的是,许多甚至没有参与保护组织 Linux 开发人员 GPL 合规计划 的 Linux 开发人员,要么公开要么私下地发表了支持声明。例如,Grant Likely 在我们的新闻稿中提供了一段引述,一位非常高级的 Linux 开发人员在我们在提起诉讼之前私下告诉我:“VMware 正在做的事情非常糟糕,应该有人为此做点什么。” 另一位高级 Linux 开发人员告诉我:“我支持你们正在做的事情,即使我不能公开说出来。” Steve Hemminger 甚至要求他的前雇主(他们要求对 Steve 的代码进行版权转让)对 VMware 执行强制措施,但可悲的是他们拒绝了。

因此,我认为我们在 Linux 社区和更广泛的 Copyleft 社区中达成共识,即关于 GPL 的诉讼是不幸但绝对必要和必要的步骤,特别是对于创建和未根据 GPL 发布的组合作品的问题。

让我们转到您今年在 OSCON 上的演讲主题。您实际上是在谈论如何在没有诉讼的情况下解决 GPL 违规行为。项目如何在没有诉讼的情况下解决违规行为?

由于诉讼如此耗时且非常昂贵,像保护组织这样资金不足的慈善机构必须寻求新的方法来解决 GPL 违规行为。在我代表慈善机构和个人开发人员执行 GPL 近 20 年的过程中,我不断寻求,在某些情况下,设计出新颖的方法,在没有在法庭上提交一份文件的情况下,解决陷入僵局的 GPL 违规行为。

(我想我应该为我在 OSCON 2015 上的演讲说“剧透警告”;我现在将告诉大家我的演讲的妙语,因为我知道您的许多读者可能今年不会参加 OSCON。)

在我演讲中讨论的案例中,一家名为 RhodeCode 的公司最初在 GPLv3 下开发了一个项目。后来,RhodeCode 试图在 GPLv3 上添加额外的限制。GPLv3 绝对禁止这种行为,当然,RhodeCode 违反了 GPLv3 的该部分(可能还有其他部分)。

然而,当我与当时新兴的 Kallithea(以及现有的 Mercurial)社区讨论这个问题时,当我们考虑各种选择时,我和开发人员都感到震惊。诉讼可能至少需要两到三年,而 RhodeCode 可能会上诉。这也可能花费数十万美元,仅仅是为了让法院明确声明较新版本的 RhodeCode 软件明确地受 GPLv3 约束。虽然我们确信我们是对的(并且 GPLv3 §7¶4 坦率地说非常清楚其要求),但我们知道 RhodeCode 会对此提出异议。因此,在诉讼期间,采用者会想知道他们是否真的拥有 GPLv3 下的权限。

在社区的帮助下,我们提出了一个在这种情况下效果良好的创新解决方案:我们只是在没有列出此额外限制的情况下,在最后一个 GPLv3 版本中分叉了 RhodeCode,并将整个代码库重新命名为“Kallithea”。我们现在拥有一个充满活力的自由软件社区,在 Copyleft 许可证下运作。

诚然,这项工作虽然比诉讼容易得多,但仍然是相当大的。我们审查了几乎每一次提交,以确保我们可以毫无疑问地确认 Kallithea 中的每一行代码都已获得 GPLv3 许可。如果有人会参加 OSCON,他们应该来听我的演讲,了解所有细节,以了解这样的工作需要什么。(我认为发布工程师尤其会觉得这些材料具有启发意义。)

最近的一项行业调查报告称,现在有 78% 的公司使用开源软件。即使是像微软和苹果这样传统上不友好的公司也在开放一些产品。既然开源已经“获胜”,现在是否应该将重点放在自由软件上,而不仅仅是开源?

您的问题让我想起了 OSI 的一位联合创始人在 2001 年的一次会议小组讨论中大喊:“开源的时代已经结束了。我们应该开始从屋顶上大喊自由!” 我认真对待了他的观点。我们社区活动的唯一社会价值是我们保证用户和开发人员复制、修改、重新分发和共享软件的自由。可悲的是,以我的经验来看,“开源”从来都不是关于那个的。相反,“开源”盗用了软件自由的信息。

像大多数软件自由倡导者一样,我最初认为“开源”或多或少是良性的。如果对问题和术语的这种框架有助于专有软件公司根据自由软件许可证发布更多一点代码,那么我认为尝试社区可以设计的任何策略都是值得的。

然而,我所看到的,尤其是在过去十年中,是公司精心开发了避免与社区共享大部分软件的方法,同时口头上表示支持,偶尔也允许他们的开发人员“向上游工作”。我认为在这种制度下,开发人员的生活肯定比二十年前更好,但“开源”只带来了我们许多人寻求的普遍软件自由的一小部分。

我不认为我们会说服公司关心软件自由;当它符合他们的商业利益时,他们会“开源”,当它不符合他们的商业利益时,他们会保持软件专有。我们拥有的真正优势是开发人员比他们想象的拥有更多的权力。我鼓励开发人员 просто 要求他们不要从事任何专有软件的工作:现在行业有如此多的工作,以至于实际上许多人有可能成功实现这一要求。我早就说过,如果每个软件开发人员明天早上醒来说:“我再也不会编写专有软件了”,我们将在一夜之间赢得软件自由。

托管 Web 服务的兴起改变了我们与软件交互的方式,这导致了 AGPL。您看到未来会出现哪些新变化,可能需要新的范式?

鉴于我直接参与了 Affero GPL(与 Henry Poole 一起)的创建,我个人为 Affero GPL 解决了需求,并且在早期和领先于该曲线的情况下可用而感到自豪。但它的历史给出了一个有趣的例子,说明真正的挑战不是确保 Copyleft 解决技术变革;而是 Copyleft 受到开发人员的兴趣和执行活动。

最终,由于我自己和其他人对 Affero GPL 的倡导有限,随着下一代开发人员在 2000 年代初期成年,他们甚至不知道他们可以使用 Copyleft 许可证。从来没有有组织的教育工作来向下一代开发人员解释为什么 Copyleft 很重要。我对此感到遗憾,这是一个个人错误,但我们所有人都应该为此投入更多工作。

与此同时,在 Copyleft 确实拥有充分的法律手段来捍卫软件自由的理由上,它未能做到这一点,因为如此多的行业参与者反对并试图限制社区 GPL 执行。保护组织正在捍卫 GPL,但需要更多人这样做。从接收 GPL 违规产品的用户的角度来看,未执行的 GPL 在道德上等同于非 Copyleft 许可证。

因此,我没有看到未来会出现一些新的技术范式,需要对 Copyleft 草案进行必要的更改,相反,我们需要更多的人选择 Copyleft 许可证(特别是 AGPL),并在它们被违反时无私地执行它们。公司坚持使用非 Copyleft 许可证并反对 GPL 执行的新范式是当今软件自由的关键威胁。

所有主要的项目托管站点(GitHub、BitBucket 等)现在在其服务中至少具有一定程度的专有组件。纯粹自由的产品如何在这个领域取得成功?

在线应用程序很复杂。此类应用程序通常将服务器端代码与浏览器安装的 Javascript 相结合——所有这些都与某些类型的数据聚合到集中式服务器中。此类应用程序的软件自由含义当然与复制到自己计算机上的软件的含义不同,但现在很清楚的是,像 Facebook、Twitter、GitHub、Atlassian 等公司通过说服人们通过专有的在线应用程序集中控制他们的计算来限制软件自由。

然而,仅仅发布代码作为自由软件并不能解决这个问题——这只是第一步。我现在确信,虽然根据 Affero GPL 许可所有在线应用程序软件是实现软件自由的必要条件,但这本身并不是实现软件自由的充分条件。最近的 Gitorious Apocalypse 最终是试金石:运行 Gitorious 的所有代码都是 AGPL 许可的自由软件,但没有导出合并请求和其他元数据的功能。我真的不得不将合并请求从 Gitorious 剪切并粘贴到 Copyleft.org Kallithea 实例 中以导入数据。

我认为这里的根本问题是缺乏真正分布式的软件系统;我们在这个问题上还没有取得很大的进展。考虑 Git:虽然 VCS 本身是分布式的,但大多数人使用集中式站点来托管规范存储库、处理错误跟踪和拉取请求以及其他此类活动。虽然互联网最初是为真正的去中心化而设计的,每个人都是一等公民,但用户的冷漠让营利性公司能够将中心化强加给我们,以满足他们自己的目的(主要是为了销售广告)。我怀疑只有专注于在 Affero GPL 下实施真正去中心化、联合系统的软件开发志愿者才能解决这个问题。

您在这里指出了两个重要问题:Copyleft 执行和 Copyleft 分布式软件的开发。您认为还有其他对软件自由至关重要且紧迫的问题吗?

我们必须停止忽视自由软件开发人员社区中令人震惊的多样性不足。我承认我是这个问题的新来者,直到 2000 年代中期,当我第一次听到 Marina Zhurakhinskaya 谈论妇女外展计划时,我才了解到我们的社区是多么封闭和(坦率地说)性别歧视、异性恋规范和种族不敏感。作为一名享有特权的中产阶级白人男性,我有义务利用我的特权来消除这种特权。我们需要计划来增加软件自由社区的多样性。我很高兴妇女外展计划寻求扩展,更名为 Outreachy,并加入软件自由保护组织。我在保护组织花费了大量员工时间来帮助 Outreachy 取得成功。

随着 Outreachy 加入我们的成员项目列表,保护组织真正成为一个有良知的软件自由慈善机构。我们承担一些人认为有争议的工作,但我们相信这些工作是推进软件自由的道德和伦理上正确的紧迫问题。

OSCON
演讲者访谈

本文是 OSCON 2015 的 演讲者访谈系列 的一部分。OSCON 是关于开源的一切——全栈,包括您在日常工作中使用的所有语言、工具、框架和最佳实践。OSCON 2015 将于 7 月 20 日至 24 日在俄勒冈州波特兰举行。.

标签
User profile image.
Ben Cotton 是一名受过训练的气象学家,但天气是一个很棒的爱好。Ben 在红帽公司担任 Fedora 项目经理。他是《开源项目项目管理》一书的作者。在 Twitter 上(@FunnelFiasco)或 FunnelFiasco.com 上找到他。

1 条评论

非常好的问题和答案。

谢谢!

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.