当前位置: 首页 > 科技观察

Linux内核将引入Rust,Linus:万一搞砸了,我又发脾气了,先向大家道歉

时间:2023-03-12 03:17:27 科技观察

这几天,Linux基金会主办的2022开源峰会如期而至。Linux之父LinusTorvalds也出席了会议。一个小插曲是,现场传来的一张自己的照片让不少网友和粉丝感叹:Linus真的老了!不过,53岁的Linus在与老朋友Cardano基金会首席开源官的聊天中表示,他仍然精力充沛。同时,他还透露了一个很大的惊喜:下个版本的Linux内核主线可能会合并用Rust语言提交的PR分支。对Linux的热情30年不减Linux诞生于1991年,到现在已经31岁了。Linux作为世界三大操作系统之一,已经成为云、边缘技术、嵌入式、物联网等技术不可或缺的支撑基础。作为最大的开源操作系统,Linux由开源社区的贡献者维护,每6-10周(即1-2个月)发布一个新的内核版本。当然,这些更新大部分都是Linus自己发布的。2005年,Linus发明了Git,让包括Linux在内的开源项目的开发更加高效。从那时起,至少在过去的15年里,Linux内核的开发过程一直保持相对稳定,发布的规律性也是如此。Linus说维护Linux的工作看起来枯燥、乏味甚至乏味,但我想这才是每个人都需要的。因为稳定的更新过程才能让用户安心。事实上,Linus认为他最高兴的是Linux项目,尽管已有30多年的历史,但还没有消亡。(原话:we'renotadeadproject.)他说,Linux上还是会涌现出让我惊喜和欣喜的新东西,不乏创新。所以这让他对Linux充满动力。下一个内核版本可能会支持RustRust从2016年开始每年都被StackOverflow开发者调查评为“最流行的编程语言”。很多人也开始呼吁在Linux内核中增加对Rust语言的支持,并且有一个组织被称为“RustforLinux”的软件诞生了。出现这种现象的主要原因是用Rust编写会带来更高的计算内存资源利用率,同时也更安全。例如,在2019年举行的Linux安全峰会上,有人提出Rust可以使用其类型系统提供的API,借用检查器来避免Android和Ubuntu中2/3的内存安全问题。那么,Rust有没有可能成为Linux内核中除C之外的第二个官方语言呢?在会上,Linus也谈到了这个问题。意外的是,他说大家以为我们是在规避风险,其实我们肯定会加的,说不定从下个版本开始!也就是说,官方最终决定拥抱Rust,将RustforLinux的PR合并到Linux内核的主线中。这一举动赢得了全场的掌声,林纳斯费了好大劲才平息了大家的激动。要知道,Rust单独的支持补丁已经发布到版本7之前。不过Linus随即提醒,目前只会以非常有限的方式进行尝试。毕竟,25年前尝试切换到C++进行一些内核修补操作失败了。(也就是说,用Rust重写2500万行C代码是绝对不可能的。)然后有趣的一幕出现了。Linus表示,他其实愿意相信每一个参与Linux维护的开发者,但前提是他们不把事情搞砸。一旦搞砸了,林纳斯说谁都知道他会“说坏话”。但我意识到这样很不礼貌,事后只好道歉。Linus尴尬地说,这种情况不是一次两次了,“所以现在,请允许我向写Rust的程序员道歉。”(手动狗头)现在压力在Rust这边。“开源永远不可能100%安全”最后,话题转向了开源安全。近日,Linux基金会的OpenSSF(OpenSourceSecurityFoundation)透露,他们将斥资1.5亿美元用于开源软件的安全保护。对此,Linus表示,包括Linux内核在内的任何开源项目都不能期望100%安全和100%无错误。“如果bug没有出现在硬件上,它就会出现在软件上。如果它没有出现在你的程序中,它就会出现在别人的程序中。”(手动狗头)“唯一的办法就是建立层层安全保障。”他进一步解释说,Linux内核只是整个应用程序堆栈的一层。在内核内部,进程的不同部分已经有了多层安全保护。对于负责构建整个堆栈的开发人员来说,最重要的是要了解如果堆栈中的任何层发生安全漏洞该怎么办。OneMoreThing的Linux内核目前最新版本是5.19,而Linus的下一个版本是5.20或者6.0,这也引起了很多网友的讨论。大多数人认为是时候称其为6.0了。不仅因为这个版本可能最终会包含Rust的重大更新,而且不要忘记Linux的版本号从来都不是“大数字”。羊毛布?参考链接:https://venturebeat.com/2022/06/21/linus-torvalds-after-30-years-linux-is-not-a-dead-project/。