Linux面臨系統(tǒng)維護(hù)后繼無人的危機(jī)
在本周的開源在線峰會(huì)和嵌入式Linux會(huì)議上,Linux開發(fā)人員Linus Torvalds談到了為開源操作系統(tǒng)尋找未來維護(hù)者的挑戰(zhàn)。 近年來,Torvalds不再發(fā)表開幕演講,但是這次他與VMware開源總監(jiān)Dirk Hohndel進(jìn)行了通話。
這次討論很快就涉及到了一個(gè)令人不安的問題:在目前這一代維護(hù)者逐漸老去之后,Linux 項(xiàng)目將走向何處?面對(duì) Torvalds 等這批五零后、六零后項(xiàng)目管理者,Hohndel 提到:「我們這個(gè)社區(qū)終歸要考慮代際變更的問題。到那時(shí),我們?cè)撛趺崔k?」
Torvalds 的回應(yīng)是,Linux 內(nèi)核社區(qū)的參與者們年紀(jì)不算太大。他表示,「很多新人都在 50 歲以下,他們才是目前開發(fā)工作的主力。當(dāng)然,跟那些 30 歲上下的人們相比,我們確實(shí)是越來越老了。好在我們這些長(zhǎng)期參與項(xiàng)目的早期成員還能做做維護(hù)與管理工作。」
維護(hù)者在社區(qū)內(nèi)建立信任需要花費(fèi)不少時(shí)間,Torvalds 指出,「這種信任不僅來自其他維護(hù)者,同時(shí)也來自所有代碼貢獻(xiàn)者……這肯定需要時(shí)間。」Torvalds 強(qiáng)調(diào),「事實(shí)證明,維護(hù)者真的不好找。只要開始接管內(nèi)核維護(hù)工作,就得一直堅(jiān)持下去。每天都不能放松。我們得閱讀電子郵件、做出回復(fù),總之得一直待在那兒。而且維護(hù)工作屬于那種要求不低但卻需求面不大的小眾崗位。」
「我們的維護(hù)者確實(shí)不夠。能編寫代碼的人很多,能處理一部分維護(hù)工作的也不少,但很難找到那種可以吸納他人代碼貢獻(xiàn)并立足上游將一切整合起來的人才。這也是我們目前面臨的一大主要問題?!?
另外,Linux 內(nèi)核大部分是由 C 語(yǔ)言編寫的。為此,Hohndel 問道:「C 語(yǔ)言是否會(huì)被 GO 及 Rust 語(yǔ)言取代,我們這些用 C 的人有沒有可能在二十年后變得像現(xiàn)在的 COBOL 程序員一樣?」Torvalds 的回應(yīng)是,「C 語(yǔ)言目前仍是全球十大人氣語(yǔ)言之一。但對(duì)語(yǔ)言的具體選擇并不會(huì)對(duì)內(nèi)核造成太大的影響。與驅(qū)動(dòng)程序相似,內(nèi)核團(tuán)隊(duì)正在研究多種語(yǔ)言接口,相信不久之后就能實(shí)現(xiàn)??偠灾?,我們必將使用不同的模型編寫 Linux 代碼,而 C 絕對(duì)不會(huì)是其中唯一的模型選項(xiàng)。」
頂尖 Linux 開發(fā)者們已至暮年
上一代頂級(jí)程序員們確實(shí)在逐漸老去,Linus Torvalds 本人今年也超過了 50 歲。
Linux 社區(qū)需要新鮮血液,這也是事實(shí)。根據(jù) Linux 基金會(huì)營(yíng)銷與開發(fā)人員計(jì)劃副總裁 Amanda McPherson 所言,「目前 Linux 項(xiàng)目的參與者數(shù)量已經(jīng)達(dá)到歷史最高點(diǎn)。而且自 2005 年以來,已經(jīng)有超過 8000 人為 Linux 內(nèi)核做出貢獻(xiàn)?!沟珡膮⑴c者數(shù)字來看,老一輩 Linux 程序員仍然是項(xiàng)目的主力。
軟件開發(fā)分析公司 Bitergia 創(chuàng)始者之一 Jesús M González-Barahona 就發(fā)現(xiàn),在以「參與項(xiàng)目的時(shí)間」作為「年齡」指標(biāo)對(duì) Linux 內(nèi)核開發(fā)者進(jìn)行統(tǒng)計(jì)時(shí),可以看到新生代程序員的占比一直在逐年下降。目前占比最高的參與者們,一般是十多年前就加入了 Linux 社區(qū),之后幾代的比例則呈現(xiàn)出下降趨勢(shì)。
Linux 社區(qū)當(dāng)然早就意識(shí)到了這個(gè)問題。
2010 年,資深 Linux 開發(fā)者兼 Linux Driver 項(xiàng)目負(fù)責(zé)人 Greg Kroah-Harman 就在 Linux 基金會(huì)協(xié)作峰會(huì)的內(nèi)核小組討論上指出,「項(xiàng)目高層的更迭一直沒能成功完成?!?
Parallels 公司服務(wù)器虛擬化 CTO James Bottomley 也表示,「老一輩貢獻(xiàn)者仍是項(xiàng)目主力。Linux 內(nèi)核開發(fā)工作一直無法接棒,幾年之后不知道還能剩下多少早期成員?!?
谷歌軟件工程師兼高級(jí) Linux 內(nèi)核開發(fā)者 Andrew Morton 則總結(jié)道,「沒錯(cuò),我們正在變老,精力也越來越差。從現(xiàn)在來看,年輕一代也不像當(dāng)初的貢獻(xiàn)者們那樣對(duì)內(nèi)核開發(fā)充滿熱情?!?
從多年前開始,Linux 基金會(huì)就一直試圖解決問題。作為思路之一,Linux 基金會(huì)正努力吸引更多業(yè)余程序員加入進(jìn)來。McPherson 補(bǔ)充道,「雖然 Linux 項(xiàng)目的參與者數(shù)量創(chuàng)下歷史新高,但我們一直在努力吸引更多新的人才。而且大家基本達(dá)成了共識(shí),人才匱乏已經(jīng)成為 Linux 實(shí)現(xiàn)進(jìn)一步增長(zhǎng)的最大障礙。我們希望通過 LinuxCon 在新生代程序員中建立影響力,但目前看來這張網(wǎng)撒得太大,導(dǎo)致很多人搞不清 LinuxCon 到底是以開發(fā)者為中心、還是以系統(tǒng)管理員 / 架構(gòu)師為中心?!?
「懟天懟地懟空氣」的 Linus
盡管 Linus Torvalds 有著無可置疑的天賦,但他對(duì)待社區(qū)參與者的方式使他成為一個(gè)極具爭(zhēng)議性的人物。
對(duì)他行為的相關(guān)抱怨可以追溯到多年前。2013 年,Intel 公司的內(nèi)核開發(fā)人員 Sarah Sharp 稱 Torvalds 的行為是不專業(yè)的,稱 Torvalds「主張進(jìn)行人身恐嚇和暴力行為?!筎orvalds 隨后指責(zé) Sharp 把自己描述成受害者博取同情,不接受任何勸他應(yīng)該改變的建議。
在 2015 年發(fā)表演講說到英偉達(dá)時(shí),Torvalds 還曾轉(zhuǎn)向一臺(tái)攝像機(jī)說「so Nvidia fuck you」并豎起了中指。
2015 年底,Sarah Sharp 宣布退出(Closing a door)內(nèi)核社區(qū)。Sarah Sharp 當(dāng)時(shí)說道,過去一年多時(shí)間她已經(jīng)逐步終止了手中的各項(xiàng)社區(qū)工作,轉(zhuǎn)交了 USB 3.0 主控制器驅(qū)動(dòng)的維護(hù)工作,不再擔(dān)任開源會(huì)議的內(nèi)核協(xié)調(diào)員。她不再遞交任何補(bǔ)丁和 bug 報(bào)告,不再向內(nèi)核郵件列表寫任何的建議。她聲稱,Linux 內(nèi)核社區(qū)的互動(dòng)是一種「潛在有毒的背景輻射」,充滿了性別歧視、語(yǔ)言暴力和不尊重人。
Torvalds 最終也意識(shí)到他的言行會(huì)傷害到社區(qū)發(fā)展。2018 年,他決定休假并反思自己的行為,在 4.19-rc4 版本發(fā)布公告中他寫道:「我將抽出時(shí)間休息并尋求一些幫助,了解如何理解他人的情緒并做出適當(dāng)?shù)姆磻?yīng)... 我不是一個(gè)能對(duì)他人的感受感同身受的人,很多人對(duì)此也并不驚訝。多年來,我誤解了很多人,而我自己并沒有意識(shí)到我對(duì)某些情況的判斷有多么糟糕,這樣造成了一種不專業(yè)的環(huán)境,這樣不太好?!?
寫在最后
去年 8 月 7 日,首個(gè)專注于報(bào)道 Linux 內(nèi)核及其發(fā)行版的雜志 Linux Journal 宣布停刊。雜志主編在官網(wǎng)公告上表示,因資金斷裂,永久關(guān)停,并解雇了所有員工。很多人選擇 Linux,是因?yàn)?Linux 開源免費(fèi)。免費(fèi)使用,但是又不愿意花錢或參與貢獻(xiàn)。當(dāng)時(shí)有人評(píng)論說:「今天死的是一個(gè) Linux 雜志,明天就可能就是 Linux Mint 或者 LibreOffice?!?
如今,Linux 作為最流行的操作系統(tǒng),在超過 20 億的設(shè)備上運(yùn)行,已經(jīng)成為人類技術(shù)發(fā)展中的不可或缺的一部分。我們難以想象無人維護(hù)的后果會(huì)是什么樣。