忠诚的计算机对您意味着什么?

我们说,在您的计算机上运行自由软件意味着它的运行在您的控制之下。这隐含地假设您的计算机会执行您的程序指示的操作,仅此而已。换句话说,您的计算机会忠于您。

在 1990 年,我们认为这是理所当然的;如今,许多计算机的设计对用户并不忠诚。现在有必要阐明,对于您的计算机而言,成为一个服从您决定的忠诚平台意味着什么,而您通过指示它运行某些程序来表达您的决定。

我们暂定的定义由以下原则组成。

可安装性

任何可以被其他人替换的软件,用户必须有权替换。

因此,如果计算机需要密码或其他秘密才能替换其中的某些软件,那么向您出售计算机的人也必须告诉您该秘密。

对软件的中立性

计算机将毫无偏见地运行您安装在其中的任何软件,并让该软件执行其代码指示的任何操作。

如果签名检查完全在用户的控制之下,那么检查运行程序的签名的功能与此原则兼容。当情况如此时,该功能有助于实施用户关于运行哪些程序的决定,而不是阻碍用户的决定。相比之下,签名检查如果不是完全在用户的控制之下,则违反此原则。

对协议的中立性

计算机将毫无偏见地通过您安装的软件实现的任何协议,与您指示其通信的任何用户和任何其他联网计算机进行通信。

这意味着计算机不会强加一种特定的服务而不是另一种服务,或一种协议而不是另一种协议。它不要求用户获得任何其他人的许可才能通过某种协议进行通信。

对实现的中立性

当计算机使用任何给定协议进行通信时,它将毫无偏见地支持通过您选择的任何代码(假设该代码实现了预期的协议)这样做,并且它不会采取任何措施来帮助互联网的其他任何部分来区分您正在使用哪个代码或您可能对其进行的更改,或根据您的选择进行歧视。

这需要计算机拒绝远程证明,也就是说,它不允许其他计算机通过网络确定您的计算机是否正在运行某个特定的软件负载。远程证明使网站有权强迫您仅通过具有您无法破解的 DRM 的应用程序连接到它们,从而剥夺您对用于与它们通信的软件的有效控制权。

我们可以将远程证明理解为一种通用方案,允许任何网站对您用于连接到它的本地软件施加 Tivo 化或“锁定”。简单的程序 Tivo 化会阻止修改后的版本正常运行;这使得该程序成为非自由软件。网站的远程证明会阻止修改后的版本与使用该证明的网站一起工作,这使得该程序在使用这些网站时实际上成为非自由软件。如果一台计算机允许网站禁止您使用修改后的程序,那么它忠于它们,而不是忠于您。

对通信数据的中立性

当计算机使用任何协议接收数据时,它不会限制程序可以对通过该通信接收的数据执行的操作。

任何硬件级别的 DRM 都违反了此原则。例如,硬件不得以只能由显示器解密的方式传递加密的视频流。

可调试性

计算机始终允许您分析正在运行的程序的操作。

完整性

上述原则适用于计算机的所有软件接口和计算机执行的所有通信。计算机不得有任何不忠诚的可编程功能,也不得执行任何不忠诚的通信。

例如,最近的 Intel 处理器中的 AMT 功能运行非自由软件,该软件可以远程与 Intel 通信。除非禁用,否则这会使系统变得不忠诚。

为了让计算机完全为您服务,它应该附带所有旨在用于在计算机中运行的软件的接口的文档,以控制计算机。这样的文档差距并不意味着计算机主动不忠诚,但确实意味着它的某些方面不为您服务。根据该方面执行的操作,这可能是一个真正的问题,也可能不是。

我们要求读者将有关此定义的批评和建议发送至 <[email protected]>

此处定义的忠诚度是我们能想到的最有意义的最基本标准。它不要求计算机中的所有软件都是自由的。但是,计算机中存在非自由软件会阻碍验证计算机是否忠诚,或者确保它保持忠诚。

历史

以下是此页面中实质性更改的列表。