Tivo 化

存在一种自相矛盾的固件类别,其源代码是自由软件,因为它带有自由软件许可证,但为这些程序设计的特定硬件实际上会使从该源代码生成的任何二进制文件成为非自由的。这是因为该硬件需要二进制文件由硬件制造商签名,才能运行或使用关键硬件设施,实际上禁止用户运行修改后的版本。我们称这些程序为Tivo 化二进制文件

虽然在强制执行签名的硬件上仍然可以在物理上替换已发布的二进制文件,但这样做是无用的,因为硬件将拒绝运行修改后的版本或执行某些特殊工作,例如解码 DRM。因此,缺少自由 #1(四个基本自由之一),并且该二进制文件不是自由的,即使源代码可能带有自由软件许可证。间接地,Tivo 化会影响其他自由(使用和分发修改后的版本),因为您自己对固件的任何修改都将导致硬件损坏。该二进制文件可能符合开源的标准,因为“开源”一词是根据如何对待源代码来定义的

发布者或制造商可能会将这种强制签名检查宣传为“功能”。他们的论点是:如果硬件检测到固件已损坏,您的计算机将无法启动(或将缺少重要功能),因此 Tivo 化可以保护您和您的数据。但我们应该想知道:它保护谁?免受谁的侵害?谁拥有这个锁?谁来决定什么对我们自己的计算是好是坏的软件?如果不是我们,那么这台计算机就不忠诚

Tivo 化不是安全功能,而是对我们自由的陷阱。它阻止用户升级自己的硬件或固件,并通过仅将计算机的控制权交给一些“受信任”的固件提供商,从而给用户一种虚假的安全感,从而迫使用户接受提供商关于其安全的保证。

在最低级别驱动硬件的固件也具有对其最大的控制权。它通常包含后门漏洞,只有“受信任”的提供商(受硬件信任)才允许修复。

阻止运行未签名或自签名的固件版本是制造商和发布者保持对您计算控制权的一种方式,即使源代码本身是专有的,情况也是如此!它仅服务于发布者或制造商的目的,对软件用户或硬件所有者没有任何好处。另一方面,假设某些型号的硬件将运行修改后的版本,那么使用制造商签名的版本而不是自签名版本对您没有任何优势。

在 2007 年 GNU 通用公共许可证第 3 版中,最重要的增加之一是禁止使用 GPLv3 涵盖的程序并将其在 Tivo 化下分发,因为它实际上剥夺了用户修改程序然后使用修改后版本的自由。

正如GNU 自由系统发行指南所述,提供此类固件的操作系统不是自由的,无论上游源代码是否自由。