关注了就能看到更多这么棒的文章哦~
Installing Debian on modern hardware
By Jake Edge
January 20, 2021
https://lwn.net/Articles/843172/
很不幸,一些硬件设备还是需要 non-free firmware 才能运行,比如某些网络设备(主要是 WiFi),音频外设,视频卡。甚至在安装 Linux 发行版的过程中就需要这些 firmware 了,要想通过网络安装就很可能需要先从安装盘中直接加载这些 non-free firmware。显而易见,对于那些因为这些 firmware 不是自由软件所以不愿意附送 firmware 的发行版来说,这就是个问题了。最近 Debian 社区正在讨论这个问题。
Dan Pal 就没有想到,在他向 debian-devel mailing list 报告了他安装 Debian 碰到的问题的时候,会引起这么多激烈讨论。他希望在一个之前运行 Windows 10 的笔记本上安装 Debian,但是无由于 WiFi 设备需要 non-free firmware,导致无法正常地通过网络安装。最后他通过 DVD 完成了安装,但是他担忧 Debian 这样会导致安装选项很受限:“当前 Debian 会隐藏其他版本,这会导致像我这样想从 Windows 10 切换过来的人碰到困难。”
debian.org 主页上目前显眼的 "Download" 按钮就会让用户下载一个网络安装版(netinst)的 CD 镜像文件。不过如果系统需要使用 non-free firmware 才能完成网络连接的话,这个 netinst 版本就没有多大用处了。更糟的是,Sven Joachim 认为完全无法找到一个带有 non-free firmware 的 netinst image 文件。不过他说的并不正确。Alexis Murzeau 建议在这个显眼的下载按钮下面加个链接,允许用户选择其他的带有 non-free firmware 的版本来下载。他也支持,目前还有两个与此有关的 bug 尚未解决(一个是 2010 年报的,一个是 2016 年),这个问题其实不是什么新问题。
Holger Levsen 指出,Debian 还是有一些非官方的镜像文件是支持 non-free firmware 的,尽管比较难找。他也告诉大家在他 2017 年的 blog 文章中他就有过记录,需要的时候他就会去那里查找。Emanuele Rocca 觉得这种情况很不正常:
所以,目前的情况是我们花了精力来生成了两种不同的安装镜像文件:一个是所有人都能用的,另一个则在大多数笔记本电脑上都无法正常使用。看起来像是 FOSS 导致了功能缺失。并且我们还把这个不可用的版本放在主页上公布出去,而把可以用的那个版本仔细藏了起来。
这种做法会给用户增加麻烦,同时也不会对自由软件有什么好处。Ubuntu 就把这些 firmware 加回到镜像文件里面去了,从而让人们认为 Ubuntu 安装很容易。
不过,Jeremy Stanley 就表示他是个例外:
你说的“所有人都能用的”,对我来说并不适合。因为它带有专有、闭源软件,我不喜欢。这个争论本质上是说 Debian 社区是应该更关注便利性还是保持我们的理想。对于那些更注重便利性的用户来说,Ubuntu 已经够了。为什么要在这一点上非要去竞争,从而损失 Debian 的理想呢?
确实,这是问题的核心。Debian 对于它所发布的软件是有一些理想的,铭刻在 Debian Free Software Guidelines (DFSG)之中。non-free license 完全不符合这些理想。并且 Debian Social Contract (包含 DFSG)也明确指出“non-free works are not a part of Debian”。不过,问题是如果没有网络,就可能会导致潜在用户完全无法安装 Debian,同时无法使用 Debian。对他们来说就完全看不到自由软件的好处了,毕竟这也是 Debian Social Contract 之中明确写出的目标。
Russ Allbery 在回复 Stanley 的时候指出这其实还是有折中方案的。从没有人建议要把不包含 non-free firmware 的官方镜像文件删除掉。只是有人希望能针对现代的硬件,更容易找到合适的镜像文件而已:
重点是要让我们的用户更容易上手。目前我们的做法满足了你,但是却让那些不在乎 firmware 是否 non-free 的用户碰到了困难。我们应该让两类用户都满意。并不需要损害你、以及其他那些更重视自由软件的用户的利益。
Andrew M.A. Cater 说,官方安装程序也提供了一个选项,可以从 U 盘安装 non-free firmware,“但是很少人会用”。Allbery 介绍了他当时尝试这个功能的过程,看起来哪怕对于很熟悉 Debian 的用户来说这个过程也不够直观:
我一直是用这种方法来安装成功,但是通常都会需要花费 1 个小时来抱怨、Google 搜索、制作各种格式和文件系统的 U 盘,重复安装过程中的某些部分,直到碰巧成功了。
所以,可以理解新的 Debian 用户在碰到这种情况的时候就不一定愿意继续尝试 Debian 了。Allbery 说,如果安装程序中带有 non-free firmware 的话对他就方便很多了,不过他总是没有这么一个安装程序(他要使用“testing”版本的 Debian)。Andrey Rahmatulin 说,很难找到这些镜像文件,是因为“Debian 网站的错”。应该要让用户能很方便地找到其他安装镜像。Russell Stuart 说,他也总是碰到 Allbery 报告的这种问题,尽管 Stuart 强烈支持在 Debian 中把 free 和 non-free 的软件隔离开,但是 firmware 是个完全不同的东西:
[…] 这些 firmware 文件还是很特殊的。它们不会在我们的 CPU 上运行,我们是利用公开的 API 和协议来跟它通讯。这种工作模式并不出奇。在我们笔记本启动过程中,早就需要经过许多 MB 的 nonfree software 才能正常启动了,不过我们容忍了这些软件,因为它们是固化在 ROM 里面的。对于 ROM 中的这些 firmware,尽管它也是运行在我们的 Debian 机器上,我们就一直没有把他们当做 Debian 的一部分。
Paul Wise 指出,其实针对 testing distribution 也是有带有 non-free firmware 的非官方镜像文件的,之后 Holger Wansing 建议(提供了 patch)修改一下网站,让用户在需要的时候能更容易找到这些镜像文件。不过 Marc Haber 指出,安装过程就是给潜在的新用户的第一印象:“我们不应该在这个对于我们目标用户理解 Debian 的很重要的环节,反而花这么多功夫去隐藏我们对 non-free 的观点。” 不过 Steve Mcintyre 认为,引导用户能够找到这些非官方镜像文件,并不是说 Debian 就要官方分发这些 non-free firmware:
这里还是有很大区别的,在于我们是否希望 Debian 的官方镜像文件包含这些 non-free 的内容?我们之前讨论过几次了,包括 DC15 [DebConf 15] 那时的面对面讨论。那时候绝大多数回答是 "no"。我们可以改变这个观点,不过这不是一件轻而易举的事情。
Haber 强烈认为这种需要净化这些 firmware 的观点只会导致我们的用户更加少。Wise 也赞成:“the current situation wrt hardware and software freedom is pretty catastrophic”。他建议应该让用户和潜在用户更清楚这里的区别,比如提供一个程序来加载运行安装程序,这个加载程序会检测硬件配置来引导(或者教育)用户应该选择哪个安装程序。
尽管有很多改善建议,但是这个问题已经在 Debian 存在很长时间了。Marco d'Itri 说,他在 2004 年的时候就提过这个问题了,不过很可能最早提出的还要更久之前。Ansgar Burchardt 说在 2016 年他建议过在仓库中专门创建一个区域来放置这些 non-free firmware(跟其他的 non-free software 区分开来),这可以作为大家的第一步。不过当时没有达成一致,最终也不了了之了。从这些历史上的 bug 来看,Debian 已经针对这个 issue 争论很多年了。
目前还不清楚这次讨论会怎样结束,有可能慢慢平静下来,今后什么时候再被提起。这确实是个问题,而且看起来改善其实并不难,也不会对 Debian 的目标带来什么损坏。不过事情还是发展到这个地步,暂时没有下文。看起来这里的主要问题是推动压力不足,不过希望这一次还是会有一些不同结果。
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~