问题在于软件由其开发者控制

我完全同意 Jonathan Zittrain 的结论,即我们不应该放弃通用计算机。唉,我完全不同意他得出结论的路径。他将严重的安全问题视为一种无法容忍的危机,但我并不信服。然后他预测用户会对此做出恐慌反应,并蜂拥转向受限计算机(他称之为“电器”),但没有迹象表明这种情况正在发生。

僵尸机器是一个问题,但不是灾难。此外,大多数用户远没有恐慌,而是忽略了这个问题。今天,人们确实担心网络钓鱼(以欺诈为目的索取个人信息的邮件和网页)的危险,但是使用仅用于浏览的设备而不是通用计算机并不能保护您免受此害。

与此同时,苹果公司报告称,25% 的 iPhone 手机已被解锁。当然,至少有同样多的用户更喜欢解锁的 iPhone,但害怕尝试获取解锁的禁忌方法。这反驳了用户通常喜欢其设备被锁定的观点。

的确,通用计算机允许您运行旨在监视您、限制您,甚至让开发者攻击您的程序。此类程序包括 KaZaA、RealPlayer、Adobe Flash Player、Windows Media Player、Microsoft Windows 和 MacOS。Windows Vista 做了这三件事;它还允许微软在不询问的情况下更改软件,或命令它永久停止正常运行 [1]。

但是受限计算机无济于事,因为它们出于相同的原因呈现相同的问题。

iPhone 的设计允许苹果进行远程攻击。当苹果远程销毁用户解锁以启用其他用途的 iPhone 时,这与微软远程破坏 Vista 没有什么区别。TiVo 的设计目的是强制限制对您录制的节目的访问,并报告您观看的内容。诸如亚马逊“骗局”之类的电子书阅读器的设计目的是阻止您共享和借阅您的书籍。人为阻碍您使用数据的功能被称为数字限制管理 (DRM);我们反对 DRM 的抗议活动托管在 defectivebydesign.org。(我们的对手称 DRM 为“数字权利管理”,因为他们认为限制您是他们的权利。当您选择一个术语时,您选择了您的立场。)

最糟糕的常见受限设备是手机。即使在切换到“关闭”状态时,它们也会传输信号来跟踪您的位置;阻止这种情况的唯一方法是取出所有电池。许多手机也可以被远程打开,在您不知情的情况下进行监听。(美国联邦调查局已经利用了此功能,美国商务部在其安全指南中列出了此危险。)。蜂窝电话网络公司会在不询问的情况下定期在用户手机中安装软件,以施加新的使用限制。

使用通用计算机,您可以通过拒绝此类程序来逃脱。您不必在计算机上安装 KaZaA、RealPlayer、Adobe Flash、Windows Media Player、Microsoft Windows 或 MacOS(我没有)。相比之下,受限计算机不会让您逃脱其内置软件的控制。

通用 PC 和受限计算机的根本问题在于软件由其开发者控制。开发者(通常是公司)控制程序的功能,并阻止其他人更改它。如果开发者决定加入恶意功能,即使是资深的程序员也无法轻易删除它们。

补救措施是让用户拥有更多控制权,而不是更少。我们必须坚持使用自由/开源软件,即用户可以自由更改和重新分发的软件。自由/开源软件在其用户的控制下开发:如果他们不喜欢它的功能,无论出于何种原因,他们都可以更改它们。如果您不是程序员,您仍然可以从用户控制中受益。程序员可以进行您想要的改进,并发布更改后的版本。然后您也可以使用它。

有了自由/开源软件,任何人都无权让恶意功能永久存在。由于用户可以获得源代码,数百万程序员可以发现并删除恶意功能并发布改进版本;肯定会有人这样做。然后其他人可以比较这两个版本,以独立验证哪个版本对用户是公平的。实际上,自由软件通常没有内置的恶意软件。

很多人确实购买了受限设备,但不是出于安全动机。人们为什么选择它们?

有时是因为受限设备在物理上更小。我整天(实际上)编辑文本,我发现笔记本电脑的键盘和屏幕非常值得它的尺寸和重量。但是,使用计算机方式不同的人可能更喜欢可以放入口袋的东西。过去,这些设备通常是受限的,但选择它们不是出于这个原因。

现在它们变得越来越不受限制。事实上,OpenMoko 手机的主要计算机完全运行自由/开源软件,包括通常在 PC 和服务器上使用的 GNU/Linux 操作系统。

购买一些受限计算机的主要原因是财务上的花招。游戏机和 iPhone 的售价都低得难以维持,制造商随后会在您使用它们时收费。因此,游戏开发商必须向游戏机制造商付费才能分发游戏,他们会将这笔费用转嫁给用户。同样,当 iPhone 用作电话时,AT&T 会向苹果公司付费。低廉的预付价格误导了客户,让他们认为自己会省钱。

如果我们担心受限计算机的蔓延,我们应该解决销售它们的定价欺骗问题。如果我们担心恶意软件,我们应该坚持使用能够让用户控制的自由软件。

附注

Zittrain 提出的缩短软件专利诉讼时效的建议是在正确方向上迈出的一小步,但解决整个问题要容易得多。软件专利是对美国所有软件开发者和用户施加的不必要的人为危险。每个程序都是许多方法和技术的组合,大型程序中可能有数千种。如果允许对这些方法进行专利,那么给定程序中使用的数百种方法可能都已获得专利。(避免它们是不可行的;可能没有替代方案,或者替代方案也可能已获得专利。)因此,程序的开发人员面临着来自未知方的数百起潜在诉讼,用户也可能被起诉。

完整、简单的解决方案是从软件领域中消除专利。由于专利系统是由法规创建的,因此只要有足够的政治意愿,从软件中消除专利将很容易。(请参阅 结束软件专利。)

脚注

  1. Windows Vista 最初有一个“终止开关”,微软可以通过该开关远程命令计算机停止运行。微软随后在公众的压力下取消了此功能,但保留了重新启用它的“权利”。