summaryrefslogtreecommitdiff
path: root/docs/applying-free-sw-criteria.md
diff options
context:
space:
mode:
authorTong Hui <tonghuix@gmail.com>2016-09-28 16:16:42 +0800
committerTong Hui <tonghuix@gmail.com>2016-09-28 16:16:42 +0800
commitda9bc92a5ce76e885664514c09a7cccbf7fa046f (patch)
treeb89ca4110b6ba1f7e264a9e0a7381c6b63cc9c5d /docs/applying-free-sw-criteria.md
parentb184029bfb6ed4f74a249ff6cd3b12807c46297c (diff)
downloadfsfs-zh-da9bc92a5ce76e885664514c09a7cccbf7fa046f.tar.xz
fix footnode for part one
Diffstat (limited to 'docs/applying-free-sw-criteria.md')
-rw-r--r--docs/applying-free-sw-criteria.md32
1 files changed, 16 insertions, 16 deletions
diff --git a/docs/applying-free-sw-criteria.md b/docs/applying-free-sw-criteria.md
index b2a4111..1e02a5c 100644
--- a/docs/applying-free-sw-criteria.md
+++ b/docs/applying-free-sw-criteria.md
@@ -2,29 +2,29 @@
> Copyright (C) 2015 理查德·斯托曼(Richard Stallman)
-四项基本自由为判断某一特定代码片断是否为自由的(即尊重用户自由)提供了准则[^1]。我们应当如何将它们应用于判断一个软件包、一个操作系统、一台计算机、或是一个网页是否适合被推荐使用呢?
+四项基本自由为判断某一特定代码片断是否为自由的(即尊重用户自由)提供了准则[^apply-1]。我们应当如何将它们应用于判断一个软件包、一个操作系统、一台计算机、或是一个网页是否适合被推荐使用呢?
一个程序是否是自由的首先影响到的是我们对于自己的私人行为的决定:为了捍卫我们自己的自由,我们需要拒绝那些将会剥夺我们的自由的程序。然而,这也会影响到我们应当对别人怎样说和怎样做。
一个非自由程序是一种不公。发布一个非自由程序、向他人推荐非自由程序、或是更为普遍地将它们引入课程以诱导人们使用非自由软件,以上这些行为意味着引导人们放弃自己的自由。可以肯定的是,引导人们使用非自由软件并不等同于在他们的计算机上安装非自由软件,但我们不应该将人们引入歧途。
-在更深层次上,我们不能提出一个非自由程序作为一个解决方案,因为这将会承认其合法性。非自由软件是一种问题;将其以一种解决方案的方式呈现否认了这一问题的存在[^2]。
+在更深层次上,我们不能提出一个非自由程序作为一个解决方案,因为这将会承认其合法性。非自由软件是一种问题;将其以一种解决方案的方式呈现否认了这一问题的存在[^apply-2]。
本文阐述了我们应当如何应用自由软件的基本准则来判断不同种类的事物,并且决定是否应该推荐它们。
### 软件包
-一个软件包若要成为自由的,其中所有代码必须都是自由的。但不仅限于代码。由于文档文件包含手册、自述、更新日志等,这些都是软件包的必要的技术组成部分,它们必须也是自由的。[^3]一个软件包通常与很多其他软件包一起使用,并且与其中的一些进行交互。与非自由软件进行的何种交互才是伦理上可接受的呢?
+一个软件包若要成为自由的,其中所有代码必须都是自由的。但不仅限于代码。由于文档文件包含手册、自述、更新日志等,这些都是软件包的必要的技术组成部分,它们必须也是自由的。[^apply-3]一个软件包通常与很多其他软件包一起使用,并且与其中的一些进行交互。与非自由软件进行的何种交互才是伦理上可接受的呢?
我们着手开发 GNU 的目的是带来一款自由的操作系统,由于在 1983 年还没有这样的自由操作系统。当我们于 20 世纪 80 年代开发出最早的 GNU 组件时,其中每个组件都依赖非自由软件是不可避免的。例如,没有任何一个 C 程序可以离开非自由的 C 编译器而运行,直到 GCC 可以正常工作,并且它们也不能离开 Unix libc 而运行,直到 glibc 可以正常工作。每个组件都只能运行在非自由操作系统上,因为当时所有的操作系统都是非自由的。
每当我们发布一款可以运行在某些非自由操作系统上的组件时,用户将其移植到其他非自由操作系统上。从伦理上讲,这些移植并不比我们曾经用于开发这些组件的限定平台代码更坏,因此我们整合了他们的修补程序。
-当 Linux 内核于 1992 年成为自由的之时,它填补了 GNU 操作系统的最后一块空缺(Linux 最初于 1991 年以一种非自由许可证发布)。GNU 和 Linux 的组合成为了一种完全自由的操作系统——GNU/Linux[^4]。
+当 Linux 内核于 1992 年成为自由的之时,它填补了 GNU 操作系统的最后一块空缺(Linux 最初于 1991 年以一种非自由许可证发布)。GNU 和 Linux 的组合成为了一种完全自由的操作系统——GNU/Linux[^apply-4]。
此时,我们可以选择移除对非自由平台的支持,但是我们决定不这样做。一个非自由操作系统是一种不公,但用户运行非自由操作系统并不是我们的过错。支持该非自由操作系统上的自由软件并不构成这种不公。并且这将是实用的,不仅对于那些非自由操作系统用户,也对于吸引更多人为开发该自由软件做贡献。
-然而,在自由程序上运行非自由程序是一个完全不同的问题,因为这是在诱导用户在自由之路上倒退。在某些情况下我们完全禁止这样做:例如 GCC 禁止任何非自由插件。[^5]当一个程序允许非自由扩展的时候,它至少不应该引导用户使用它们。例如,我们更倾向于选择 LibreOffice 而非 OpenOffice,由于后者提示用户使用非自由扩展,而 LibreOffice 则拒绝它们。我们开发冰猫(IceCat)[^6]起初也是为了避免向用户推广由火狐(FireFox)建议使用的非自由扩展。
+然而,在自由程序上运行非自由程序是一个完全不同的问题,因为这是在诱导用户在自由之路上倒退。在某些情况下我们完全禁止这样做:例如 GCC 禁止任何非自由插件。[^apply-5]当一个程序允许非自由扩展的时候,它至少不应该引导用户使用它们。例如,我们更倾向于选择 LibreOffice 而非 OpenOffice,由于后者提示用户使用非自由扩展,而 LibreOffice 则拒绝它们。我们开发冰猫(IceCat)[^apply-6]起初也是为了避免向用户推广由火狐(FireFox)建议使用的非自由扩展。
事实上,如果冰猫解释如何在 macOS 上运行冰猫,这将不会引导用户去运行 macOS。但如果它介绍了一些非自由扩展,它将会鼓励冰猫用户安装这些非自由扩展。因此,冰猫软件包及其手册和网站不应该介绍这些东西。
@@ -70,13 +70,13 @@
一台计算机可能在较低的层次上带有预装的可修改固件和微码。它也可能在真正只读的内存中拥有代码。我们决定在现今我们所使用的认证准则中忽略这些程序,这是由于如若不然就没有任何计算机可以满足,并且因为通常不会被更改的固件在伦理上与电路相同。因此我们的认证准则仅仅覆盖那些运行在计算机的主处理器上而非真正只读内存中的代码。当在其他层次上运行自由软件成为可能,我们也会要求这些层次上的软件是自由的。
-由于认证一款产品是对它的积极推广,我们要求它们的贩卖者以支持我们作为回报,这可以通过谈论自由软件而非开源软件[^7]以及将 GNU 和 Linux 的结合体称为 GNU/Linux [^8]来做到。我们没有义务积极支持那些不认可我们的工作或是不支持我们运动的项目。
+由于认证一款产品是对它的积极推广,我们要求它们的贩卖者以支持我们作为回报,这可以通过谈论自由软件而非开源软件[^apply-7]以及将 GNU 和 Linux 的结合体称为 GNU/Linux [^apply-8]来做到。我们没有义务积极支持那些不认可我们的工作或是不支持我们运动的项目。
参见<http://www.fsf.org/resources/hw/endorsement/criteria>以获知我们的认证准则。
### 网页
-现在的很多网页都包含复杂的 JavaScript 程序并且需要它们才能工作。这是一种有害的实践,因为它阻碍用户对他们自己的计算的控制。更坏的是,这些程序中的大部分是非自由的,这是一种不公。JavaScript 代码通常窥探用户[^9]。JavaScript 已经变成了一种对用户自由的威胁。
+现在的很多网页都包含复杂的 JavaScript 程序并且需要它们才能工作。这是一种有害的实践,因为它阻碍用户对他们自己的计算的控制。更坏的是,这些程序中的大部分是非自由的,这是一种不公。JavaScript 代码通常窥探用户[^apply-9]。JavaScript 已经变成了一种对用户自由的威胁。
为了解决这一问题,我们开发了 LibreJS,这是一种用于阻止非平凡非自由的 JavaScript 代码的火狐浏览器扩展(没有必要阻止简单的脚本,如果它们只是实现一些次要的用户界面特性)。我们请求网站将它们的 JavaScript 程序自由化并且标记其许可证以便 LibreJS 识别。
@@ -88,20 +88,20 @@
将“软件应当是自由的”这一基本理念应用到不同场合要求不同的实践策略。随着新情况的出现,GNU 计划和 FSF 将会适配我们的自由准则,不论在实践上还是原理上,都将计算机用户引向自由。通过仅仅推荐尊重用户自由的程序、发行版和硬件产品,并且宣示您的立场,您可以为自由软件运动提供它所急需的支持。
-[^1]: 参见《什么是自由软件?》一文以获知自由软件的完整定义。
+[^apply-1]: 参见《什么是自由软件?》一文以获知自由软件的完整定义。
-[^2]: 我的文章 “Avoiding Ruinous Compromises” 详细论述了这一问题。
+[^apply-2]: 我的文章 “Avoiding Ruinous Compromises” 详细论述了这一问题。
-[^3]: 参见《自由软件需要自由的文档》以获知关于这一问题的更多细节。
+[^apply-3]: 参见《自由软件需要自由的文档》以获知关于这一问题的更多细节。
-[^4]: 参见《Linux 和 GNU 操作系统》一文以获知更多信息。
+[^apply-4]: 参见《Linux 和 GNU 操作系统》一文以获知更多信息。
-[^5]: 如需获知为何 GCC 拒绝任何非自由插件,参见我在 GCC 邮件列表中的回复,它位于 <https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html>。
+[^apply-5]: 如需获知为何 GCC 拒绝任何非自由插件,参见我在 GCC 邮件列表中的回复,它位于 <https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html>。
-[^6]: 参见 <http://directory.fsf.org/wiki/IceCat>。
+[^apply-6]: 参见 <http://directory.fsf.org/wiki/IceCat>。
-[^7]: 参见《如今自由软件更加重要》和《“开放源代码”为什么不符合自由软件的思想》 。
+[^apply-7]: 参见《如今自由软件更加重要》和《“开放源代码”为什么不符合自由软件的思想》 。
-[^8]: 参见《名字的含义?》一文
+[^apply-8]: 参见《名字的含义?》一文
-[^9]: 参见《JavaScript 陷阱》一文
+[^apply-9]: 参见《JavaScript 陷阱》一文