Rust在Linux内核中的发展历程
Rust作为一种比C语言更现代且内存安全的编程语言,曾被认为将逐步进入Linux内核。然而,这一过程并非一帆风顺,经历了多次争议和挑战。
初期进展与支持
2021年,Linux内核创始人Linus Torvalds对Rust表示赞赏,但采取了“观望”态度。2022年10月,Torvalds批准了在内核中添加Rust代码支持的拉取请求,标志着Rust在Linux内核中的初步进展。
进展受阻与争议
到2024年底,Rust的进展因各种原因受阻,Rust for Linux项目的负责人因“非技术性原因”辞职。Torvalds表示理解进展缓慢,但指出老一代内核开发者习惯于C语言,对学习新语言并不热衷。尽管如此,这种争议在开源社区中被视为正常现象。
近期紧张局势
最近两个月,Linux内核邮件列表中的讨论变得紧张。Torvalds和另一位长期领导者Greg Kroah-Hartman都认为Rust可以进入内核,但不会强迫开发者使用Rust,尤其是对于超过20年的C代码。
关键人物与观点
- Hector Martin:Asahi Linux项目负责人,因在内核中实现Rust的障碍而辞职,认为Rust对于开发Apple最新芯片的高效和安全驱动程序至关重要。
- Christoph Hellwig:DMA API维护者,反对在其负责的代码部分引入Rust,认为跨语言代码库难以维护。
- Linus Torvalds:批评Martin将问题带到社交媒体,并对Hellwig的反对意见进行了回应,强调维护者可以拒绝使用Rust,但不能阻止Rust代码与其C代码的交互。
Torvalds的立场
Torvalds明确表示,维护者可以选择不参与Rust的开发,但不能阻止Rust代码在其控制区域的使用。他提出了“保护墙”的概念,即维护者可以选择不处理Rust代码,但不能对基于其C接口的Rust代码拥有否决权。
Kroah-Hartman的支持
Kroah-Hartman支持Rust进入内核,认为Rust可以解决C语言中的许多错误,尤其是内存安全问题。尽管混合语言代码库难以维护,但他认为内核开发者有能力应对这一挑战,并强调Rust的引入有助于Linux项目的长期成功。
未来展望
尽管Rust在Linux内核中的未来尚不确定,但完全压制Rust与C代码的交互似乎不是长期可行的策略。Redox项目和Linux分叉为纯C项目的可能性被提及,但这些讨论低估了Linux作为主导基础设施操作系统的重要性。
总结
Rust在Linux内核中的发展经历了从初步支持到进展受阻,再到近期紧张局势的过程。尽管存在争议,但Torvalds和Kroah-Hartman等关键人物都认为Rust有其价值,尤其是在内存安全方面。未来的发展方向将取决于社区如何平衡新旧语言的共存与协作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。