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


9

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

由于这些blob中的许多斑点已被linux-libre中的代码替换,为什么在kernel.org上未将相同的代码合并到Linux内核中?


尽管我认为您的问题是合法的,但我质疑答案是否正确地是主题
xenoterracide 2010年

简而言之,它们可能不会更快,并且只是在那里替换专有代码,以使内核更纯净,因此具有开放性
xenoterracide 2010年

@xeno:我尝试为此写一个平手的答案。让我知道您是否认为它会偏离主题,我将对其进行编辑。
史蒂文D

Answers:


14

Linux自由项目是对希望使用自由软件基金会(Free Software Foundation)定义的完全免费操作系统的用户的发行版所做的努力的扩展。

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

根据项目的关于页面

Linux-libre是一个维护和发布100%Linux发行版的项目,适用于Free System发行版,在非Free Software许可下,删除包含在没有源代码的情况下,带有混淆或混淆的源代码的软件,不允许您更改软件以使其能够执行所需的操作,并且会诱使您或要求您安装其他非自由软件。

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

据我了解,这些Blob并没有明显的性能优势(尽管没有它们,许多人将没有性能),并且大多数内核开发人员都希望用编写良好的免费代码来代替它们。

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

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


2
最重要的一点是,Linux-libre 删除了功能。您可以选择支持更少设备的完全开源软件(Linux-libre)和支持更多设备的部分开源软件(主线内核)。
吉尔斯(Gillles)“所以-别再邪恶了”,2010年

我只是假设将使用等效的功能代码替换blob。错误的假设。
oadams 2010年

4
@Gilles在自由软件和“部分封闭源代码”软件之间进行选择。不只是“开源”。开源阵营不是在用户自由之后,这是Linux-libre存在的主要原因。因此,重点是Linux-libre删除了功能,但考虑到这样做是合乎道德的,因为自由是合乎道德的要求。更多信息:gnu.org/philosophy/open-source-misses-the-point.html
Fernando Briano 2010年

1
@Fernando:因为这不是第一次出现……在我的上面的评论中,我使用“开源”作为“软件像“言论自由”一样自由”的词义少且广为人知的同义词(简称“免费软件”一词​​通常被理解为价格为0的软件。这两个表达式之间的区别与回答该主题中的问题无关,并且在此站点上不合时宜。
吉尔斯(Gilles)“所以,别再作恶了”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.