Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

這幾天,由 Linux 基金會主辦的 2022 開源峰會如約而至。Linux 之父 Linus Torvalds 也出席了會議。一個小插曲是,一張現場傳來的他本人的照片讓不少網友和粉絲感嘆:Linus 真的老了!

Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

不過,53 歲的 Linus 在和老朋友 Cardano 基金會的首席開源官進行的一番暢談中卻表示,自己仍然充滿了幹勁。同時,他還透露了一個大驚喜:

下一個版本的 Linux 內核主線,可能就會合併用 Rust 語言提交的 PR 分支了。

對 Linux 的熱情 30 年未減

Linux 誕生於 1991 年,現在已經有 31 年歷史。

作為全球三大操作系統之一,Linux 已經成為雲、邊緣技術、嵌入式和物聯網等技術不可或缺的支撐基礎。

Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

作為最大的開源操作系統,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 開發者調查評為“最受歡迎的編程語言” 。

Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

許多人也開始呼籲在 Linux 內核中增加 Rust 語言的支持,由此還誕生了一個叫做“Rust for Linux”的組織。

Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

出現這一現象最主要的原因是用 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談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

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~

你覺得呢?

Linus談Linux內核將引入Rust:以防此事搞砸了我又發脾氣 先給大家道個歉

參考鏈接:

https://venturebeat.com/2022/06/21/linus-torvalds-after-30-years-linux-is-not-a-dead-project/

(0)
上一篇 2022-07-02 17:17
下一篇 2022-07-02 17:17

相关推荐