'我使用一台 Thinkpad T400s 电脑,它有一个自由的初始化程序 libreboot 和一个自由的操作系统 Trisquel GNU/Linux。这是 FSF 认可的计算机之一。'
自由软件运动创始人 RMS 在其个人博客上谈到了自己最新的计算机配置。此前,RMS 在很长一段时间里使用的是一台中国产的龙芯电脑 —— 由中科梦兰出品的 9 英寸迷你笔记本,同样配置了自由初始化程序 PMON 和自由操作系统 gNewSense。不幸的是,坊间传言这台伴随了 RMS 多年的电脑在他的一次阿根廷之行中被当地小偷顺走了。
作为自由软件运动的精神领袖,RMS 对自己的电子设备所运行的软件代码要求 100% 自由开源,并在生活中处处与专有软件划清界限,甚至达到了很多人看来近乎'偏执'的程度。
例如,RMS 至今仍然拒绝使用任何品牌的手机,因为他认为'手机是跟踪和监视设备,它们都使电话系统能够记录用户的去向,并且许多(也许全部)手机都可以远程转换为监听设备。'经常外出游历的 RMS 为了能够随时随地开展工作,不惜把笔记本电脑用绳子挂在身上也不愿使用移动设备。
在生活中的大多数情况下,RMS 都坚持使用现金进行支付,以避免任何商业机构获取其个人信息进而侵犯其隐私,只有在购买机票、租赁汽车、入住酒店等服务提供方必须知道其个人信息的场景下才使用信用卡进行付款。
当私下与友人合影或被别人拍下时,RMS 会要求对方不要把照片放到 Instagram 或 Whatsapp 等所有 META 公司(原 Facebook)旗下的社交平台上,因为'该公司会跟踪出现在照片中的人。'
RMS 将自由软件的精神写进了 GNU 章程,并以身作则地对所有意图'侵犯个人隐私'的非自由软件产品说'不'。他的这种特立独行、充满极客精神的生活方式在全球范围内吸引了不少开源爱好者的追随。这些 GNU 精神的追随者在社区中被人们称为'纯粹主义者'。
电脑里的每一颗螺丝钉都得是自由的
纯粹主义者遍布各大开源软件社区,他们同 RMS 一样,希望自己使用的所有软件都尽可能是自由和开源的,以避免不明代码的闭源软件收集自己的任何数据。而操作系统作为集成所有软件的中枢,自然受到了重点关注。
在这些容不得一点'闭源'沙子的纯粹主义者眼中,各大开源操作系统采用的固件成为了他们的'眼中钉'。
固件(Firmware)是指硬件设备内部自带的代码模块,操作系统中对应的驱动程序通过固件与硬件进行交互,才能按照标准的设备驱动实现特定硬件的运行动作,比如显卡、光驱、刻录机、蓝牙、无线网卡等都有内部固件。这些固件不属于操作系统的一部分,通常来自第三方硬件供应商的预编译,且大部分代码不是开源的。
GNU 项目在中对自由系统发布指南这些固件进行了明确的定义:
有些应用和驱动需要固件才能工作,而有时该固件只以目标代码的形式发布,其许可证也是非自由的。我们称这些固件为'blobs'。在大多数 GNU/Linux 系统中,你会发现它们在 Linux 内核中和某些驱动软件一起发布。这些固件应该要从自由的系统发行版中被移除。
Blobs 有很多形式。有时,它们以单独的文件提供。有时,它们结合在驱动软件自身的代码中。比如,它们可能以大数组的形式编码。但是,无论如何编码,任何非自由的固件需要从自由系统中移除。
自由软件基金会(FSF)认为一个符合 GNU 精神的自由操作系统不应该包含这些闭源固件,一些 FSF 社区核心开发者甚至为 Linux 内核开发了一系列能够移除非自由固件的脚本。
GNU 项目还提供了一个所有固件完全自由开源的 Linux 内核分支,在该项目的说明下 GNU Linux-Libre 顺带抨击了 Linus Torvalds 主导的 Linux 内核社区'包庇'这些非自由固件:
Linux 是由 Linus Torvalds 等人开发和分发的内核,包含非自由软件,即不尊重您的基本自由的软件,它会诱使您安装它不包含的其他非自由软件。即使在据称将所有固件从 4.14 版移到一个单独的项目之后,由 Torvalds 先生发布的 Linux 所谓的'源代码'仍然包含伪装成源代码的非自由固件。
事实上,因为绝大多数的普通用户并不在意自己电脑里的每一个角落是否都自由开源,所以大部分 Linux 发行版都会直接采用第三方供应商提供的闭源设备,比如 Wi-Fi 和蓝牙这类开箱即用的硬件。毕竟从成本考虑,这些硬件确实已经足够好用且实惠,不值得社区再额外投入人力去搞自研再开源。但有一家发行版例外,那就是我们的'开源长老'Debian。
作为最经典的 Linux 发行版之一,Debian 社区最大程度地传承了 GNU 的自由精神。一直以来,Debian 社区把所有商业公司排除在合作伙伴之外,并坚持确保 Debian 操作系统生态中涉及的所有软件上下游项目都是自由开源(FOSS)的。为了打消人们对固件的疑虑,Debian 官方列出了系统所采用的列表,以证明系统本身的'纯度'。
类似的开源操作系统分支还有从 Ubuntu 分叉而来的,该系统被描述为'全 FOSS 无 blobs 版本'的自由操作系统;从诞生之初就主打'百分之百 FOSS'的开源操作系统 PureOS 等等。
艰难的取舍
追求万物皆 FOSS 的纯粹主义理想很丰满,但现实却是社区驱动的硬件技术与专业硬件厂商的技术仍存在难以弥补的差距。
前 Debian 项目负责人 Steve Mcintyre 曾撰文表示:
很长一段时间以来,我们一直假装不需要在 Debian 系统上支持和包含(非自由)固件。我们在 Debian main 中提供了一小组自由固件的二进制文件,这些自由固件包含在我们的系统中,这太棒了——我们都喜欢自由软件,而且这很有效。


