闭源与开源硬件驱动程序:为什么重要

计算机设备驱动程序使您的操作系统能够告诉计算机内部的硬件以及您插入的外围设备要做什么。

与应用程序和操作系统一样,这些硬件驱动程序可以包含隐藏在二进制博客后面的公开可用源代码和冗长的最终用户许可协议。

那么,封闭和开源硬件驱动程序有什么区别呢? 此外,这些差异对您有何影响?

什么是硬件驱动程序?

存在硬件驱动程序以使您的计算机软件能够与硬件进行通信。 有时它们会与您的计算机操作系统集成在一起。 其他时候,您需要自己下载和安装驱动程序。

许多适用于 Microsoft Windows 的驱动程序可供下载。 较旧的 PC 设备通常附带 CD-ROM,其中包含使您的硬件正常工作的驱动程序。 硬件意味着从 USB 麦克风到用于游戏的图形卡的任何东西。

在 Linux 上,驱动程序经常被嵌入到操作系统中,这有其优点和缺点。 大多数情况下,当您插入新设备时,它就可以正常工作。 对于有时间进入 Linux 内核的旧硬件尤其如此。 但有时,特别是对于较新的设备,您的计算机将无法识别新设备,并且与 Linux 兼容的驱动程序不太可能在线下载。

为什么许多驱动程序是专有的

计算机组件或外部设备可能看起来主要是物理产品,但为设备提供支持的软件通常会使一种产品比另一种产品更具吸引力。 许多企业将支持该软件的代码视为他们相对于其他公司的竞争优势。

他们没有公开此代码,而是只允许没有公司或某些承包商的人查看代码。 该代码被视为专有信息。 由此产生的软件是专有软件,也称为闭源软件。

AMD和NVIDIA之间的竞争是计算机硬件领域最激烈的竞争之一。 NVIDIA 长期以来一直比竞争对手具有优势,并且不太倾向于提供开源硬件驱动程序。 这些驱动程序中的代码可以说可以使现有竞争对手赶上或使新公司更容易进入该领域,而无需从头开始开发代码。

专有操作系统具有专有驱动程序

这里还需要解决房间里的大象问题。 Microsoft Windows 是世界上使用最广泛的桌面操作系统。 Windows 由封闭的源代码组成。

硬件驱动程序以如此低的级别与操作系统集成。 从 Windows 8 开始,Windows 计算机只能运行签名的驱动程序。 这意味着驱动程序必须经过 Microsoft 认证,并且由于 Windows 是专有的,因此这些驱动程序也必须是专有的。

也许不那么令人惊讶的是,Apple 还对 macOS 上的驱动程序进行了认证。 但在内核级别,macOS 基于各种开源技术。 macOS 还使用开源 CUPS 系统来管理打印机。 但是,如果您要安装驱动程序,它可能是专有的。

谷歌的 Chrome 操作系统在这里有点例外。 Chrome OS 在技术上是专有的,但它是建立在开源基础之上的。 由于 Chrome OS 使用 Linux 内核,因此它同时使用内核附带的开源驱动程序和封闭的二进制 blob。 但是,如果您需要运行开箱即用不支持的其他硬件,那并不是 Chrome OS 的真正用途。

什么是开放驱动程序的需求?

这意味着开源与闭源驱动程序的问题在很大程度上影响了 Linux 用户。 这里的偏好与其他桌面操作系统相反。 没有一家公司开发和发布 Linux,因此没有一家公司来认证驱动程序。 Linux 开发分布在全球各地的人们中,有些人是志愿者,有些人是不同公司的雇员。 当驱动程序的源代码可用时,它对每个人都更有效。

开源驱动程序的优势反映了开源软件的许多优势。

  • 更轻松的软件协作: 当没有一家公司作为源代码的守门人时,许多人可以一起开发软件。
  • 值得信赖的软件: 如果不访问源代码,您实际上不知道程序在做什么。
  • 更大的隐私: 开源软件很少会跟踪您正在做的事情,因为有人很容易在删除跟踪的情况下重新分发该软件的另一个副本。
  • 软件寿命: 当一家公司对某个程序或设备失去兴趣时,他们通常会停止分发它们。 开源代码使其他任何人都可以继续提供该软件。

在 Linux 上,当驱动程序是开源的时,一切都会正常工作的可能性更大。 您的硬件也可能包含更少的错误。

例如,Linux 用户使用 Intel 集成显卡可以获得比 NVIDIA 显卡更流畅的桌面动画,因为 Linux 显卡开发人员无法访问 NVIDIA 芯片的内部工作原理来解决所有错误。 怪癖可能出现在意想不到的地方,例如关闭笔记本电脑使其进入睡眠状态时。 因此,想要更流畅体验但又需要强大显卡的 Linux 用户最终可能会更喜欢 AMD,一家提供更多开源驱动程序的公司。

如果 Linux 在台式机上得到更广泛的使用,您可能会看到公司发布开放驱动程序的更大压力。 在 Linux 上,开源代码更具竞争优势,许多用户在做出购买决定时会重视这一特性。 但由于 Linux 用户在整个计算机用户中所占的比例如此之小,因此几乎没有出现是否将驱动程序开源的问题。 在 Windows 和 macOS 上,开源驱动程序不会被认证。

开源与专有:您应该使用哪个?

在大多数计算机上,您别无选择。 在 Windows 和 macOS 上,您的驱动程序是专有的。 在 Chrome OS 上,无论您的驱动程序是打开还是关闭,这些知识在很大程度上是未知的,并且与您的体验无关。

但是,如果您使用的是 Linux,那么这个问题很重要。 除非您需要专有驱动程序可以提供的额外功能,例如游戏,否则具有开源驱动程序的硬件通常会提供更好的体验。 并且此类驱动程序更好地符合将 Linux 与其他操作系统区分开来的更广泛的精神和功能。