共计 1632 个字符,预计需要花费 5 分钟才能阅读完成。
如果你不准备好进行一些,可以说是,激烈的辩论,那么 Linux 内核不是一个工作的好地方。然而,该项目中扩展 Rust 在内核中的地位的关键开发者感到“非技术性胡闹”太多了,所以他选择退休。
Wedson Almeida Filho,Rust for Linux 项目 的领导者,写道 上周给 Linux 内核邮件列表,将自己从项目的维护者位置移除。“经过近 4 年,我发现我没有精力和热情去回应一些非技术性的胡闹,所以最好让那些还有热情的人来接手,”Filho 写道。在感谢他的队友时,他指出他认为内核的未来“是与内存安全语言”,如 Rust。“我不是先知,但如果 Linux 不内化这一点,我担心其他内核会像它对 Unix 所做的那样对待它,”Filho 写道。
Filho 还留下了一个“上下文样本”,一个链接指向 一个 Linux 会议演讲的时刻 ,其中一个镜头外的声音, 根据 Filho 在《Register》的采访中的识别 为内核维护者 Ted Ts’o,强烈插话:“问题是:你不会强迫我们所有人都学习 Rust。”在 Filho 请求 Linux 的文件系统实现 Rust 绑定的情况下,Ts’o 说他知道他必须修复他做的任何更改的 C 代码,但他不能或不会修复可能受影响的 Rust 绑定。
“他们只是想保持他们的 C 代码”
Asahi Lina,Asahi Linux 项目 的开发者,上周晚些时候在 Mastodon 上发帖 :“我遗憾地完全理解 Wedson 的挫折感。”指出“一部分 C 内核开发者似乎决心让 Rust 维护者的生活尽可能困难”,Lina 详细描述了他们在编写 直接渲染管理器(DRM)调度器抽象时遇到的内存安全问题。Lina 试图推动一些小修复,使 C 代码“更健壮且生命周期要求合理”,但被维护者阻止。那个 DRM 调度器的 C 代码中的错误是 Lina 的 Apple GPU 驱动中唯一导致内核恐慌的原因,她写道——“因为我用 Rust 编写了它。”
“但我感觉到一些 Linux 内核维护者只是不再关心未来的代码质量,或者稳定性或安全性,”Lina 写道。“他们只是想保持他们的 C 代码,希望我们 Rust 人离开。这真的很可悲 … 而且并没有帮助使 Linux 变得更好。”
Drew DeVault,SourceHut的创始人,第二次博客 关于 Rust 试图在内核中找到一席之地。理论上,内核应该欢迎有动力的新人的热情投入。“实际上,Linux 社区是狂野的西部,而且众所周知,很难就重大变化达成共识,这是该项目迄今为止提出的最广泛的变革,”DeVault 写道。“每个子系统都是一个私人领地,受制于 Linux 的 1700 多名维护者中的每一个的奇思妙想,几乎所有这些维护者在这场比赛中都有自己的狗。这是在赶猫:有效地引入 Rust 一部分是编码工作,九十九部分是政治工作——而且有很多编码工作。”
DeVault 建议 Rust 开发者们建立一个与 Linux 兼容的内核,而不是在内核的政治中考验他们的耐心。“摆脱 Linux 内核邮件列表 的政治斗争可能对将 Rust 引入内核空间的雄心是一个重大胜利,”DeVault 写道。
Torvalds 理解为什么 Rust 的采用缓慢
你可能想知道主要维护者 Linus Torvalds 对此有何看法。他在 2021 年采取了“观望”的态度,希望 Rust 首先在相对孤立的设备驱动程序中证明自己。在上个月的一次露面中,Torvalds…基本上同意了 Rust 导向的开发者的抱怨,尽管是从更远的距离。“我预计 Rust 更新会更快,但部分问题是老一辈内核开发者习惯了 C 语言,不了解 Rust,”Torvalds 说。“他们并不是特别兴奋于必须学习一种在某些方面非常不同的新语言。所以 Rust 有一些阻力。”Torvalds 补充说,然而,“另一个原因是 Rust 基础设施本身并不超级稳定。”
Linux 内核是一个高风险的项目,其中数百或数千名开发者有利益关系;冲突或许是不可避免的。时间会告诉我们 C 语言在内核中编码和思考的主要方式还能维持多久。
Ars 已经联系了 Filho 和 Ts’o 以获取评论,并将根据回应更新此帖子。