伟大的软件分裂
继 Nicholas Petreley 从一个角度讨论了 GNU GPLv3 辩论之后,我想从另一个角度——即所涉及的两个群体的文化——以及这对未来意味着什么来看待这个问题。
在计算机世界中,谈论“自由软件”的人和更喜欢“开源”这个术语的人之间不断的争吵是难以避免的。您只需要看看 Slashdot、Digg、Linux Journal 或 LWN.net 等网站上的讨论主题,就可以看到这两个阵营在重复熟悉的论调。这种永恒的分歧充其量可能是一种令人振奋的娱乐,或者,如果您心情不好,则会因其乏味而令人精疲力竭。但是,这种根本的观点差异实际上并没有对整个自由软件/开源运动构成严重的危险。直到现在。
因为随着最近发布的白皮书 GPLv3 的危险和问题 - 请注意,为了强调其诚意,它被构建得像一篇学术论文,并附有作者的字母顺序列表和开篇摘要 - 背景冲突有可能升级为一场全面的战争。
仅凭这篇论文就够糟糕的了。但事情因发布了一项针对顶级内核程序员的民意调查而变得更加糟糕。在一个从 3(“我不想使用 v2”)到 -3(“我不想使用 v3”)的量表上,询问了 29 位顶级内核黑客他们更喜欢使用哪个版本的 GNU GPL。平均值明确为 -2.0:“我认为 v3 比 v2 差得多。” 但使这项“非正式”民意调查更具破坏性的是,它和白皮书都是由 Linus 本人发起的
发起民意调查和白皮书的原因是,我显然对 GPLv3 感到不太满意
...
它并非旨在真正“权威” - 民意调查实际上旨在了解顶级开发人员的一些看法。我认为最终结果最终比我们可能预期的更具权威性(仅仅是因为非常清晰的投票模式)。
因此,这不仅仅是队伍中的抱怨,而是最高级别的Discontent。
白皮书中概述的一些问题似乎是由于对 GNU GPL v3 试图实现的目标存在误解。为了纠正这些误解,FSF 发布了自己的“澄清”。但即使考虑到这些,仍然存在一个关键问题,双方在观点上存在根本分歧。
这关系到 DRM 的使用——传统上是“数字版权管理”,但在 FSF 的说法中是“数字限制管理”。对于 FSF——以及因此的GNU GPLv3——问题很简单
某些计算机被设计为拒绝用户安装或运行其中软件的修改版本。这与 GPL 的宗旨从根本上不相容,GPL 的宗旨是保护用户更改软件的自由。因此,GPL 确保其涵盖的软件不会受到这种方式的限制。
也就是说,DRM 或类似的东西从根本上与用户的自由相悖,因此不能被容忍。但白皮书的作者们却有不同的看法
虽然我们发现媒体公司使用 DRM 试图深入用户拥有的设备以控制内容的行为令人深感不安,但我们对[白皮书]第 3 节中基本自由的信念禁止我们接受任何包含最终用途限制的许可证。DRM 滥用的存在不能成为限制自由的借口。
他们最担心的基本自由究竟是什么?
免于约束项目最终用途的自由。如果没有这种自由,将更难以满足贡献者的目标,因为这些目标通常以他们希望将特定项目用于最终用途的方式来表达。因此,为了维持基本的开发协同作用以及由此产生的创新流向 Linux,我们不能容忍对 GPL 的任何更改,这会危及这一基本自由。
也就是说,这与其说是用户的自由,不如说是程序员的自由。白皮书解释了为什么其作者认为这如此重要
具有不同(有时甚至是竞争)目标的个人仍然可以为了共同的利益而一起前进相当长的距离。这种努力的协同作用,在不损害不同目标的情况下,是 Linux 能够利用不仅是积极的开发人员,而且还有企业和商业利益的原因之一。
因此,根据这种观点,内核程序员必须拥有项目最终用途不受限制的自由,否则使 Linux 如此成功的“努力协同作用”将会丧失。换句话说,内核黑客论点的核心是一个务实的担忧:GNU GPL v2 更好,因为它将使 Linux 更加成功。对成功的这种强调在白皮书的第一句话中就非常清楚地表明了
在过去的十年中,Linux 操作系统已经证明自己是迄今为止最成功的开源操作系统。
Linus 在他自称的“GPLv2 颂歌”中,用一句意味深长的括号评论强调了务实的观点。他说
您可以以任何您想要的方式使用最终结果(如果您想将其用于“坏事”,请随意),但我们对每个人都提出完全相同的要求 - 将您的修改反馈回来。
那是真正的恩典。意识到琐碎的担忧并不重要,无论是金钱还是 DRM,还是专利,还是其他任何东西。
这就是自由软件世界和开源世界之间差异的核心。对于后者,GPLv2 是一种高效的许可证,因为它作为一种让最多的人一起编写出色代码的方式非常有效,无论他们自己的特定兴趣或议程是什么——这就是“真正的恩典”。但对于自由软件阵营来说,将其用于“坏事”绝不是“真正的恩典”——恰恰相反;对于 RMS 和他的追随者来说,像 DRM 或专利这样的“琐碎担忧”确实很重要——事实上,它们比一个项目是否成功更重要。它们之所以重要,是因为它们否定了 GNU GPL 的整个要点,正如许可证一开始就声明的那样
GNU 通用公共许可证旨在保证您共享和更改自由软件的自由——以确保该软件对其所有用户都是自由的。
或者,正如 RMS 在 1999 年我采访他时所说
总体目的是通过向用户提供他们可以使用的自由软件来赋予用户自由,并将您可以使用完全自由软件做的事情的边界尽可能地扩展。因为 GNU 的想法是让人们有可能用他们的计算机做事,而无需接受其他人的支配。不让某些软件的所有者说,我不让你了解这是如何工作的,我要让你无助地依赖我,如果你与你的朋友分享,我会称你为海盗并将你关进监狱。我认为那是不道德的,我正在努力结束那种生活方式。
在这个纯粹的世界观中,没有妥协的余地。正如 RMS 在 1999 年强调的那样
我们拥有完全自由的操作系统的唯一原因是,这场运动说我们想要一个完全自由的操作系统,而不仅仅是 90% 自由。
迄今为止,开源世界中的人们已经能够让 RMS 过着他不妥协的生活,因为他的系统运行得非常好,而且因为他们是实用主义者:他们并不真正在意 GNU GPL 中隐含的政治,只要它不妨碍他们。但是对于 GPLv3,它确实妨碍了,白皮书和民意调查的发布似乎标志着近十年来存在于双方之间的休战结束。
白皮书以恳求结束
我们恳求 FSF 重新审视其行为的后果,并在为时过晚之前放弃当前的 GPLv3 流程。
但正如其作者肯定知道的那样,GPLv3 没有希望被放弃——在 RMS 和 FSF 总法律顾问 Eben Moglen 就此主题交换了大约 16,000 封电子邮件之后。也许会稍作修改,但不会在实质上修改,例如削弱旨在针对 DRM 方案的条款:对于纯粹主义者来说,他们基本信念的稀释是不可能的——没有“90%”的解决方案。不幸的是,实用主义者似乎也通过他们对 DRM 条款的明确拒绝而将自己逼入了死角。
这种情况没有明显的出路。内核程序员可能会继续坚持使用 GNU GPLv2,其他专注于编程效率和成功的人也会如此;与此同时,GNU 项目和那些同意其不屈不挠的道德观点的程序员将采用 GPLv3。结果,一些代码将被分叉,采用双重 GPLv2 和 GPLv3 许可,并且代码世界将出现越来越多的混乱。
伟大的软件分裂将由此开始。
Glyn Moody 在 opendotdotdot 上撰写关于自由软件和开源的文章。