FreeBSD 社区正在讨论是否将 Rust 语言纳入基础系统(base system),以改善系统的安全性和可维护性。
这一讨论始于 2024 年的早些时候,并在 8 月份再次受到关注。
Alan Somers 展示了将 Rust 代码集成到基础系统中的示例,但这一提议并未获得广泛的支持。
他表示,如果 FreeBSD 基础系统采用了 Rust,开发者可以重新 Rust 重写许多组件 —— 而不是使用 C++,例如 ZFS 守护进程 (zfsd)、重写 devd、WiFi 用户空间代码也可以受益于用 Rust 编写,等等。
但也有开发者认为,将 Rust 语言和其工具链纳入基础系统将会带来很多问题,例如与现有 LLVM 版本的兼容性问题,以及是否应该在基础系统中支持整个 Rust 生态系统。
一些开发者提出,应该优先考虑移除基础系统中的工具链,而将 Rust 编写的程序保留在 ports 集合中。
此外,有人担心 Rust 语言的快速发展可能会导致与现有代码的兼容性问题,尽管 Rust 的版本策略和编 ITION 概念旨在解决这些问题。
Rust 社区通过版本策略和编 ITION 概念来确保向后兼容性,这有助于解决与现有代码的兼容性问题。
但在 FreeBSD 社区中,对于如何维护 Rust 代码的长期稳定性和兼容性仍然存在争议。
同时,美国国防高级研究计划局 DARPA 正在研究一个名为 TRACTOR 的项目,用于自动将 C 代码转换为 Rust 代码,但这一项目并不一定成功,因为它依赖于高度先进的技术,如 LLMs 和形式验证。
这一次大讨论,又无果而终。不过预估这一话题还会再次被提起。
https://lwn.net/Articles/985210