为什么 linux 内核使用 linux-libre 代码来摆脱二进制 blob?

oad*_*ams 9 linux kernel

我问这个问题是因为我很好奇 Linux 内核中的二进制 blob 是否提供了某种性能优势。

由于这些 blob 中的许多已被 linux-libre 中的代码替换,为什么相同的代码没有并入 kernel.org 的 Linux 内核中?

Ste*_*n D 14

Linux-libre 项目是针对希望使用完全免费操作系统(自由软件基金会定义)的人的发行版努力的扩展。

目前它由拉丁美洲自由软件基金会FSFLA维护。

根据项目的关于页面

Linux-libre 是一个维护和发布 100% 免费 Linux 发行版的项目,适用于免费系统发行版,删除没有源代码的软件,带有混淆或模糊的源代码,在非自由软件许可下,不允许您更改软件以使其按照您的意愿运行,并且导致或要求您安装额外的非自由软件。

快速阅读最新版本的“deblobbing”脚本表明它主要删除了二进制 blob 和一些文档。在许多情况下,二进制 blob 要么是硬件驱动程序,要么是硬件的固件。固件是需要加载到设备本身的代码,即使存在免费软件驱动程序也经常需要。

据我所知,这些 blob 没有明显的性能优势(尽管没有它们,许多人将没有性能),大多数内核开发人员都喜欢用编写良好的免费代码替换它们。

在您的问题中,您声称“其中许多 blob 已被 linux-libre 中的代码替换”,并询问为什么此代码未被接受。在我阅读脚本时,我可以看到被替换的代码很少。相反,脚本的大部分内容是删除代码。添加的代码旨在“用通知用户相关硬件是陷阱的消息替换对非自由固件的请求”。( Linux Libre 发布公告)

如果您有特定的代码,请在您的问题中提及。大多数 Linux 补丁都在Linux 内核邮件列表许多子系统特定列表之一中讨论。通常可以通过搜索这些列表来找到不包括在内的原因。

  • @Gilles 选择是在自由软件和“部分封闭源代码软件”之间。这不仅仅是“开源”。开源阵营并不追求用户自由,这是Linux-libre存在的主要原因。所以重点是 Linux-libre 删除了功能,但认为这样做是一种道德进步,因为自由是一种道德要求。更多信息:http://www.gnu.org/philosophy/open-source-misses-the-point.html (5认同)
  • 最重要的一点是 Linux-libre *删除了*功能。您可以在支持较少设备的完全开源软件(Linux-libre)和支持更多设备的部分闭源软件(主线内核)之间进行选择。 (2认同)