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

20年后的自由软件社区:

取得了巨大但不完整的成功,现在该怎么办?

那是1984年1月5日,20年前的今天,我辞去了在麻省理工学院的工作转而开始开发一个自由软件操作系统 GNU。虽然我们从未发布过一个完整的适合生产使用的 GNU 系统,但是 GNU 系统的一个变体现在已经被数以千万计的人使用,而他们中的大多数人并不知道它是这样的。自由软件并不意味着“免费”;它表示用户可以自由地运行程序、学习源代码、修改它并重新发布它,无论有无修改,无论免费还是收费。

我希望一个自由的操作系统能够开辟一条永远摆脱非自由软件奴役体系的道路。我曾经历过非自由软件强加给其使用者的丑陋生活方式,我决定逃离,并给其他人一个逃离的方法。

非自由软件带有一种禁止合作和社区的反社会体系。你通常无法看到源代码;你不能说出它可能包含哪些讨厌的伎俩或愚蠢的错误。即使你不喜欢它,你也无法改变它。最糟糕的是,你被禁止向任何人分享它。禁止分享软件就是切断社会的纽带。

如今我们有了一个运行 GNU、Linux 和其他自由软件的大型用户社区。数以千计的人们想要扩大这个圈子,并且已经接受了说服更多的计算机用户 “使用自由软件” 的目标。但是 “使用自由软件” 意味着什么呢?这是意味着摆脱专有软件,还是仅仅在其一旁安装自由软件?我们的目标是引领人们走向自由,还是只给他们介绍我们的代码?换言之,我们是在为了自由而努力,还是已经把这个目标替换成了“变得流行”这一浅薄的目标?

人们很容易养成忽视这种区别的习惯,因为在许多常见的情况下,这没有区别。当你试图说服一个人尝试一款自由软件,或安装 GNU/Linux 操作系统时,任何一个目标都会导致相同的实际行动。然而,在其他情况下,这两个目标会激发截然不同的行动。

例如,当非自由的 Invidious 视频驱动程序、非自由的 Prophecy 数据库或非自由的印尼语解释器和库在某一版本的 GNU/Linux 上发布时,我们应该说什么?我们是应该感谢开发者对我们系统的 “支持”,还是应该把这个非自由程序视为和其他任何非自由程序一样——是一个有吸引力的麻烦、一个接受束缚的诱惑、一个需要解决的问题?

如果你把某些自由软件的日益流行作为你的目标,如果你试图说服更多的人不时使用一些自由程序,你可能会认为那些非自由程序有助于实现该目标。这样的说法很难反驳:它们的可用性有助于使 GNU/Linux 更受欢迎。如果广泛使用 GNU 或 Linux 是我们社区的最终目标,那么从逻辑上讲,我们应该为所有在其上运行的应用程序喝彩,不管它们是否是自由的。

但如果我们的目标是自由,那一切都变了。用户在使用非自由程序时不能得到自由。为了解放网络空间的民众,我们必须替换掉那些非自由的程序,而不是接受它们。它们对我们的社区没有贡献,它们是使人停留在持续不自由之中的诱惑。

开发自由程序有两个常见的动机。其一是没有程序来完成这项工作。不幸的是,接受使用非自由程序会消除这种动机。另一个是自由的意愿,它促使人们为非自由程序编写自由的替代品。在这种情况下,这种动机是唯一能促成这项工作的。在自由软件能与其非自由模板在技术上可以抗衡之前,仅仅是使用这个新的未完成的自由替代品,你就可以帮助鼓励那些自由开发者坚持下去,直到它变得更好。

那些非自由软件并非无足轻重。为它们开发自由的替代品是一项艰巨的工作;这可能需要花费数年时间。这项工作可能需要未来的黑客们、当今的年轻人、还有那些尚未受到启发加入到自由软件工作的人的帮助。我们如今能做些什么来帮助说服其他人在未来保持必要的决心和毅力完成这项工作呢?

在未来,加强我们社区的最有效方法是传播对自由价值的理解——让更多的人认识到非自由软件在道德上的不可接受性。从长远看,珍视自由的人是自由最好且必要的防御。