本周在線舉行的開(kāi)源峰會(huì)和嵌入式 Linux 會(huì)議上,Linux 開(kāi)發(fā)者 Linus Torvalds 談到了尋找開(kāi)源內(nèi)核未來(lái)維護(hù)者的挑戰(zhàn)。
“目前的維護(hù)者多是 50、60 后,社區(qū)面臨代際更新問(wèn)題。“
Linux 真的后繼無(wú)人了嗎?
Linux: 我們都五六十歲了,社區(qū)需要新老接替
和很多老一輩社區(qū)一樣,Linux 也面臨著同樣的問(wèn)題:當(dāng)前一代的維護(hù)人員老去甚至離開(kāi)時(shí),Linux 將會(huì)發(fā)生什么?
目前,很多 Linux 的維護(hù)者和 Torvalds 一樣,已經(jīng)五六十歲了,“在某種程度上,我們作為一個(gè)群體需要開(kāi)始考慮新老接替。我們?cè)撛趺崔k?”
Torvalds 對(duì)此回應(yīng)稱(chēng),Linux 社區(qū)作為一個(gè)整體并沒(méi)有那么老。“很多不到 50 歲的新人 ; 他們往往是真正在做事情的人。”(不到 50 歲的新人!)
VMware 的 Dirk Hohndel(左)在虛擬開(kāi)源峰會(huì)上與 Linus Torvalds 交談
不過(guò),Torvalds 也指出了一個(gè)問(wèn)題。“不太好找到維護(hù)人員,”Torvalds 說(shuō),幾年前他曾承諾不再對(duì)惹惱他的內(nèi)核開(kāi)發(fā)人員大吼大叫。
“作為內(nèi)核工作維護(hù)者的缺點(diǎn)之一是你必須一直呆在那里,”Torvalds 繼續(xù)說(shuō)。“每天都是這樣枯燥乏味的工作內(nèi)容。
你讀電子郵件,回應(yīng)電子郵件,你必須呆在那里干活。
“我們沒(méi)有足夠的維護(hù)人員。我們有很多人編寫(xiě)代碼,但是很難找到這樣的人,他們會(huì)真正地去看別人的代碼,并將這些代碼逆流而上,最終完善系統(tǒng)…… 這是我們面臨的主要問(wèn)題之一。”
和 COBOL 程序員一樣的命運(yùn)?
Torvalds 稱(chēng),最大的問(wèn)題是,在社區(qū)中建立信任需要時(shí)間。“這不僅是來(lái)自其他維護(hù)者的信任,還有來(lái)自所有編寫(xiě)代碼的人的信任…… 這需要時(shí)間沉淀的。
“30 年前我們剛開(kāi)始的時(shí)候,還不需要考慮這些。就好比,這里有個(gè)坑,你來(lái)了就能干活。”
現(xiàn)在很多人都依賴(lài)于內(nèi)核,就不能像過(guò)去那樣隨心所欲了。”
編寫(xiě)內(nèi)核的大部分語(yǔ)言是 C 語(yǔ)言,它是否被 Go 和 Rust 之類(lèi)的語(yǔ)言取代,以至于 “我們有成為 21 世紀(jì) 30 年代 COBOL 程序員的風(fēng)險(xiǎn)?”
當(dāng)主持人問(wèn)道這個(gè)問(wèn)題時(shí),Torvalds 回答說(shuō) :“C 仍然是十大語(yǔ)言之一。”
然而,他說(shuō)對(duì)于那些 “不是內(nèi)核本身的核心”的東西,比如驅(qū)動(dòng)程序,內(nèi)核團(tuán)隊(duì)正在考慮 “采用接口來(lái)做這些,例如,在 Rust 中…… 我確信這將會(huì)發(fā)生”。
有史以來(lái)最大的發(fā)行版:5.8 背后的路漫長(zhǎng)而又艱辛
在線上峰會(huì)上,針對(duì)即將發(fā)布的 “非常重要的”5.8 內(nèi)核版本,Torvalds 作出了以下回應(yīng):
“這可能是其中一個(gè)版本,因?yàn)樗囊?guī)模很大,我們將不得不推遲最終版本的發(fā)布,并給它一個(gè)或兩個(gè)比平常更多的 RCs(候選版本),”Torvalds 說(shuō),并補(bǔ)充道 :“但到目前為止,一切都很順利。”
Torvalds 說(shuō),Linux 內(nèi)核既無(wú)聊又有趣。
“我說(shuō)過(guò),內(nèi)核很無(wú)聊,但我的意思是,從某種意義上說(shuō),許多新技術(shù)應(yīng)該更有趣。
對(duì)我和其他很多人來(lái)說(shuō),沒(méi)有什么比在底層與硬件交互并真正控制正在發(fā)生的一切更有趣的了。內(nèi)核并不乏味,但大多數(shù)人卻認(rèn)為它們應(yīng)該乏味。”
在之前 6 月中旬,就 Torvalds 宣稱(chēng) 5.8 是 “我們有史以來(lái)最大的發(fā)行版之一”,據(jù)說(shuō)有更新所有代碼中的 20% 部分。
即將發(fā)布的版本中有什么?重點(diǎn)包括更新的驅(qū)動(dòng)程序,對(duì)即將面世的 IBM / OpenPOWER POWER10 處理器的初始啟動(dòng)支持,KVM(基于內(nèi)核的虛擬機(jī))的改進(jìn),包括對(duì)嵌套 AMD 實(shí)時(shí)遷移的支持,針對(duì) Microsoft 的 exFAT 的三星支持的文件系統(tǒng)驅(qū)動(dòng)程序的更新以及對(duì) Habana Labs Gaudi AI 培訓(xùn)處理器的加速器支持,Torvalds 提到的最后一個(gè)是占大量新代碼的原因:英特爾的 Tiger Lake 處理器也支持 Thunderbolt。
雖然 5.8 版本比 4.9 版本由更全面的發(fā)展,需要堅(jiān)守崗位的維護(hù)人員也變得更多,但是這一切還是不能給 Torvalds 的真性情合理解釋。
真性情的 Linux 之父:從 91 年成立一刻都沒(méi)有離開(kāi)過(guò)
Torvalds 似乎一直是以真性情出名,在壓力很大的時(shí)候,給熱心的程序猿回一些帶有情緒的字眼,以至于演變成了爆炸性的新聞。還有人提交了一次令系統(tǒng)崩潰的補(bǔ)丁程序后,他的情緒在那會(huì)似乎占了上風(fēng) ...
事后他向眾人道歉。
Torvalds 在道歉信里表示,他不是一個(gè)具有共情心的人,他誤會(huì)了大家,雖然是在尋求更好的補(bǔ)丁程序中,但也不應(yīng)該流露壞情緒,維護(hù)之路漫長(zhǎng)而艱辛,他不想因?yàn)樽约旱膲毫o大家?guī)?lái)痛苦,并保證會(huì)學(xué)著如何理解情緒而不傷害他人。
他表示成立了近 30 年的項(xiàng)目,他需要在壓力爆棚的時(shí)候好好喘口氣,只有好好的休息,才能繼續(xù)前進(jìn)。短暫的休息并不是要放棄該項(xiàng)目,他只是想要更好地繼續(xù)。
可以說(shuō),Torvalds 對(duì)錯(cuò)誤代碼的容忍度幾乎為零。為了保持廣泛使用的內(nèi)核盡可能穩(wěn)定和高效,Torvalds 在原則上堅(jiān)持不退讓。
從 1991 年成立該項(xiàng)目開(kāi)始,他一刻都沒(méi)有離開(kāi)過(guò),至今 Torvalds 仍管理著內(nèi)核發(fā)行,所有內(nèi)核發(fā)行均由來(lái)自全球 1,200 多個(gè)組織的 10,000 多個(gè)開(kāi)發(fā)人員提交的源代碼精心制作而成,并通過(guò)一組維護(hù)人員進(jìn)行審核,這些維護(hù)人員負(fù)責(zé)構(gòu)成項(xiàng)目的各個(gè)組件 - 從設(shè)備驅(qū)動(dòng)程序到內(nèi)存管理。
所以下一位守護(hù)者到底在哪里?Torvalds、Linux 還有用戶(hù)們都在等著你。