
Linus强推Rust进内核维护者说这是癌症观点Rust进内核是正确的事但那些反对的维护者也不是顽固不化——他们反对的不是Rust而是Linus这种我不管你们死活的推进方式。两边都有道理但我觉得这场争议暴露了Linux内核社区一个更深层的问题维护者制度已经跟不上了。今天早上刷到一条热榜“Linus将不顾反对合并Rust代码内核维护者无奈强调不能让’癌症’扩散”。作为一个老嵌入式工程师我看完也不安起来。这不是第一次了。去年Rust for Linux从实验性转正的时候社区就吵过一次。但这次不一样——这次是Linus本人下场硬推而且反对的声音来自在内核社区混了十几年的老维护者。这场架到底在吵什么。先还原一下现场事情大概是这样的Rust for Linux项目经过5年发展已经从实验性标签毕业了。Linus在最近的邮件列表中表态他不顾反对也要合并更多Rust代码进主线。然后几个关键子系统的维护者炸了。有人直接在邮件里说Rust是癌症说这会污染内核代码库。也有相对温和的反对者他们的论点是我们不懂Rust你让我们怎么review Rust代码内核的维护者制度建立在每个维护者都理解每一行代码的基础上Rust一进来这个基础就塌了。两边越吵越凶。Linus的态度是技术趋势不可阻挡你们不学Rust就会被淘汰。反对者的态度是你让我们review我们看不懂的代码出了问题谁负责我站谁都不站。说说我的真实感受。先说我支持Rust这边。我做嵌入式Linux若干年年。C语言的内存安全问题我踩过的坑很多。野指针、缓冲区溢出、use-after-free、double free——这些bug我每个都排查过。有些是在开发阶段发现的有些是产品出货后客户报上来的。我做过一个安防摄像头项目因为驱动层一个use-after-free bug导致设备在客户现场运行12小时必死机。我花了整整两周用printkwatchdog才定位到问题。改了就一行代码但这一行代价很大。如果用Rust写这个驱动这个bug根本就不会出现。Rust的所有权模型在编译阶段就把这类问题堵死了。所以我从技术角度是完全支持Rust进内核的——安全隐患是真实存在的而Rust确实能解决其中很大一部分。但我也不觉得反对者是在无理取闹。一个子系统的维护者通常是一个人或者两三个人负责review这个子系统所有的patch。他们要对代码的正确性、性能、兼容性负全责。现在你突然让他们review Rust代码——大部分人没学过Rust甚至没时间学。他们连语法都看不懂怎么判断代码对不对Rust进入内核带来的核心矛盾维护者对C代码有深厚理解但对Rust代码只能做黑盒审查这不是态度问题是能力问题。一个维护者说“我连Rust的泛型和trait都还没搞明白你让我review一个用了复杂泛型的Rust驱动”——我觉得这是合理诉求。问题的核心不是Rust是制度这场争议让我看到的是Linux内核的维护者制度在面对Rust这种破圈技术时暴露出严重的局限性。传统的维护者制度基于一个前提所有提交的代码都在每个维护者的能力范围内。C语言内核代码写了30年C的老手基本都能看懂。但Rust打破了这一点。Linus说你们不学Rust就会被淘汰——这话从技术角度看没错但从人情角度看等于对一群把半辈子贡献给内核的人说你们的经验贬值了。换你你也不爽。我认为正确的做法不是不顾反对合并而是建立一套过渡机制建立Rust代码的专项review团队— 不是每个维护者都要懂Rust但每个子系统应该配备一个Rust reviewerRust和C的接口层要极度简化— 减少FFI边界降低review难度给维护者学习时间— 定一个3年过渡期这期间Rust代码合并走特批通道如果Linus能做到这三点反对声音至少能减少80%。这对嵌入式工程师意味着什么如果你是做嵌入式Linux驱动的这事跟你有直接关系。未来3-5年Rust在内核中的地位只会越来越重要。这不以任何人的意志为转移。你看Android已经强制要求新驱动用Rust写了Google的力推是实打实的。但也不要焦虑。经历了好几次技术革命从2.4到2.6内核、设备树替换platform_data、devicetree overlay、设备驱动模型重构……每一次都说不改就会被淘汰但每次真正被淘汰的都是那些拒绝学习的人不是暂时不会的人。但那些内核维护者的反对声有一部分是真的合理的。Linus不能因为自己懂Rust就假设所有人都懂。内核社区的核心资产不是代码是那些有几十年经验的维护者。把这些维护者逼走了换来的Rust代码谁来长期维护总结Rust进内核是好事但不是好事就可以不讲方法。Linus的强行推进可能会造成比Rust带来的好处更大的伤害——社区分裂。我的建议如果你是内核开发者去学Rust。不是为了跟上潮流是为了能看懂别人提交的代码如果你是维护者不要抵制Rust。抵制改变的最后都被改变了这场争论还会持续很久。但有一件事是确定的代码不会骗人Rust的安全性优势是实实在在的。反对者与其说这是癌症不如说我需要时间和支持来学习。