X Window 系统的陷阱

Copyright © 1998, 1999, 2009 理查德·斯托曼(Richard Stallman)。本文最初于 1998 年发表在 http://gnu.org

左版(Copyleft),还是不要左版?这是自由软件社区中的主要分歧之一。左版的理念之一是我们可以以火灭火——即我们应当利用版权以保证我们的代码持续自由。GNU 通用公共许可证(GNU GPL)就是一个左版许可证的例子。

一些自由软件开发者更倾向于使用非左版进行分发。诸如 XFree86 和 BSD 这样的非左版许可证基于这样的理念,即永远不对任何人说不——即使是对那些企图用您的工作作为限制他人基础的人。非左版许可证并没有做错事,但它错失了对我们更改和再分发软件的自由提供主动保护的机会。基于此原因,我们需要左版。

多年以来,X 联盟一直是反对左版的主要力量。它通过施加道德劝说和压力来阻止自由软件开发者对其程序采用左版许可证。它通过暗示说“不”是不友善的来施加道德劝说。它利用它的“左版软件不能出现在 X 发行版中”的规则来施加压力。

X 联盟为何采取这种政策?这必然和他们关于成功的概念有关。X 联盟将成功定义为流行——这特指的是使得计算机公司采用 X Window 系统。这一定义将计算机公司置于主导地位:不论它们想要什么,X 联盟都必须设法帮助它们获得。

计算机公司通常发布私有软件。它们要求自由软件开发者捐献他们的工作用于此用途。如果他们直接如此要求,人们会呵呵大笑。但是 X 联盟在面对它们的时候可以将这种要求看做是无私的。“加入我们,将我们的工作捐赠给私有软件开发者。”他们如是说,暗示这是一种高贵的自我牺牲。“加入我们,以获取流行度。”他们如是说,暗示这甚至不是一种牺牲。

但是,自我牺牲还不是问题之所在:扔掉左版对于整个社区自由的保护,所牺牲掉的远不止您自己。那些顺应了 X 联盟要求的人们将整个社区的未来托付给了 X 联盟的一厢良愿。

这种信任是错位的。在它的最后一年,X 联盟计划限制即将发布的 X11R6.4 版本使其不再是自由软件。他们终于决定开始说不,但不仅仅是对私有软件开发者,更是对我们的社区。

这里有个讽刺。如果当 X 联盟要求您不要使用左版许可证的时候,您说“是”,您便将 X 联盟置于这样一种境地,它可以将您的程序许可并限制为它自己的版本,对于 X 的核心部分的代码也是如此。

X 联盟最终没有采取这种计划。与之相反,它解散了,并且将 X 的开发权移交给了开放小组(Open Group),后者的员工正在实施一种类似的计划。值得称道的是,当我要求他们以 GNU GPL 发布 X11R6.4 并且与他们所计划的限制性许可证共存的时候,他们表示愿意考虑这种想法(他们坚决反对墨守旧的 X11 发布条款)。但是他们还未来得及肯定或是否定这一提议,它已经由于其他原因失败了:XFree86 小组继承了 X 联盟的旧政策,并且拒绝接受任何左版软件。

就在 1998 年九月,即 X11R6.4 以非自由分发条款发布数月之后,开放小组逆转了他们的决定,并且将其改为和 X11R6.3 相同的非左版自由软件许可证重新发布。至此,开放小组终于做了一件正确的事,但远未解决其基本问题。

但是,即使 X 联盟或是开放小组本意上从未打算限制 X,其他人可能已经这么做了。非左版软件在任何方向都是脆弱的;它使得任何制造非自由软件的人处于统治地位,如果此人投入足够多的资源,利用私有代码向其中添加重要功能。任何基于技术特性而非自由选择软件的人们很容易出于短期的易用性考虑而被引诱使用非自由版本。

X 联盟和开放小组再也不能通过宣称“说‘不’是不友善的”来施加道德劝说,这将会使得它更容易决定以左版发布与 X 相关的软件。

如果您贡献于 X 核心或是诸如 X server、Xlib、Xt 等程序,确实有一种不使用左版的实践上的原因。由于 X.org 小组在为整个社区维护这些程序的过程中已经做了重大贡献,使用左版发布我们的更改所带来的好处少于分叉(fork)整体开发所带来的负面影响。于是最好与他们协同工作并且不用左版发布我们对这些程序的修改。与之相似的还有诸如 xset 和 xrdb 等工具,它们与 X 核心很接近并且不需要大规模改进。至少我们知道 X.org 小组对于将这些程序作为自由软件发布有着坚定的承诺。

然而,X 核心外围程序的问题与此不同:诸如应用程序、窗口管理器、附加的库和部件工具箱。没有理由不为其使用左版许可证,我们应当为其使用左版许可证。

如果任何人感受到了由 X 发行版的软件包含准则所施加的压力,GNU 计划将会承担宣传能够与 X 协同工作的左版软件包的责任。如果您想要以左版许可证发布什么东西,但又担心从 X 发行版中将其排除将会影响它的流行度,请向我们寻求帮助。

与此同时,如果我们不再那么看重流行度,事情会变得更好。当一位商务人士以“更高的流行度”来引诱您的时候,此人可能是在试图使您相信他对您的程序的使用对于它的成功至关重要。不要相信这种鬼话!如果您的程序确实出类拔萃,它总能得到众多用户;您无需为失去任何特别的用户感到绝望,并且如果您不为所动,您将会更加强大。如果您能够回复“爱用不用——我才不会在乎所谓的流行度”。通常,那位商务人士将会改变主意并且接受该程序作为左版程序,只要您动了真格。

朋友们,自由软件开发者们,不要再重复过去的错误!如果我们不以左版发布我们的软件,我们就会将它的未来置于任凭那些拥有的资源多于良知的人们摆布的境地。只要有左版,我们就能捍卫自由,不仅为我们自己,更是为了我们的整个社区。