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