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

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

如果您不得不购买一台捆绑 Windows 系统的机器,请仔细阅读 Windows 附带的软件许可证,您也许可以拒绝该许可证,并从经销商那里获得一定的折扣。在互联网上用 “windows refund” 搜索可以查到一些有益的信息。

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

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

一些硬件制造商愚蠢地拒绝告诉我们如何给他们的硬件写驱动程序。其他的则要求签署不公开的契约才能接触文档,以阻止我们发布 Linux 驱动程序源代码。

因为我们没有被授权查看这些设备的文档,它们自然不会在 Linux 下工作。您可以帮我们去告诉那些制造商,要求他们发布文档。如果有足够多的人要求,他们将认识到自由软件社区也是一个重要的市场。

2.3.2. Windows 专用硬件

一个令人不安的趋势是 Windows 规格的调制解调器和打印机的增长。在某些情况下它们专为微软的 Windows 操作系统设计并且标有 “WinModem” 或 “专为基于 Windows 的计算机制造” 字样。这通常是省掉硬件的内嵌处理器,将它的工作交给 Windows 驱动程序并由您计算机中的 CPU 来完成。这样做是为了降低硬件成本,但是常常并不能为用户节省任何开销,并且可能还会比同等功能的保留内嵌处理器的设备昂贵。

有两个原因让您应当避免使用 Windows 规格的硬件。首先,这些制造商一般不提供相应资料用于编写 Linux 驱动程序。通常,这些设备的软硬件接口是专有的,即使相关资料存在,但不签署封闭的契约也无法得到它们。这就排除了被自由软件使用的可能,因为自由软件的开发者不会将它们的软件源码封闭起来。其次,这些设备是没有内嵌处理器的,操作系统必须承担本该由这些处理器完成的工作,并且经常是在实时优先级下,因此 CPU 在驱动这些设备时就无法运行您的程序。因为典型的 Windows 用户并不像 Linux 用户那样对多任务有强烈要求,这些制造商希望 Windows 用户不会注意到 CPU 为他们硬件的开销。但是,任何多任务操作系统,甚至是 Windows 2000 或 XP,都要忍受这些制造商克扣内嵌处理器造成的性能下降。

您可以帮助改变这种状况,要求制造商发布相应的文档和资料,让我们可以编写他们硬件的程序,但最好还是避免使用这些硬件,直到它们被列入 Linux Hardware Compatibility HOWTO