网络服务不是自由的或非自由的;它们提出了其他问题

程序和服务是不同类型的实体。程序是一个你可以执行的作品;服务是你可能与之交互的活动。

对于程序,我们区分自由和非自由(专有)。更准确地说,这种区分适用于你拥有一份副本的程序:你要么拥有你的副本的四项自由,要么没有。如果你没有,那么该程序仅仅因为它是非自由的,就对你造成了一种特定的不公正。

非自由程序的版权持有者可以通过一种简单、明确的方式来纠正这种不公正:以自由软件许可证发布相同的源代码。说服他们这样做可能很困难,但行动本身是直接的。

活动(如服务)不存在副本的形式,因此用户不可能拥有它的副本,更不用说制作更多副本了。由于缺少可以修改的副本,用户也无法修改它。因此,定义自由软件的四项自由对于服务来说没有意义。说服务是“非自由的”或“自由的”是没有意义的。这种区分对于服务来说没有意义。

这并不意味着该服务公平地对待用户。恰恰相反——许多服务以各种方式对用户做了错事,我们称之为“不服务”——但是对于这种情况,没有像非自由程序那样简单的通用修复方法(以自由软件的形式发布它,以便用户可以运行和控制他们的副本和他们的版本)。

用一个烹饪的类比来说,我的烹饪方式不可能成为你的烹饪方式的副本,即使我通过观看你学会了烹饪。我可能拥有并使用你用来烹饪的食谱的副本,因为食谱就像程序一样,是一种作品,并且以副本的形式存在,但是你的食谱与你的烹饪方式不同。(而且这两者都与你的烹饪所产生的食物不同。)

在当今的技术下,服务通常是通过在计算机上运行程序来实现的,但这并不是实现它们的唯一方法。(事实上,有一些网络服务是通过要求人类回答问题来实现的。)无论如何,实现方式对于服务用户是不可见的,因此它对用户没有直接影响。

网络服务可以通过使用它所需的客户端软件,为其用户提出自由与非自由软件的问题。如果该服务需要使用非自由客户端程序,则使用该服务需要将你的自由让给该程序。对于许多网络服务,非自由软件是JavaScript 代码,它会静默地安装在用户的浏览器中。GNU LibreJS程序可以更容易地拒绝运行这种非自由 JavaScript 代码。但是,客户端软件的问题在逻辑上与服务本身是分开的。

在一种情况下,服务可以直接与程序进行比较:当使用该服务相当于拥有一个假设程序的副本并自己运行它时。在这种情况下,我们称之为服务即软件替代品,或SaaSS(我们创造这个术语是为了使其比“软件即服务”更具体和通用),这样的服务总是不好的。它所做的工作是用户自己的计算,用户应该完全控制它。用户控制自己的计算的方式是通过运行他们自己的自由程序副本来完成的。使用别人的服务器进行计算意味着失去对其的控制。

SaaSS 等同于使用带有监视功能和通用后门的非自由程序,因此你应该拒绝它,并用执行相同工作的自由程序替换它

但是,大多数服务的主要功能是通信或发布信息;它们不像你自己运行任何程序,因此它们不是 SaaSS。它们也不能被你的程序副本取代;在你自己计算机上运行的程序,仅由你使用且与其他人隔离,不会与任何人通信。

非 SaaSS 服务可以通过对用户做一些具体且不公正的事情来虐待用户。例如,它可能会滥用用户发送给它的数据,或收集过多数据(监视)。它可能被设计用来误导或欺骗用户(例如,使用“黑暗模式”)。它可能强加反社会或不公正的使用条件。富兰克林街声明试图解决这些问题,但我们尚未完全理解它们。显而易见的是,关于服务的问题与关于程序的问题不同。因此,为了清楚起见,最好不要将“自由”和“非自由”这些术语应用于服务。

假设一项服务是使用软件实现的:服务器运营商拥有许多程序的副本,并运行它们以实现该服务。这些副本可能是自由软件,也可能不是。如果运营商开发它们并在不分发副本的情况下使用它们,那么它们在微不足道的意义上是自由的,因为每个用户(只有一个)都拥有四项自由。

如果其中一些是非自由的,通常不会直接影响该服务的用户。他们没有运行这些程序;是服务运营商在运行它们。在特殊情况下,这些程序可能会间接影响该服务的用户:如果该服务保存私人信息,用户可能会担心服务器上的非自由程序可能具有后门,允许其他人查看他们的数据。实际上,服务器上的非自由程序要求用户信任这些程序的开发者以及服务运营商。这在实践中的重要程度取决于细节,包括非自由程序所做的工作。

但是,肯定会被实现该服务的非自由程序虐待的一方是服务器运营商自己。我们不会因为服务器运营商受制于非自由软件而谴责她,我们当然也不会因此抵制她。相反,我们像任何非自由软件用户一样,关心她的自由。如果有机会,我们会试图解释这如何限制她的自由,希望她会转而使用自由软件。

相反,如果服务运营商运行 GNU/Linux 或其他自由软件,这对你来说不是一种美德,而是对她的好处。我们不会为此赞扬或感谢她;相反,我们祝贺她做出了明智的选择。

如果她为该服务开发了一些软件,并将其作为自由软件发布,那才是我们有理由感谢她的时候。我们建议在GNU Affero GPL下发布这些程序,因为它们显然在服务器上很有用。

为什么选择 Affero GPL?

因此,我们没有规定自由系统不应该使用(或不应该依赖于)用非自由软件实现的服务(或站点)。但是,它们不应依赖、建议或鼓励使用 SaaSS 服务;需要用自由软件代替 SaaSS 的使用。在其他条件相同的情况下,最好支持那些通过发布有用的自由软件为社区做出贡献的服务提供商,并且最好支持点对点通信而不是基于服务器的集中式通信,用于那些本质上不需要中心枢纽的活动。