Rust
搜索文档
5 年了!Rust 终于在 Linux 内核中“转正”了
程序员的那些事· 2025-12-18 01:41
转自:CSDN(ID:CSDNnews) 在 Linux 内核世界,很少有技术路线能像 Rust 一样,引发如此长期、激烈且公开的争论。 有人视它为内核安全的"破局钥匙",有人则认为这是对既有工程秩序的冒险挑战。围绕是否该把 Rust 引入内核,过去几年里,邮件列表上的争吵、核心开发者的分歧乃至项目成员的退出,几乎成 了一部持续上演的"内核连续剧"。 而就在不久前,这场拉锯终于迎来了一个明确的节点。 在 2025 年 Linux Kernel Maintainers Summit(Linux 内核维护者峰会) 上,内核维护者们达 成共识:Rust 在 Linux 内核中的"实验阶段"正式结束 —— 这意味着,Rust 不再只是一个被谨慎 试用的新语言,而是被明确认可为 Linux 主线内核的长期组成部分。 五年"实验",一条并不平坦的路 Rust for Linux 项目最早可以追溯到 2 020 年。彼时, 该 项目的定位非常克制:不是取代 C,也 不是大规模重写内 核,而是尝试回答一个问题——Rust 是否值得 Linux 内核 为其 付出额外的复 杂度成本? 正因如此,在很长一段时间里,Rust 代码只 ...
5 年了,Rust 终于在 Linux 内核中“转正”了
36氪· 2025-12-15 11:53
Rust在Linux内核中的发展里程碑 - 在2025年Linux内核维护者峰会上,内核维护者达成共识,Rust在Linux内核中的“实验阶段”正式结束,被明确认可为Linux主线内核的长期组成部分[1] - Rust for Linux项目最早可追溯到2020年,其初始定位是评估Rust是否值得内核为其付出额外的复杂度成本,而非取代C或大规模重写内核[3] - 自2022年以来,已有超过2万行Rust代码被合入Linux上游内核,标志着其从概念验证转向持续演进的真实工程代码[3] Rust获得认可的关键驱动因素 - Rust提供的内存安全模型精准击中了Linux内核长期以来的痛点,同时其引入也带来了新的工具链和构建复杂度等挑战[3] - Rust编写的内核驱动已在真实生产环境中得到验证,例如Google Pixel系列手机的部分底层驱动已采用Rust实现,证明了其现实可行性[4] - 围绕内核开发的Rust生态正在成熟,包括基础库、抽象层和工具链逐步完善,使得用Rust编写内核代码具备可扩展性[4] 官方定调与未来工作方向 - Rust for Linux项目负责人Miguel Ojeda宣布,Rust支持是在Linux v6.1版本中合入主线的,初衷是评估其在技术、流程及社区层面是否值得付出相应成本[5] - 实验阶段的结束并不意味着工作完成,Rust在内核中针对不同架构、内核配置以及GCC与LLVM混合构建的适配仍有大量工作要做[6] - 方向已经明确,Rust将长期留在Linux内核中,但Linux内核仍将长期是一个以C为核心的工程,问题已转变为Rust与C如何更好共存[6][7] Rust驱动的具体落地进展 - 一批由Rust参与编写的重量级项目正在或即将进入Linux主线,包括面向Apple Silicon的GPU驱动Asahi项目、面向NVIDIA基于GSP的GPU的Nova驱动,以及针对ARM Mali GPU的Tyr驱动[7][8] - Asahi项目正朝着完整上游合入迈进,并将在Linux 6.17中加入Devicetree schema支持[8] - Nova驱动计划在Linux 6.19中完成初始启用,而Tyr驱动已经能在Linux 6.18上启动GNOME桌面并运行基础游戏[8] 对行业与生态的宏观影响 - Linux内核将Rust“实验结束”的表态向公司、芯片厂商和开发者社区释放了明确预期,即Rust在内核中是值得长期投入的方向[7] - 这一信号可能促使更多企业为内核开发者提供Rust培训,并推动更多硬件厂商考虑使用Rust编写新一代驱动[7]
“Linux真正的活不是我在干”,Linus爆料近况:近20年不做程序员、没碰过AI编程、压力全来自于“人”
程序员的那些事· 2025-12-08 06:33
Linus Torvalds的角色转变与项目维护哲学 - 过去近20年里,Linus Torvalds的角色已从程序员转变为系统的技术负责人和维护者,更多是在“看着”Linux内核项目向前走[7][8] - 其工作内容发生了明显变化,过去主要工作是拒绝不成熟的提案,但近年来有时反而需要在长期维护者的反对声中,鼓励并同意尝试新事物,例如引入Rust[10][11][12] - 认为Linux内核项目永无“做完”之日,核心工作是持续的维护、代码清理以及应对新硬件和新挑战,项目开展35年后仍在修改核心代码以使其更整洁、更易维护[9][10] Rust语言在Linux内核中的引入与影响 - Rust成为Linux内核的一部分,虽然这比预期花了更长时间,但目前正从实验性阶段转变为内核的真正组成部分[13][14][15] - Rust的引入引发了社区内的讨论与争议,包括代码格式、审查意见分歧等,但Linus Torvalds认为这些争议与其他内核开发领域的分歧并无本质不同,且引入新技术是值得的[13] - 内核社区曾因人际关系等非技术原因,发生将部分功能移出内核以减少摩擦的事件,但这在项目35年的历史中很少发生,社区总体上处理得不错[16] AI对软件开发及Linux社区的影响 - Linus Torvalds本人并未使用AI辅助写代码,但他认为AI是另一种工具,就像编译器解放了手写汇编一样,能大幅提升生产力但不会让程序员消失,甚至可能因开启新领域而需要更多软件程序员[1][24] - AI在内核社区的应用目前大多是实验性的,例如尝试用AI帮助处理补丁流,但AI爬虫对kernel.org源码的抓取造成了巨大干扰[21] - 存在滥用AI生成低质量安全报告或bug报告的情况,这占用了维护者资源,在某些项目中问题比在内核更严重[21] 硬件发展趋势(GPU/AI加速)与Linux的定位 - 行业硬件关注点从CPU转向了Nvidia和AMD的加速处理器(APU/GPU),但这些处理器上运行的可能并非Linux[17][18] - Linus Torvalds认为,AI加速部分虽然是行业新宠,但它并非完全独立,而是Linux帮助培育和实现的不同环境;内核无需成为其中极其不可或缺的一部分,GPU工作负载运行在内核之上是正常现象[18][19] - AI的繁荣带来了积极影响,它使得Nvidia等公司更加关心Linux内核,并成为了该领域的良好参与者,为内核贡献了维护者[19] 开发流程、社区文化与个人压力管理 - Linux内核的开发模式在过去15年里非常稳定,Linus Torvalds喜欢“无聊”的版本发布,因为这意味着没有导致大规模问题的超级刺激新功能[16] - 作为压力管理的方式,Linus Torvalds培养了一个与工作完全无关的爱好——自制吉他踏板,他鼓励在高压工作中找一个允许失败且有趣的爱好来放松[26][27] - 其日常工作主要是阅读邮件但很少回复,如果开发者没有收到他的邮件,通常意味着他对工作感到满意;他为自己外在表现出的愤怒或刻薄形象道歉,并称内心其实是快乐的[30][32]
“Linux真正的活不是我在干”,Linus爆料近况:近20年不做程序员、没碰过AI编程、压力全来自于“人”
猿大侠· 2025-11-23 04:11
行业技术趋势 - AI被视为提升生产力的工具,类似于编译器取代手写汇编,但不会导致程序员消失[21][24] - AI在Linux内核开发中仍处于实验阶段,尚未大规模应用[21] - AI爬虫对kernelorg等开源基础设施造成严重干扰,占用维护资源[21] - Rust语言已正式成为Linux内核组成部分,尽管花费5年时间才完成整合[13][14] 开发模式演变 - 项目维护者角色从主要说"不"转变为需要鼓励团队接受新想法[10][12] - 内核开发重点从新增功能转向持续维护和代码优化,项目周期已持续35年[9] - 每两个月发布新版本,每次发布有上千人参与,开发流程保持稳定[16] 硬件生态变化 - 行业焦点从CPU转向GPU和加速处理器,Nvidia和AMD成为重要参与者[17][19] - Nvidia在AI时代积极拥抱Linux,在Linux内核领域成为良好合作者[19] - GPU运行自有系统,Linux内核主要负责资源管理和虚拟内存等基础功能[19] 技术团队管理 - 大型开源项目需要处理人际分歧,今年出现因摩擦而移除内核组件的情况[15][16] - 维护者更关注代码稳定性,"无聊"的版本发布被视为理想状态[16] - 项目通过引入新技术如Rust来吸引新开发者加入[11] 开发工具影响 - AI代码生成工具在小型项目中效果显著,但复杂内核代码难以直接应用[22] - Vibe Coding方式让新人更容易入门编程,但生成的代码可能难以维护[23] - 现代编程工具可完成90%基础工作,但剩余10%需要专业经验[23]
“Linux真正的活不是我在干”,Linus爆料近况:近20年不做程序员、没碰过AI编程、压力全来自于“人”
AI科技大本营· 2025-11-22 10:00
行业技术趋势与公司战略定位 - Linux内核开发已持续35年,核心工作转变为长期维护和持续支持,而非开发新功能[8] - 行业硬件关注点从CPU转向Nvidia和AMD的加速处理器,但公司认为通用CPU仍是Linux的核心领域[17][18] - AI繁荣促使Nvidia等硬件厂商更积极地参与Linux内核开发,成为该领域的良好参与者[19] 技术采纳与开发流程演变 - 公司角色从主要说“不”转变为有时需要鼓励维护者对新想法说“是”,以打破墨守成规[9][10][11] - Rust语言引入内核已约三年,虽引发争议但正成为内核的一部分,进程比预期缓慢[12][13] - 内核开发流程过去15年保持稳定,每两个月发布一次版本,每次有上千人参与[16] AI技术对行业的影响 - AI在内核开发中的应用仍处于实验阶段,主要用于帮助维护者处理补丁流等辅助任务[21] - AI爬虫对kernel.org等开源基础设施造成严重干扰,并产生低质量的AI生成报告消耗维护资源[21] - 公司认为AI是类似编译器的生产力工具,不会取代程序员,反而可能开启新开发领域需要更多软件人才[25] 开发效率与工具演进 - 公司未使用AI辅助编程,认为内核复杂度高,AI生成的代码从维护角度看可能“糟糕透顶”[23][24] - Vibe Coding等AI编程工具让新人更容易参与编程,但正式产品开发中剩下的10%复杂工作仍需专业经验[24] - 行业生产力提升可通过更少人做同样事或现有人做更多事实现,工具改变工程师工作内容与系统交互方式[26]
Linus 自曝:近 20 年不做程序员,Linux 真正的活不是我在干,没碰过 AI 编程
程序员的那些事· 2025-11-20 06:15
Linux开发模式与维护者角色演变 - Linus Torvalds表示自己过去近20年已不再是程序员角色,更多担任系统技术负责人和维护者,主要工作是确保Linux内核稳定向前发展[5][8] - 其角色从过去主要拒绝激进提案转变为现在需要鼓励维护者接受新想法,例如在长期维护者反对时对新技术说“同意”[6][12] - Git版本控制系统目前也处于旁观者角色,实际开发工作由其他贡献者完成[9] Rust语言在内核中的整合进程 - Rust语言进入Linux内核已约三年时间,尽管引发代码格式争议和审查分歧,但目前已从实验阶段转变为内核正式组成部分[14][15] - 整合过程比预期耗时更长,但最终达到可接受状态,技术争议程度与其他内核开发领域相当[14][16] - 内核团队曾因人际关系冲突移除部分组件,但35年开发历史中此类事件发生频率极低[17][18] 硬件生态变化对Linux的影响 - 行业焦点从CPU转向Nvidia和AMD的加速处理器,但这些硬件通常运行专有系统而非Linux[19][20] - Linus认为GPU硬件管理属于内核上层工作,内核仍负责资源管理和虚拟内存等基础功能[21] - AI热潮促使Nvidia从20年前不关心Linux转变为积极参与内核开发,成为AI云领域的重要贡献者[21] AI技术对软件开发的影响 - AI在内核开发中仍处于实验阶段,主要用于辅助补丁管理和代码审查,尚未成为核心开发工具[23] - kernel.org网站受到AI爬虫严重干扰,同时出现AI生成的虚假漏洞报告消耗维护资源[23] - Linus本人未使用AI编程工具,认为内核代码复杂度高,AI更适合小型项目原型开发[25][26] 开发效率与职业前景展望 - AI工具被类比为编译器进化,虽提升生产力但不会取代程序员,反而可能创造新开发领域需求[27] - 现代编程工具可完成90%基础工作,但剩余10%的复杂问题仍需专业开发者解决[26][28] - 行业可能出现通过AI减少人力或利用现有资源完成更多工作的两种发展路径[28] 项目维护与社区管理 - Linux内核开发模式过去15年保持稳定,每两个月发布新版本,每次有上千人参与[11][18] - 项目维护重点是持续支持新硬件和优化核心代码,35年开发周期中未出现真正“完成”状态[10] - 社区通过邮件进行主要沟通,维护者通常只对问题反馈而不发送积极确认信息[32]
“Linux真正的活不是我在干”,Linus爆料近况:近20年不做程序员、没碰过AI编程、压力全来自于“人”
36氪· 2025-11-19 12:54
行业技术趋势与AI影响 - AI被视为一种提升生产力的工具,类似于编译器取代手写汇编,但不会导致程序员消失[21] - AI在Linux内核开发中的应用目前仍处于实验阶段,尚未完全到位[18] - AI爬虫对kernelorg等开源项目基础设施造成严重干扰,占用维护者资源[18] - Vibe Coding或AI生成代码对于新人入门和快速原型制作有积极意义,但用于正式产品维护可能效果不佳[19][20] - 行业对AI的过度炒作和数万亿美元的投入是当前热点,但期待其回归日常现实[18] Linux内核开发与维护 - Linux项目已持续35年,核心工作转向维护和持续支持,而非开发新功能[5][6] - 内核开发模式在过去15年内非常稳定,每两个月发布一次新版本,每次有上千人参与[6][12] - 项目维护者角色发生转变,从主要拒绝提案转变为有时需要鼓励接受新想法[6][7][8] - Rust语言引入内核已约三年,虽引发争议但正逐渐成为内核一部分,过程比预期更长[9][10][11] - 内核社区通过移除有问题的模块来处理分歧,在35年中这种情况很少发生但处理得当[11] 硬件生态与开源协作 - 行业硬件焦点从CPU转向Nvidia和AMD的加速处理器,但Linux仍负责系统维护和启动[13][14] - AI繁荣促使Nvidia等硬件厂商更积极地参与Linux内核开发,成为良好的开源参与者[15] - 内核与专有GPU工作负载的关系被视为用户空间应用的一种形式,内核深度参与资源管理等基础功能[14][15] - 开源不是宗教信仰,Linux之上运行商业应用和云服务是正常现象[14] 开发者角色与项目管理 - 项目领导者角色从程序员转变为技术负责人和维护者,已近20年未直接编程[1][4] - 日常工作是阅读邮件但很少回复,不回复通常意味着对进展满意[2][25] - 压力管理通过培养与工作无关的爱好实现,例如制作吉他踏板等硬件项目[23][24] - 项目成功归功于社区贡献者,而非个人功劳[4][5]
用了 Rust,谷歌实测安卓内存漏洞率比 C/C++ 低 1000 倍!
程序员的那些事· 2025-11-16 10:14
Rust在Android平台的安全性表现 - 内存安全漏洞占比首次降至所有漏洞数量的20%以下[2] - 与现有C/C++代码相比,Rust带来的内存安全漏洞密度降低了1000倍[4] - 保守估计Android平台约有500万行Rust代码,仅发现1个潜在内存漏洞,漏洞密度为0.2个/每百万行,而C/C++历史密度约为1000个/每百万行[32][33] Rust对开发效率的影响 - Rust相关变更的回滚率降低了4倍,代码审核所需时间减少了25%[4] - 从2023年起,Rust代码平均需要的修改次数比同规模C++少约20%[11] - Rust变更在代码审核中停留的时间比C++少25%,2023到2024年间提升显著[15] - 在中大型变更里,Rust的回滚率约为C++的四分之一,且持续下降[18] Rust在Android系统的应用扩展 - 自2021年起开始在Android系统中引入Rust作为C/C++安全替代方案[5] - 在系统语言整体使用中,Rust使用量快速攀升,新C++代码缓慢下降[6] - 在自研Android代码中,Rust新增代码量已与C++相提并论[9] - 应用案例包括:Nearby Presence协议用Rust重写、MLS的Rust实现纳入Google Messages、Chromium中多种解析器换成Rust实现[23] Rust在系统底层的部署进展 - Android基于Linux 6.12的内核首次默认启用Rust支持,并出现首个正式上线的Rust驱动[24] - 已在固件中使用Rust数年,与Arm合作Rusted Firmware-A项目[24] - 多款安全敏感的Google应用开始用Rust从底层保证内存安全[24] 安全事件处理与改进措施 - 成功避免了CrabbyAVIF中的一个线性缓冲区溢出问题,编号为CVE-2025-48530[25][26] - Android默认的Scudo加固分配器通过保护页机制使该漏洞不可利用[28] - 正在为Rust全面培训课程新增unsafe深度模块,提升开发者对unsafe代码的理解[29] Rust与unsafe代码的安全性分析 - unsafe Rust并不会关闭Rust的大部分安全检查,该观点是常见误解[41] - 封装让安全性更容易推理,unsafe代码块本身会得到更多审查[41] - 即便保守假设unsafe Rust的bug概率等于C/C++,其风险仍被高估[35]
亲历两场编程语言迁移“惨案”,谷歌大佬揭露技术选型真相:90%决策与技术无关
36氪· 2025-11-05 10:58
文章核心观点 - 技术决策,特别是编程语言的选择,往往并非基于纯粹的技术理性,而是深受决策者个人身份认同、情感归属和职业标签等非技术因素驱动[4][8][9] - 在每一次“看得见”的技术辩论之下,都潜藏着一场更为强大且“看不见”的关于“我是谁”、“我想成为谁”的自我对话,后者常常主导最终决策[9][10][18] - 这种由身份认同驱动的决策会导致公司发展速度减缓、成本飙升,甚至错失市场机遇,造成重大经济损失[5][6][11][17] 技术决策的非理性本质 - 早期创业公司Takkle因新任CTO执意将运行良好的PHP系统更换为Perl,导致产品上线推迟9个月,团队规模扩大一倍多,月度烧钱速度从20万美元飙升至50万美元,资金存续周期缩短一半[4][5] - 在谷歌,一个价值5000万美元的技术决策(选择Rust)仅凭跟风炒作就即将获批,尽管按照其汇报的评判标准,Go语言在“易于构建和部署”等具体指标上更具优势[7][8][11] - 决策者常常并未进行真正的技术分析,其技术论证只是为一个基于情感和身份认同的既定选择寻找合理化借口[8][10][11] 身份认同的神经科学基础 - 脑部扫描研究显示,当个人核心信念(身份认同)受到挑战时,大脑会激活与应对物理威胁相同的防御机制(如杏仁核、脑岛皮层),而非进行理性推理[12][13][14] - 大脑无法客观评估对核心信念的挑战,因为这需要暂时解构定义“你是谁”的神经架构,偏见本身已侵蚀了察觉偏见的能力[14][15] - 工程师在评估非擅长领域的编程语言时,其大脑实质上在自我对抗,将技术证据视为对自我身份的威胁[15] 非理性技术决策的经济代价 - 技术栈的选择在产品生命周期内会占据总开发成本的40%到60%[17] - Stripe研究发现开发者有42%的时间都在处理技术债务[17] - 由身份认同主导的决策本质上是拿公司的发展速度、预算和资金存续周期做抵押,只为满足个人的自我认知[10][17] 解决方案:从技术争论转向经济考量 - 需要彻底转变对话核心,不再问“哪种语言最好”,而要问“用这种语言会让我们付出多少成本”[19] - 成本应包括发展速度的损耗、技术债务的积累、招聘难度、运维复杂度等所有关乎公司存活的维度[19] - 经济成本可以量化、对比和理性决策,不会威胁到任何人的自我价值,需要一个能让“隐性成本显形”的框架来引导讨论[19] 社区的不同观点 - 有观点认为编程语言的选择并非决定产品成败的主要因素,项目成功的关键几乎总是取决于项目团队成员的构成以及项目架构师的能力[20] - 企业问题可分为“毁掉整个项目”的致命问题(如糟糕的管理体系)和“给优秀工程师带来麻烦”的棘手问题(如编程语言选择),后者通常不致命[21] - 项目命运真正由市场需求、架构设计和团队执行力决定,而非具体的编程语言选择,技术栈迁移应顺应技术环境但核心价值需延续[22]
Debian APT宣布“Rust令”:六个月内不支持的架构将被淘汰
36氪· 2025-11-03 11:54
决策核心与动因 - Debian项目宣布自2026年5月起,其APT软件包管理工具将强制要求使用Rust工具链[1] - 决策主要动因是提升安全性,计划将解析deb、ar、tar文件以及HTTP签名验证等相关代码迁移至内存安全语言Rust,并采用更完善的单元测试方法[2] - 项目强调依赖现代工具和技术以向前发展至关重要,避免被老旧设备拖累[2] 技术迁移的具体影响 - APT工具当前使用C++编写,未来将同时包含C++和Rust代码,部分组件将用Rust重写[4] - 迁移将导致一些较冷门且缺乏Rust支持的硬件架构面临挑战,包括m68k、HPPA、SuperH/SH4和Alpha[4] - 具体而言,DEC Alpha、HP PA-RISC和Hitachi SH-4架构目前完全没有Rust编译器,Motorola 68000架构的Rust支持也不足以满足Debian要求[4] - 若特定平台无法编译运行Rust代码,则将无法运行未来版本的Debian系统[4] 社区反应与潜在后果 - 社区反应不一,有观点认为强制迁移轻视了不支持Rust的端口,将其视为“复古计算”而非严肃工程[5] - 有反对意见认为Rust尚未达到APT所需的状态,并质疑此决策[5] - 有理性分析指出迁移的安全性理由充分,且能推动Rust在更多平台的使用,但认为6个月的准备时间过短,部分架构因缺乏LLVM支持可能无法按时完成迁移[5] - 最终结果可能是:若6个月内无开发者修复端口的Rust支持,这些端口将只能使用旧版APT并被官方淘汰[5] - 此事也反映出更深层问题:维护特定端口的成本与开发者及用户社区规模直接相关,维护者时间有限,确保软件在仅占0.1%安装量的架构上编译是沉重负担[6]