Rust正式融入Linux 内核引发争议,Lunduke等人激烈反对!

Rust 正式融入 Linux 内核引发争议,Lunduke 等人激烈反对,但技术真相是渐进式、可选集成,旨在提升安全性而非取代 C,开发者应理性看待语言演进。

Rust 融入 Linux 内核后,Lunduke 为何暴跳如雷?

最近,在 Reddit 上一个名为 r/rustjerk 的社区爆火,讨论的是 Linux 内核正式接纳 Rust 语言之后,知名科技评论人 Lunduke 的激烈反应。

这位以“毒舌保守派”风格走红的 YouTuber 一向以批判新兴科技潮流著称,尤其对 Rust 社区抱有高度敌意。

然而,这次事件的背景其实并不复杂:Rust for Linux 项目经过数年实验,最终成功将 Rust 语言以“可选支持”的形式集成进 Linux 主线内核,标志着系统编程语言生态迎来历史性转折点。

但就在这一里程碑达成后,Lunduke 却在多个视频中痛斥此举是“对自由开发者精神的背叛”“政治正确入侵技术核心”,甚至暗示这是“意识形态操控开源项目的开端”。这种情绪化言论迅速点燃社区,引发大量技术爱好者与 Rust 支持者的反驳和嘲讽,也暴露了当前开源世界深处的理念裂痕。

Lunduke 是谁?为何他的观点总能引爆争议?

在深入讨论 Rust 与 Linux 的技术争端前,有必要认识这位主角:Lunduke,本名 Bryan Lunduke,是美国一位长期活跃于开源与自由软件领域的视频博主。

他早年曾是 Linux 发行版 SUSE 的推广者,后来逐渐转向独立制作技术评论节目,内容涵盖操作系统、编程语言、开源社区动态等。他的风格极具煽动性——语速快、情绪浓、立场鲜明,且常以“捍卫技术纯粹性”“反对大公司操控”为旗帜。

近年来,他尤其热衷于抨击他认为“过度炒作”或“政治化”的技术趋势,比如容器化、云原生,以及 Rust 语言。

尽管其内容有一定信息量,但多数观众认为他更擅长制造冲突而非提供深度分析。尤其在本次 Rust for Linux 官宣成功后,他接连发布数条视频,指责Linux之父Linus Torvalds 和内核维护者“向 Rust 原教旨主义者低头”,甚至讽刺“现在写内核驱动得先背诵 Rust 安全宣言”,完全无视该项目仍为可选、非强制的事实。

这种夸张表述虽吸引流量,却也激起了大量理性开发者的反感。

Rust 真的“入侵”了 Linux 内核吗?技术真相是什么?

很多人被 Lunduke 的煽动性语言带偏,以为 Linux 内核“全面转向 Rust”,甚至“要淘汰 C 语言”。

但事实恰恰相反。Rust for Linux 项目自 2022 年首次提交以来,目标始终明确:在保持 C 语言为主力的前提下,为特定场景(如新驱动、安全关键模块)提供一种内存安全的替代选项

2025 年,该补丁正式进入 Linux 6.x 主线,但这并不意味着 C 被取代。截至目前,内核中仅有极少部分模块(如某些 USB 驱动)开始尝试用 Rust 重写,且完全可选。开发者仍可自由选择使用 C 编写任何组件。Rust 的集成更像是“插件式增强”,而非“语言革命”。

更重要的是,Rust 在 Linux 中的引入严格遵循了 Linus 的“实用性优先”原则——它必须能解决实际问题(如减少内存安全漏洞),且不能破坏现有生态。例如,Rust 代码需通过特殊的绑定层与 C 内核交互,并接受与其他内核代码相同的审查标准。

因此,所谓“强制使用 Rust”“剥夺开发者自由”完全是误读,甚至是刻意曲解。

为什么有人如此痛恨 Rust?情绪背后的技术焦虑

尽管 Rust 的技术优势已被广泛认可(内存安全、并发无数据竞争、零成本抽象),但社区中仍存在大量“Rust 厌恶者”。

他们的反感并非全无道理,而是源于多重现实焦虑。

首先,学习曲线陡峭。Rust 的所有权系统、生命周期、借用检查器对习惯了 C/C++ 或 Python 的开发者构成巨大认知负担,尤其对老一辈内核黑客而言,他们更倾向于“用几十年经验写 C,而不是花半年学新语言”。

其次,工具链与生态尚未完全适配内核开发。虽然 Rust 语言本身成熟,但用于内核开发的 crate(如 alloc、core、kernel)仍处于早期阶段,调试、性能分析工具也不如 C 成熟。

再者,文化冲突。C 社区崇尚“信任开发者”“自由即责任”,而 Rust 则强调“编译器守护你”“安全优先于自由”,这种哲学差异在强调“最小干预”的 Linux 内核世界尤其敏感。正如 Reddit 用户 zackel_flac 所言:“开发者是人,人喜欢自由。一旦你开始强制,仇恨就来了。”——即使 Rust 并未强制,但“未来可能强制”的想象已足够点燃恐惧。

Rust 真的比 C “更好”吗?客观对比优劣

抛开情绪,从纯技术角度看,Rust 与 C 各有千秋。

Rust 的最大优势在于内存安全保证:无需垃圾回收,即可在编译期杜绝空指针解引用、缓冲区溢出、数据竞争等经典 C 语言漏洞。这对内核这种高权限、高风险环境意义重大。据统计,Linux 内核历史上 70% 以上的 CVE 漏洞与内存管理错误相关,而 Rust 可从根本上规避这类问题。

此外,Rust 的模式匹配、代数数据类型、强大的类型系统也提升了代码可读性与可维护性。但 C 也有不可替代的优势:极致的控制力与兼容性。C 几乎能在任何架构上编译,对硬件操作毫无抽象层,且内核已有数千万行 C 代码,重写成本天文数字。

更重要的是,C 的“不设限”哲学允许开发者做任何事——哪怕危险,这也是许多系统程序员的信仰。而 Rust 虽可通过 unsafe 块实现类似能力,但需显式标注,违背了“安全默认”的初衷。

因此,与其说 Rust “取代” C,不如说它在特定高风险模块中提供了一种“更安全的替代方案”。

开源社区的“豆子之争”:Rust 与 Linux 的文化隐喻

一位 Reddit 用户用“加豆子的辣椒酱”比喻这场争端,极其精妙:过去 30 年,Linux 社区像一群老厨师,精心调制出一锅完美的辣椒酱(C 内核),如今有人提议往里加豆子(Rust)。

对部分人来说,豆子营养健康(安全);但对另一些人,这破坏了传统配方的纯粹性。

更关键的是,豆子派不仅自己加,还要求原班厨师花时间研究豆子怎么煮——这触及了开源贡献者的核心痛点:时间与精力有限,为何要为一个非主流语言投入?

这种情绪在内核维护者中尤为强烈。他们每天处理海量补丁,若再增加 Rust 代码的审查负担,无疑加重负荷。

因此,Rust 的引入不仅是技术问题,更是社区治理与资源分配问题。幸运的是,Linux 社区采取了务实策略:Rust 由独立子系统维护,初期仅限新模块使用,且社区提供专门文档与工具支持,尽量减少对主流程干扰。这种“渐进式融合”或许正是化解文化冲突的关键。

Lunduke 的“愤怒”本质:流量驱动下的技术民粹主义

回到 Lunduke 本人,他的激烈反应或许并非源于技术立场,而更像一种流量策略。在 YouTube 算法偏好极端情绪的今天,“愤怒”“背叛”“阴谋”等关键词能极大提升点击率。他将 Rust 描绘成“硅谷精英强加的意识形态工具”,迎合了部分观众对“技术霸权”的不信任感。

然而,这种叙事忽略了一个基本事实:Rust for Linux 的推动者并非大公司,而是来自 Google、Microsoft、AWS 等公司的工程师,他们本可在闭源项目中默默使用 Rust,却选择将其贡献给开源社区,以提升整个生态的安全性。

这种利他行为被曲解为“操控”,实属讽刺。更讽刺的是,Lunduke 自己也曾赞扬过 Rust 在嵌入式、WebAssembly 等场景的应用,唯独对 Linux 内核“敏感”,显然带有选择性立场。正如 Reddit 用户 MattiasHognas 所言:“Lunduke 只是换个新稻草人继续骂,这是他的商业模式。”

开发者该如何看待这场争论?保持开放,拒绝站队

作为普通开发者,我们无需陷入“Rust 派”或“C 派”的二元对立。技术演进本就是多元共存的过程。

Python 没有取代 C,Go 也没有消灭 Java,同样,Rust 也不会“杀死” C。关键在于根据场景选择合适工具。如果你在写高性能驱动、操作系统、或安全关键系统,Rust 值得深入学习;如果你维护 legacy 系统、或追求极致控制,C 仍是王者。

更重要的是,理解语言背后的哲学:C 代表“自由与责任”,Rust 代表“安全与协作”。两者并非对立,而是互补。正如一位内核开发者所说:“我们不是要淘汰 C,而是想在写新代码时,多一个能避免‘踩雷’的选择。”这种务实态度,远比 Lunduke 式的煽动更有建设性。



极客一语道破

Rust安全性来自内存地址指针和内存专用上锁两种思路,首先引入指针方面OO思维实现,因为指针类似于语文中“指称”,人们都接受过语文教育,习惯用名字指称某个对象,小时候恶作剧给同学取小名等等,指鹿为马则违反这种指称习惯,不被常识接受,说明指称/指针已经成为语言的习惯思维。

我们与AI聊天时,也需要注意是否“指称”,也就是说,你问的一些问题,是想让AI核实这些问题在现实中是否落地?还是说,想让AI 翻译,用大白话重新组织?这两者区别大了,是南辕北辙区别!

按指针传递还是按值传递是编程语言固有争论:如按值传递则无需用Rust:借用检查器只防多进程内存冲突