2.3. 特别为 GNU/Linux 采购硬件

现在有一些经销商,他们出售的系统是预装 Debian 或者是其他的 GNU/Linux。您或许会多花一些钱,但是买来一份安心,因为这些硬件都已经确保能被 GNU/Linux 很好地支持。

无论是购买一个捆绑 Linux 的系统,还是一个已经用过的系统,检查 Linux 内核是否支持您的硬件仍然很重要。检查您的硬件是否列在上面的参考资料中。让推销员(或者其他)知道您是在为一个 Linux 系统采购设备。请支持对 Linux 友好的硬件销售商。

2.3.1. 避免专有或封闭的硬件

一些硬件制造商拒绝告诉我们如何给他们的硬件写驱动程序。另一些则要求签署不公开的契约才能接触文档,以阻止我们发布驱动程序源代码,这一自由软件的核心内容。由于我们未被授权使用这些文档,造成它们无法在 Linux 下工作。

很多情况下标准(或事实上的标准)讲述了操作系统和设备驱动程序如何进行通讯。所有遵循该(事实上)标准的设备可以使用一个通用的设备驱动程序而不需要设备独有的驱动程序。对于一些硬件(例如 USB Human Interface Devices,像键盘、鼠标等等,和 USB 存储设备,像 U 盘和记忆卡读取器)工作很正常,并且市场上销售的所有设备都是符合标准的。

非常不幸,另一些领域不属于这种情况,例如打印机。有很多打印机可以借助一套(事实上的)标准控制语言处理,因此可以在任何系统上无障碍地使用。还有一些型号只遵从私有的无任何文档的控制命令,使得它们无法在自由的操作系统上使用,或者只能借助于厂商提供的闭源驱动程序。

即使购买硬件时有厂商提供的闭源驱动程序,设备实际可以使用的寿命仍受限于该驱动程序。现在产品的生产周期越来越短,一旦产品停止生产,厂商短期内就停止更新驱动的情况并不罕见。如果老的闭源驱动在系统更新后不再适用,工作良好的设备就会因为缺乏驱动程序不得不停止工作。您首先在购买的时候就应避开这类封闭的硬件,以免系统升级造成的不便。

您可以通过鼓励封闭硬件的厂商开放文档和其他资源,为我们提供硬件的自由驱动程序来改变这种状况。