我问这个问题是因为我很好奇 Linux 内核中的二进制 blob 是否提供了某种性能优势。
由于其中许多 blob 已被 linux-libre 中的代码替换,为什么相同的代码没有被合并到 kernel.org 上的 Linux 内核中?
答案1
Linux-libre 项目是各发行版针对希望使用 Linux 的人们所做的努力的延伸。完全免费的操作系统,定义为自由软件基金会。
目前它的维护者是FSLA,拉丁美洲自由软件基金会。
根据关于页面对于该项目:
Linux-libre 是一个维护和发布 100% 免费 Linux 发行版的项目,适合在自由系统发行版中使用,删除不带源代码、源代码模糊或模糊的软件,在非自由软件许可下,不允许您更改软件以使其按照您的意愿运行,并导致或要求您安装其他非自由软件。
快速阅读最新版本的“deblobbing”脚本显示它主要删除了二进制 blob 和一些文档。在许多情况下,二进制 blob 要么是硬件驱动程序,要么是硬件的固件。固件是需要加载到设备本身上的代码,即使存在免费软件驱动程序,也通常需要固件。
据我了解,这些 blob 没有明显的性能优势(尽管,如果没有它们,很多人都会有不性能),并且大多数内核开发人员都愿意用编写良好的免费代码替换它们。
在您的问题中,您声称“许多这些 blob 已被 linux-libre 中的代码替换”并询问为什么该代码尚未被接受。在阅读脚本时,我发现被替换的代码非常少。相反,大部分脚本都在删除代码。添加的代码旨在“用通知用户相关硬件是陷阱的消息替换对非自由固件的请求”。 (Linux Libre 发布公告)
如果您有特定的代码,请在您的问题中提及。大多数 Linux 补丁都在Linux 内核邮件列表或其中之一许多子系统特定列表。通常可以通过搜索这些列表来找到不包含的原因。