Answers:
斯托曼是正确的。Linux内核包括一些用于外围设备的非免费固件。该固件未存储在设备上。每次启动时必须将其复制到设备。没有“斑点”,则无法使用该设备。将固件下载到设备的优势在于,它允许通过简单地更新计算机上的固件来更新设备。
这些“斑点”的问题在于它们就是这样-制造商分发的大量二进制文件。运行设备的知识通常是专有的。理查德·斯托曼(Richard Stallman)和其他自由软件的倡导者对此表示反对,因为它们没有提供用于创建二进制文件的源代码。包括官方Linux内核在内的大多数发行版仍然提供这些Blob,因为它们大大提高了与设备的兼容性(没有开放的替代方案),并且因为它只是“固件”。
(旁注:有人指出,如果您主张开放式固件,那么您提倡为FPGA设计开放式HDL图仅几步之遥,这将损害公司的硬件知识产权。但是,请注意,固件仍然可能是恶意的;例如,蜂窝调制解调器固件具有不受限制的网络访问权限以及对系统的相当广泛的访问权限。这是“没有非自由软件”的绝对立场的辩护。
有许多发行版可以创建“真正的自由” Linux发行版。最受欢迎的一种是Trisquel。它们基于Ubuntu,并具有彻底的去污过程。FSF要分发Live CD时使用此发行版。我上次听说Stallman使用的那个叫GNewSense;它基于Ubuntu和Debian。 FSF认可的任何内容都将完全无斑点。
Canonical是否包括这些内容以控制Ubuntu项目?
我认为这显然是不正确的。需要这些blob的是硬件,因此,由用户来控制购买的硬件,而不是Canonical。如果用户选择仅使用具有免费软件驱动程序的硬件,则不会使用任何Blob。
因此,它与Canonical的“保持控制”无关,因为用户可以选择使用Ubuntu而无需使用任何二进制Blob。这意味着Canonical在这方面没有任何可以控制的特定控制。
仅为了方便已经选择了非免费硬件的用户而运送Blob。
(公开:我为Canonical工作。这个答案反映了我个人的观点;我不能在这个领域代表我的雇主发言。)
检查维基百科:
在开源软件的上下文中,二进制blob是没有公开可用源代码的封闭源二进制纯驱动程序。该术语通常是指加载到开源操作系统内核中的闭源内核模块。
这些什么是自由软件无法做到的?理论上没什么。但是实际上,硬件公司不想为他们的硬件发布开源驱动程序,因为这会给竞争对手提供有关硬件设计的提示。因此,例如Nvidia和AMD不会发布开源驱动程序。您可能会说,社区可以做到这一点,我们拥有nouveau和radeon开源驱动程序。是的,但是我们都知道这些驱动程序存在很多问题,例如电源管理和硬件加速以及其他一些问题。为什么?因为只有硬件制造商才知道其硬件的正确设计,所以社区只能猜测硬件在内部如何工作。因此,问题在于,在关闭硬件规范并将其保密之前,社区无法做出适当的开源替代方案。