Ubuntu是否包含非自由内核blob和其他非自由系统组件?

我听说Richard Stallman说Ubuntu包含非自由blob。 为什么它有这样的blob以及这些非自由blob和系统组件做什么function的自由软件不能? Canonical是否包含这些以保持对Ubuntu项目的控制?

是否有任何发行版默认不包含此类非免费固件blob?

斯托曼是对的。 Linux内核包含几个用于外围设备的非自由固件。 该固件未存储在设备上; 每次启动时都必须将其复制到设备上。 如果没有“blob”,则无法使用该设备。 将固件下载到设备的优点是它允许通过简单地更新计算机上的固件来更新设备。

这些“blob”的问题在于它们只是 – 制造商分发的一大块二进制文件。 运行设备的知识通常是专有的。 Richard Stallman和其他自由软件倡导者反对这一点,因为他们没有提供用于创建二进制文件的源代码。 包括官方Linux内核在内的大多数发行版仍然提供这些blob,因为它们极大地提高了与设备的兼容性(它们没有开放的替代品),并且因为它只是“固件”。

(附注:有些人注意到,如果你提倡使用开放式固件,那么你只需要几步之遥就可以为FPGA提供开放式HDL图表,这会损害公司的硬件知识产权。但是,请注意固件仍然是恶意的例如,蜂窝调制解调器固件具有不受限制的网络访问和相当广泛的系统访问权限。这是“无非自由软件”的绝对主义立场的一个理由。

有许多发行版创建了“真正的自由”Linux发行版。 其中一个比较受欢迎的叫做Trisquel 。 它们基于Ubuntu,并且具有彻底的去除过程。 FSF在想要分发Live CD时使用此发行版。 我上次听说Stallman使用的那个叫做GNewSense ; 它基于Ubuntu和Debian。 FSF认可的任何东西都将完全无瑕疵。

Canonical是否包含这些以保持对Ubuntu项目的控制?

我认为这显然是不真实的。 它是需要这些blob的硬件,因此用户可以控制他们购买的硬件,而不是Canonical。 如果用户选择仅使用具有免费软件驱动程序的硬件,则不会使用任何blob。

因此,它与Canonical“保持控制”没有任何关系,因为用户可以选择在不使用任何二进制blob的情况下使用Ubuntu。 这意味着Canonical在这个领域没有特定的控制权,无论如何他们都可以发挥作用。

blob仅为方便已经进行非自由硬件选择的用户而发货。

(披露:我为Canonical工作。这个答案反映了我个人的观点;我不能在这方面代表我的雇主。)

检查维基百科 :

在开源软件的上下文中,二进制blob是一个闭源二进制驱动程序,没有公开可用的源代码。 该术语通常是指加载到开源操作系统内核中的闭源内核模块

这些做什么自由软件不能做什么? 理论上没什么。 但在实践中,硬件公司不希望为其硬件发布开源驱动程序,因为它会向竞争对手提供有关硬件设计的提示。 因此,例如Nvidia和AMD不会发布开源驱动程序。 没问题,你可能会说社区做到了,我们有nouveau和radeon开源驱动程序。 是的,但我们都知道这些驱动程序存在很多问题,例如电源管理和硬件加速以及其他一些问题。 为什么? 因为只有硬件制造商知道其硬件的正确设计,所以社区只能猜测硬件如何在内部工作。 所以问题是,在硬件规范被关闭并保密之前,社区无法做出适当的开源替代方案。

发行没有这样的blob? 我不知道,但看看这个和这个页面 。