这几天,由 Linux 基金会主办的 2022 开源峰会如约而至。Linux 之父 Linus Torvalds 也出席了会议。
一个小插曲是,一张现场传来的他本人的照片让不少网友和粉丝感叹:
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’re not a dead project。)
他说,Linux 身上仍然会涌现出让我感到惊讶和欣喜的新事物,其中还不乏创新。因此,这让他对 Linux 仍然充满了干劲。
下一个内核版本可能支持 Rust
自 2016 年以来,Rust 每年都被 Stack Overflow 开发者调查评为“最受欢迎的编程语言” 。
许多人也开始呼吁在 Linux 内核中增加 Rust 语言的支持,由此还诞生了一个叫做“Rust for Linux”的组织。
出现这一现象最主要的原因是用 Rust 编写会带来更高的计算内存资源利用率,以及更安全。
比如在 2019 年召开的 Linux Security Summit 安全峰会上,有人就提出用 Rust 就可以通过其 type system 和 borrow checker 提供的 API,来避免掉 Android 和 Ubuntu 中 2/3 的内存安全问题。
那么,Rust 有没有可能成为 Linux 内核中除 C 之外的第二种官方语言呢?会上,Linus 也谈到了这个问题。
比较惊喜的是,他表示,大家都以为我们一直在规避风险,但其实我们一定会把它加进来的,也许就从下一个版本开始!
也就是说,官方终于决定把拥抱 Rust,把 Rust for Linux 的 PR 合并到 Linux 内核的主线了。此举赢得了现场观众阵阵掌声,Linus 用了好大功夫才平息住大家的兴奋。
要知道,此前光是 Rust 的支持补丁就已发布到第七版了。
不过,Linus 紧接着也提醒道,目前只会以非常有限的方式来尝试。毕竟 25 年前想换 C++ 进行一些内核补丁操作时就失败了。
(意思用 Rust 重写 2500 万行 C 代码肯定是不可能的咯。)
接着有趣的一幕出现了。Linus 称自己其实是很愿意相信参与每一个参与 Linux 维护的开发者的,但前提是他们没有把事情搞砸。
一旦搞砸,Linus 表示大家都懂得,自己会“口出不逊”。但自己又意识到这样很不礼貌,只好事后再道歉。
Linus 不好意思地说,这种情况已经不是一回两回了,“所以现在,请允许我先给写 Rust 的这帮程序员道个歉。”(手动狗头)
压力现在来到了 Rust 这边。
“开源永远不能保证 100% 安全”
最后,话题转到了开源安全上。
最近,Linux 基金会的 OpenSSF(开源安全基金会)就透露,他们将支出 1.5 亿美元用于对开源软件的安全防护。对此,Linus 称,任何开源项目包括 Linux 内核在内,都不能奢望做到 100% 安全和 100% 无 bug。
“bug 不出现在硬件就会出现在软件,不出现在你的程序就会出现在别人的程序。” (手动狗头)
“唯一的办法就是建立多层防护(layers of security)。”
他进一步解释称,Linux 内核只是整个应用程序堆栈的一层。在内核内部,进程的不同部分已经已经具备多层安全性。对于负责构建整个堆栈的开发人员来说,最重要的是对堆栈中的任一层出现安全漏洞时应该怎么处理都有一个概念。
One More Thing
目前 Linux 内核最新版本为 5.19,Linus 口中的下一个版本叫 5.20 还是 6.0 也引起了很多网友的讨论。
多数人认为该叫 6.0 了。
不仅是因为这一版终于可能会合并 Rust 这一重大更新,另一点别忘了,Linux 的版本号向来不爱往“大数”堆,比如此前 3.19 版本结束后就直接跳到了 4.0~
你觉得呢?
参考链接:
https://venturebeat.com/2022/06/21/linus-torvalds-after-30-years-linux-is-not-a-dead-project/。