Ladder to free software - 1 — Mo 16 Juni 2025

什么是自由软件(free software)?

你好,世界!

自从世界上第一台通用计算机 ENIAC 诞生以来,计算机软件就开始影响着人类社会的方方面面。今天,个人电脑和智能手机的普及让我们越来越依赖于软件,比如我们的通话、购物、交通和付费等都可能需要使用软件来完成。

自由意味着对自己生活的控制,而如果我们生活的许多重要方面依赖于软件的话,我们对自己生活的控制就依赖于我们对所用软件的控制。正如我们如果依赖自行车出行的话,我们就会要有对自己的自行车的控制,比如我们有自行车的钥匙,我们会给自行车打气;如果自行车坏了,我们可以自己用工具修理,也可以付费让别人来修理;如果朋友想使用我们的自行车,我们也可以借给朋友使用。这些都很自然,因为我们对自己的自行车有完全的控制。

我们所使用的软件则略有不同。你真的对你的软件有完全的控制吗?

或许你免费得到了某个软件,比如是一款游戏,你可能觉得自己在操控游戏中所有的活动。如果你觉得你在玩游戏时和朋友进行了私密的通话,那么有可能你的通话已经被游戏的 服务器保存并上传。如果你想要弄清楚游戏场景的布局并做些修改,你可以做到吗?如果没有源代码,那么这是很困难的。

这只是一个小小的游戏例子,我们通话、购物、交通和付费时使用的软件,我们也没有控制。你有吗?

如果我们对我们生活中重要事情所使用的软件没有控制,那么我们就失去了对自己生活的控制。怎么办?

有一种软件可以让作为软件用户的我们获得控制。它就是自由软件——其英语为 free software,其中的 free 不是免费而是自由的意思,就象言论自由(free speech)。我们对自由软件有控制,因为其软件许可证赋予用户以下 四项基本自由

自由之零:用户有自由按照自己的意愿运行软件。

自由之一:用户有自由学习和修改软件,让它按照自己的意愿完成计算。

自由之二:用户有自由分发软件,帮助别人。

自由之三:用户有自由分发修改后的软件,让整个社区受益。

四项自由的解释

自由之零看似简单。实际上,它赋予用户自由运行软件的权利,包括运行的平台和运行的目的。反之,许多非自由软件明确规定必须运行在特定的环境之下,还有许多非自由软件禁止用户进行调试运行和反编译。

自由之一隐含了重要的源代码可得性。如果我们要学习和修改软件,那么只有软件的可执行形式是基本不可能做到的,我们需要能够获得软件的源代码——即人类可读、可理解的代码形式。大多数非自由软件只会给用户提供软件的可执行形式——只有计算机可读,而人类因很难读懂而无法了解其计算。

自由之二赋予用户分享软件的权利。正如我们可以将自己的自行车借给朋友,我们也可以把自由软件分享给别人;分享可以收费,也可以免费。而大多数非自由软件的分发需要特别的许可,该许可往往收费不菲;如果未经许可分发,可能面临起诉。

自由之四赋予用户可以在社区分发修改版软件的权利。这就让大家可以互相帮助,共同推动软件的进步。正如我们可以让别人修理和改进自己的自行车,并把改进的方式分享在社区一样。而非自由软件往往不允许用户自行修改和发布——用户没有源代码,无法修改;用户也没有许可,不能分发。

你可以做主

总之,有了自由软件,你就可以控制自己的计算,进而控制自己的生活——你捍卫了自己的自由。而使用非自由软件,你受制于软件的主人(软件的开发者和发行者),毫无办法。所以,如果你想摆脱别人对你生活的控制,那么你要从现在开始就使用自由软件。

下一节我们会从最常见的使用自由软件的动机开始,找到你使用自由软件的理由,让你爬上自由软件的阶梯,获得自由的快乐并帮助别人获得快乐。

如果你希望自己能够开始使用自由软件,并掌握自己的生活,那么 立伯乐 或许可以帮你。

让自由软件带你进入的美好自由世界!