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

使用非自由软件会是件好事吗?

现在问题是,使用非自由软件会是件好事吗?结论是它一般都是坏事,不仅对你有害,有时也会对他人有害。

如果你在电脑上运行非自由软件,它就不会给你自由。其产生的错误就全算在你的头上 [1]

是说你,运行非自由软件,你就成了个“恶棍”或者是个“罪人”。当损害主要对你自己时,我们希望你能为了自己的利益,停下来。

有时,你可能被迫需要运行非自由软件。我们不是要让你全力克服这种压力(虽然这么做确实激励人心),而是希望你可以 找到能拒绝使用非自由软件的机会,无论多小

如果你向别人推荐或者怂恿他们运行非自由软件,你就是在让他们放弃自己的自由。当软件使用封闭协议进行通信,例如 Skype,你会迫使别人也使用它。所以,避免使用此类软件特别重要。

但有个使用非自由软件甚至让别人使用的特殊情况,那种情况下也可能是件好事。那就是,使用该非自由软件的直接目的是要终止使用该软件 [2]

过去

1983年,我决定开发 GNU 操作系统。它是一个 Unix 的自由替代品。开发最快的捷径是一个接一个的在 Unix 编写并测试组件。但,将 Unix 用以这样的用途是否合理呢?既然 Unix 是专有软件,那要求别人这样使用是否合理?

我得出的结论是,建议其他开发者使用 Unix 来停止使用 Unix 对于我来说是合理的。我把它看作是做点小坏事,比如参与犯罪团伙或者虚伪的政治运动,目的是揭露并终止犯罪。虽然参与犯罪本身不对,但是以此来摧毁整个犯罪也算可以接受,这和简单使用 UNIX 类似。这个推理不适用于犯罪头目,不过我只是和使用 UNIX 做比较,而不是参与 UNIX 的开发团队。

Unix 的最后一个基础部件被 Linux(由 Linus Torvalds 在 1991 年编写的内核)取代,替换 Unix 的任务完成了。我们还在为 GNU/Linux 系统编写软件,但那再也不需要 Unix 了。那个使用 Unix 的理由不再成立了。所以,当你再因为这样的原因使用非自由软件时,请时不时地考虑一下是否还有这种需要。

现今

但是,还有一些非自由软件要替换,类似问题经常出现。为了开发自由替代而在外设上运行专有驱动可以吗?(更准确地说,建议你这么做符合我们的道德吗?)可以,完全可以。我们在网站上运行 非自由 JavaScript 以便对网管提出要求,让网管使用自由的 JS 代码或者提供无需 JS 的网站可以吗?当然可以——除那以外,你应该使用 LibreJS 阻止非自由的代码。

但这种变通不能过分扩展。开发非自由软件(甚至带有恶意功能)的人经常使用一个借口,那就是,他们赞助了一些自由软件的开发。但是,本质上错误商业活动不会因为它在有意义的事情上花了点钱就变得合理。比如,盖茨基金会的某些(不是所有)活动值得肯定,但这不能作为为比尔·盖茨或微软辩护的理由。如果商业活动直接针对的是让它变得合理的有意义的事,那么它就是在搬起石头砸自己的脚。

一般来说,用非自由软件开发自由软件的情况也最好避免,并且不该向别人建议这样做。例如,我们不该要求人们运行 Windows 或者 MacOS 来开发运行在这些平台上的自由软件。作为 Emacs 和 GCC 的开发者,我接受了为适配非自由系统(比如:VMS、Windows 和 MacOS)的变更。我没有理由拒绝这些代码,即使人们是在非自由系统上编写的。他们并不是应我的要求或者建议而去使用这些不公正的系统的。他们在给 GNU 提交变更时,就已经在使用非自由系统了。他们也为这些系统的发行版制作了软件包。

“为开发它们的替代品”的例外也有限制,必须是对自由软件的发展非常关键的。但是,我们必须避免其扩大化,以免其成为使用非自由软件牟利的全能借口。

脚注

  1. 使用非自由软件有时会有些间接的不良影响。例如:鼓励使用者并让该软件被更多地使用。这是避免使用非自由软件的另一个原因。

    很多专有软件都有基本没人去看的《最终用户许可协议》。遵循这种协议,在大多数情况下都会让人承诺不道德的行为,就像是个坏邻居。它声称:你已承诺不会将副本分发给别人,甚至不会借给别人。

    履行这种约定比破坏它还要错误。不管他们提出多少法律观点,开发人员也无法宣称他们的技俩会让用户的不友善行为具有道德基础。

    不过,我们认为真正的道德途径是拒绝此类协议。

  2. 有些时候,在设备上使用或者升级非自由系统是必要的,目的是安装自由系统以替换之。虽然问题不完全相同,但是道理一致:为移除非自由软件而暂时运行非自由软件是合理的。