自由软件现在更加重要

自 1983 年以来,自由软件运动一直致力于为计算机用户的自由而奋斗,即用户控制他们使用的软件,而不是反之。当一个程序尊重用户的自由和社区时,我们称之为“自由软件”。

我们有时也称之为“libre 软件”,以强调我们谈论的是自由,而不是价格。一些专有(非自由)程序,如 Photoshop,非常昂贵;另一些,如 Uber 应用程序,是免费提供的,但这只是一个小细节。无论哪种方式,它们都赋予程序的开发者控制用户的权力,这种权力任何人都不应该拥有。

这两个非自由程序还有另一个共同点:它们都是恶意软件。也就是说,两者都具有旨在虐待用户的功能。如今,专有软件通常是恶意软件,因为开发者的权力会腐蚀他们。该目录列出了大约 600 种不同的恶意功能(截至 2023 年 4 月),但这肯定只是冰山一角。

有了自由软件,用户就可以单独和集体地控制程序。因此,他们可以控制他们的计算机所做的事情(假设这些计算机是忠诚的,并且按照用户程序的指示行事)。

有了专有软件,程序控制用户,而其他实体(开发者或“所有者”)控制程序。因此,专有程序赋予其开发者控制其用户的权力。这本身是不公正的;此外,它会诱使开发者以其他方式虐待用户。

即使专有软件不是彻头彻尾的恶意软件,其开发者也有动机使其令人上瘾、控制性和具有操纵性。你可以像这篇文章的作者那样说,开发者有道德义务不这样做,但通常他们会遵循自己的利益。如果你不希望发生这种情况,请确保程序由其用户控制。

自由意味着控制自己的生活。如果你使用程序来执行生活中的活动,你的自由取决于你是否控制该程序。你理应控制你使用的程序,尤其是在你将其用于生活中重要的事情时。

用户对程序的控制需要四个基本自由

(0) 按照你希望的方式运行程序的自由,无论出于什么目的。

(1) 研究程序“源代码”并对其进行更改的自由,以便程序按照你的意愿进行计算。程序由程序员用编程语言编写,类似于英语和代数的组合,程序的这种形式就是“源代码”。任何了解编程并拥有源代码形式的程序的人都可以读取源代码,了解其功能,并对其进行更改。当你得到的只是可执行形式时,即一系列计算机可以高效运行但人类极难理解的数字,那么理解和更改该形式的程序就非常困难了。

(2) 在你希望时制作和分发精确副本的自由。(这不是义务;这样做是你的选择。如果程序是自由的,这并不意味着某人有义务向你提供副本,或者你有义务向他提供副本。向用户分发没有自由的程序会虐待他们;但是,选择不分发程序——私下使用——不会虐待任何人。)

(3) 在你希望时制作和分发修改版本的副本的自由。

前两个自由意味着每个用户都可以对程序行使个人控制权。有了另外两个自由,任何用户群体都可以一起行使对程序的集体控制。有了所有四个自由,用户就可以完全控制该程序。如果其中任何一个缺失或不足,该程序就是专有的(非自由的),并且是不公正的。

其他类型的工作也用于实际活动,包括烹饪食谱、教科书等教育作品、词典和百科全书等参考书、用于显示文本段落的字体、供人们构建的硬件电路图,以及用于使用 3D 打印机制作有用(而不仅仅是装饰性)物体的图案。由于这些不是软件,严格来说,自由软件运动并不涵盖它们;但是,同样的推理也适用,并得出相同的结论:这些作品应该带有这四种自由。

一个自由程序允许你对它进行修改,使其执行你想要的操作(或停止执行你不喜欢的操作)。如果你习惯于将专有软件视为一个封闭的盒子,那么修改软件可能听起来很荒谬,但在自由世界中,这是一种常见的做法,也是学习编程的好方法。即使是美国传统的汽车修补活动也受到了阻碍,因为汽车现在包含非自由软件。

专有制的不公正性

如果用户不控制程序,程序就会控制用户。有了专有软件,总会有一些实体,即程序的开发者或“所有者”,控制程序,并通过它对用户行使权力。非自由程序是一种枷锁,是一种不公正的权力工具。

在令人发指的情况下(尽管这种令人发指的情况已经变得非常普遍),专有程序被设计为监视用户、限制用户、审查用户和虐待用户。例如,苹果iThings的操作系统会执行所有这些操作,带有 ARM 芯片的移动设备上的 Windows 也是如此。Windows、手机固件和用于 Windows 的 Google Chrome 包含一个通用后门,允许某些公司远程更改程序而无需征求许可。亚马逊 Kindle 有一个可以擦除书籍的后门。

在“物联网”中使用非自由软件会将其变成“电话推销员的互联网”以及“窥探者的互联网”。

为了结束非自由软件的不公正性,自由软件运动开发了自由程序,以便用户可以解放自己。我们从 1984 年开始开发自由操作系统GNU。今天,数百万台计算机运行 GNU,主要以GNU/Linux 组合的形式运行。

向用户分发没有自由的程序会虐待这些用户;但是,选择不分发程序不会虐待任何人。如果你编写一个程序并私下使用它,这对其他人没有任何损害。(你确实错过了一个做好事的机会,但这与做坏事不同。)因此,当我们说所有软件都必须是自由的时,我们的意思是每个副本都必须带有这四种自由,但我们并不意味着某人有义务向你提供副本。

非自由软件和 SaaSS

非自由软件是公司控制人们计算的第一种方式。如今,还有另一种方式,称为“软件替代服务”(Service as a Software Substitute),或 SaaSS。这意味着让别人的服务器完成你自己的计算任务。

SaaSS 并不意味着服务器上的程序是非自由的(尽管它们通常是非自由的)。相反,使用 SaaSS 会导致与使用非自由程序相同的不公正:它们是通往同一个坏地方的两条路径。以 SaaSS 翻译服务为例:用户将文本发送到服务器,服务器将其翻译(例如,从英语翻译成西班牙语)并将翻译结果发送回用户。现在,翻译工作受服务器运营商的控制,而不是用户的控制。

如果你使用 SaaSS,服务器运营商会控制你的计算。它需要将所有相关数据委托给服务器运营商,服务器运营商将被迫将数据展示给国家——毕竟,这个服务器真正为谁服务?

主要和次要不公正

当你使用专有程序或 SaaSS 时,首先你对自己做错了,因为它赋予某些实体对你的不公正权力。为了你自己的利益,你应该逃脱。如果你承诺不分享,也会对他人造成伤害。遵守这样的承诺是邪恶的,打破它是较小的邪恶;要真正正直,你根本不应该做出这样的承诺。

在某些情况下,使用非自由软件会直接给其他人带来同样的压力。Skype 是一个明显的例子:当一个人使用非自由的 Skype 客户端软件时,它会要求另一个人也使用该软件,从而两者都放弃了他们的自由。(Google Hangouts 也存在同样的问题。)即使是建议使用此类程序也是错误的。我们应该拒绝使用它们,即使是短暂使用,即使是在别人的计算机上。

使用非自由程序和 SaaSS 的另一个危害是,它会奖励肇事者,鼓励进一步开发该程序或“服务”,进而导致更多人落入公司的掌控之下。

当用户是公共实体或学校时,所有形式的间接损害都会加剧。

自由软件和国家

公共机构的存在是为了人民,而不是为了他们自己。当他们进行计算时,他们是为人民而做的。他们有责任保持对该计算的完全控制,以便他们可以确保为人民妥善完成。(这构成了国家的计算主权。)他们绝不能允许国家计算的控制权落入私人手中。

为了保持对人民计算的控制权,公共机构绝不能使用专有软件(由国家以外的实体控制的软件)进行计算。并且他们绝不能将其委托给由国家以外的实体编程和运行的服务,因为这将是 SaaSS。

专有软件在一个关键情况下完全没有安全性——即面对其开发者时。而且开发者可能会帮助他人进行攻击。 微软在修复 Windows 漏洞之前就将其展示给美国国家安全局(美国政府的数字间谍机构)。我们不知道苹果是否也这样做,但它承受着与微软相同的政府压力。如果其他任何国家的政府使用此类软件,就会危及国家安全。您希望美国国家安全局入侵您政府的计算机吗?请参阅我们为政府提出的推广自由软件的政策建议

自由软件与教育

学校(包括所有教育活动)通过其教授的内容影响社会的未来。它们应该只教授自由软件,以便利用其影响力造福社会。教授专有程序就是在植入依赖性,这与教育的使命背道而驰。通过自由软件的使用培训,学校将引导社会走向自由的未来,并帮助有才华的程序员掌握这门技艺。

他们还将教导学生合作、帮助他人的习惯。每个班级都应该有这样的规则:“同学们,这个班级是我们分享知识的地方。如果你带软件来上课,你不能自己保留。相反,你必须与班里的其他人分享副本——包括程序的源代码,以防其他人想学习。因此,除逆向工程外,不允许带专有软件来上课。”

专有软件的开发者会让我们惩罚那些心地善良、愿意分享软件的学生,并阻碍那些好奇、想要修改软件的学生。这意味着不良的教育。请参阅更多关于在学校中使用自由软件的讨论。

自由软件:不仅仅是“优势”

我经常被要求描述自由软件的“优势”。但当涉及到自由时,“优势”这个词太弱了。没有自由的生活是压迫,这不仅适用于计算,也适用于我们生活中的其他所有活动。我们必须拒绝让程序或计算服务的开发者控制我们进行的计算。这是为了自身利益而应该做的事情,但不仅仅是为了自身利益。

自由包括与他人合作的自由。剥夺人们这种自由意味着让他们分裂,这是一项压迫他们的计划的开始。在自由软件社区中,我们非常清楚合作自由的重要性,因为我们的工作由有组织的合作组成。如果你的朋友来拜访你,看到你使用一个程序,她可能会要求一个副本。阻止你重新分发程序,或者说你“不应该”这样做,是不合群的行为。

在计算中,合作包括向其他用户重新分发程序的精确副本。它还包括向他们分发你修改后的版本。自由软件鼓励这些形式的合作,而专有软件则禁止它们。它禁止重新分发副本,并且由于拒绝用户访问源代码,它阻止他们进行修改。软件即服务 (SaaS) 具有相同的效果:如果你的计算是在别人的服务器上,通过别人的程序副本在网上完成的,你就看不到或接触不到进行计算的软件,因此你无法重新分发或修改它。

结论

我们应该控制自己的计算。我们如何才能赢得这种控制权?

自 1984 年以来,我们和数千名用户一直在这样做,这就是我们现在拥有任何人都可使用(无论是否是程序员)的自由 GNU/Linux 操作系统的方式。作为程序员或活动家加入我们的事业。让我们让所有计算机用户都获得自由。