这是针对英文原版页面的中文翻译。

X Window 系统的陷阱

要 Copyleft 还是不要 Copyleft?这是自由软件社区的主要争议之一。Copyleft 的理念是我们应该以毒攻毒——我们应该使用版权(Copyright)来确保我们的代码是自由的。GNU 通用公共许可证(GNU GPL)就是 Copyleft 许可证的一个例子。

一些自由软件开发者更倾向于使用非 Copyleft 的发行方式。XFree86 和 BSD 等非 Copyleft 许可证的基本理念是永远不要对任何人“说不”——甚至对那些试图以你的工作为基础限制他人的人也是如此。非 Copyleft 许可证并没有错,但它错过了积极保护我们修改和重新分发软件之自由的机会。为此,我们需要 Copyleft。

多年来,X 协会一直是 Copyleft 的主要对手。它将道德劝说和施压并举以阻止自由软件开发者为他们的软件采用 Copyleft。它的道德劝说暗示“说不”是不好的。它施加的压力源于使用 Copyleft 的软件不得包含在 X 发布版中这一规则。

X 协会为什么采取这样的政策?这需要从他们对成功的观念谈起。X 协会将成功定义为受欢迎的程度——具体来说,就是让电脑公司使用 X Window 系统。这种定义让电脑公司处于统治的地位上:无论他们想要什么,X 协会都必须帮助他们达成目标。

电脑公司通常发布专有软件。他们希望自由软件开发者把他们的成果捐献作为这样的用途。如果他们直接这样做,人们只会嘲笑他们。但是作为他们的代表,X 协会可以将这样的请求视为一种无私的要求。“让我们一起把我们的成果捐给专有软件的开发者吧,”他们如是说,并暗示这是一种高尚的自我牺牲形式。“加入我们赢得人气吧,”他们说,甚至不认为这是一种牺牲。

但是自我牺牲不是问题所在:放弃 Copyleft 为整个社区的自由提供的保护,牺牲的可不止是你一个人。那些同意 X 协会的请求的人将社区的未来托付给了 X 协会的商誉。

这种信任是错误的。在 1997 年,X 协会制定了一项计划来限制即将发布的 X11R6.4 版本,使其不再是自由软件。他们决定开始说不,不只是对专有软件开发者,对我们的社区也是如此。

这实在是种讽刺。当 X 协会要求你不要使用 Copyleft 时,如果你同意,那么你就让 X 协会有权将你的程序和 X 核心代码一并处理,它就可以用自己的版本许可,以及限制你的程序。

X 协会没有执行这项计划。相反,它关闭了 X 开发项目并将其移交给开放团队,那些工作人员现在正在执行一项类似的计划。值得称赞的是,当我要求他们在其计划中的限制性许可证下发布 X11R6.4 的同时也在 GNU GPL 许可证下发布时,他们愿意考虑这个想法。(他们坚决反对保留旧的 x11 发布条款。)在他们对这个提议表示接受与否之前,由于另一个原因他们已经失败了:XFree86 团队遵循 X 协会的旧政策,他们不会接受使用 Copyleft 的软件。

在 1998 年 9 月,X11R6.4 以非自由发行条款发布数月之后,开放团队撤销了它的决定,并在 X11R6.3 曾使用过的相同的非 Copyleft 自由软件许可证下重新发布它。因此,开放团队最终做了正确的事情,但这并未改变一般性的问题。

即使 X 协会和开放团队从未计划限制 X,其他人也可以做到这一点。不使用 Copyleft 的软件容易受到来自各个方面的攻击;如果任何人愿意投入足够的资源为所使用专有代码添加重要的功能,那么他就可以让非自由版本占据主导地位。根据技术特征而不是自由选择软件的用户很容易被吸引到非自由版本以获得短期的便利。

X 协会和开放团队再也不能通过表明“说不是不好的”来进行道德劝说了。这让你更容易决定为你的 X 相关代码使用 Copyleft。

当你基于 X 核心,例如 X 服务器、Xlib 和 Xt 程序工作时,有一个不使用 Copyleft 的实际原因。X.org 团队在维护这些程序方面为社区做了重要工作,而将我们的修改 Copyleft 化带来的好处要少于独立分支开发带来的坏处。所以最好是和他们一起合作,而非将我们在这些程序上的修改 Copyleft 化。同样,对于 xsetxrdb 这样的接近 X 核心而又不需要进行重大改进的实用工具,我们也应持有相同的态度。至少我们知道 X.org 团队坚定承诺将这些程序作为自由软件来开发。

对于 X 核心之外的程序,问题则有所不同:应用程序、窗口管理器、附加库和小部件。没有理由不对它们使用 Copyleft,我们也应该对它们使用 Copyleft。

若有人因 X 发行版所包含的标准感到被施加了压力,GNU 工程将承担发布与 X 一同工作的 Copyleft 软件包的责任。如果你想要为某些东西使用 Copyleft,而又担心它被从 X 发布版中遗漏从而影响其人气,请向我们寻求帮助。

与此同时,我们最好不要觉得自己太过需要受欢迎。当一个商人以“更受欢迎”来引诱你时,他可能在试图说服你他对程序的使用对你的程序而言至关重要。不要相信他!如果你的程序很好,它自然会吸引很多用户;你不需要对任何特定的用户感到绝望,如果你不这样做,你将变得更强大。你可以回答“要不要随你——这对我而言不算什么”,通过这种方式来获得一种难以形容的快乐和自由。如果你这样动真格的,商人通常会转而接受使用 Copyleft 的程序。

朋友们、自由软件开发者们,不要重蹈覆辙!如果我们不对我们的软件使用 Copyleft,我们就是将其未来放在任何拥有更多资源而非顾虑的人手上。使用 Copyleft,我们可以捍卫自由,不仅仅是为了我们自己,更是为了整个社区。