Linux內核維護者難尋!當Linus等人老去時,Linux將走向何方?

前言

在本週召開的線上開源峯會與嵌入式 Linux 大會上,Linux 締造者 Linus Torvalds 談到了爲開源操作系統尋找未來維護者時的種種挑戰。Linus 近年來已經不再發表主題演講,但這一次他與 VMware 公司首席開源官 Dirk Hohndel 展開了遠程對話。

這次討論很快就涉及到了一個令人不安的問題:在目前這一代維護者逐漸老去之後,Linux 項目將走向何處?面對Linus這批五零後、六零後項目管理者,Dirk 提到:“我們這個社區終歸要考慮代際變更的問題。到那時,我們該怎麼辦?”

Linus 認爲,在他們這批 Linux 內核維護者老去之後,很難再找到新的繼任者,因爲在很多年輕開發者看來 “ Linux 內核項目並不那麼有趣 ”。

Linux內核維護者難尋!當Linus等人老去時,Linux將走向何方?

 

內核開發令年輕人感到無趣

在與 Dirk 的談話中,Linus 認爲 Linux 內核開發對大多數人來說是無聊的。“ 我說過內核很無聊,但我的意思是從某種意義上說,許多新技術應該比內核開發更有趣。但是對我和其他內核開發者來說,沒有什麼能夠比與底層硬件交互的內核開發更有趣的了,因爲這能真正控制所有將在計算機中發生的事情。所以內核對我來說並不是很無聊,但是我想大多數人應該會認爲它們很無聊。”

該談話很快就轉到了一個令人不安的問題上:既然現在對於內核開發感興趣的人越來越少,那麼當 Linux 內核在當前一代的維護者老去之後,社區的未來該怎麼辦?

Linux內核維護者難尋!當Linus等人老去時,Linux將走向何方?

 

目前,Linux 內核維護者主要還是即將年滿 51 歲的 Linus 和一些 50 或 60 後的老程序員。“ 在某個時候,Linux 社區需要開始考慮交接變革,屆時我們該怎麼辦?” Dirk 問。

對此 Linus 本人倒是頗爲樂觀,他認爲目前整個 Linux 內核社區其實還不算老。“很多新人還不到 50 歲,他們通常是從事真正工作(給項目貢獻代碼)的人。而那些已經在社區裏近三十年的老人,比如我和一些早期的項目參與者,我們的主要精力已經放在了項目的維護和管理上。”

維護者難尋

“我們確實有不少編寫代碼的人,但缺少維護者。” 在 Linus 看來,Linux 內核項目未來交接的難點在於尋找一個自己的繼任者。“ 事實證明,我們現在很難找到合格的新維護者。因爲成爲內核維護者,你必須一直存在,這意味着你每天都要在電腦前閱讀來自全球各地的電子郵件,對郵件做出反應,就像我這 30 年來做的一樣,從不間斷。我們現在很難找到真正看待他人代碼,並在上游嚴格把關每一個提交,判斷它們能否合併到我們的主幹代碼上的人。這是我們面臨的最主要的問題。” Linus 說。

還有一個問題是維護者必須花費很長的時間才能獲得整個社區的信任。Linus 說:“這不僅是其他維護者的信任,也是所有代碼貢獻者的信任……這需要時間。30 年前,當我們剛開始做這個項目時,我們其實並不需要什麼信任。只要你出現在社區裏,就能參與進來,我們一起把這個東西做好。但現在有很多人依賴着 Linux 內核,你不能像我們曾經那樣做一些瘋狂的事情。”

“ 我不想被 Linus 噴 ”

作爲一個在世界範圍內舉足輕重的開源項目,Linux 內核項目正面臨着開發者老齡化、維護者難尋的局面。而針對這次討論,國外的一些開發者也在論壇上表達了自己的看法。很多人認爲,造成這一局面在一定程度上歸咎於 Linus 與外界溝通的態度。

“維護者難尋?提這問題是認真的嗎,我想不會有人願意收到這樣的答覆 —— ‘這也算是一個 BUG?你已經成爲內核維護者多長時間了?還沒有學會內核維護的第一條規則?我再也不想收到這種明顯的垃圾,像白癡一樣的提交…… ’ —— 當時看到這樣的回覆真的讓我很震驚。” 一位網友引用了此前 Linus 在郵件列表中公開的一段回覆,指出 Linus 在人際溝通中的惡劣態度是很多人對這項工作望而卻步的關鍵因素。

跟帖的網友認爲,在一段正常的工作關係中,上級領導對員工的支持往往比責備更有利於項目的進展。“我承認 Linus 至今爲止所取得的一切成就,但如果有人按照上述的溝通方式與我的團隊溝通,那我一定會糾正這個人的態度再開始工作。儘管 Linus 有着比絕大多數老闆都聰明的大腦,但他的態度和那些狗屎老闆一樣的爛。” 更何況 Linus 還不是任何人的領導,沒有人願意被一個從未見過面的人劈頭蓋臉地公開數落。

去年 Linus Torvalds 宣佈暫時退出 Linux 內核的維護進程,並且還出人意料地爲自己的粗魯言行道歉,而在此之前他已經確認了 Linux 社區將採用 Code of Conduct(CoC)行爲準則以取代之前的 Code of Conflict 衝突解決方案,其旨在營造一個更具包容性,並消除侮辱和貶損的評論和行爲的環境,爲項目與社區的每位貢獻者與維護者提供無騷擾的體驗。

但是該決議引起了不小反彈,多位貢獻者和社區成員對此進行批判和反對,他們認爲 code is code,不要跟其它東西扯上關係,Code of Conduct 簡直是一種過度的政治正確,另外,這些不必要的東西也會影響到項目的開發進度,而這些都不利於社區發展。

雙方的爭論愈演愈烈,甚至出現了人身攻擊,並且還有人在郵件列表發起了撤銷自己貢獻的代碼的討論。

Linux內核維護者難尋!當Linus等人老去時,Linux將走向何方?

 

也有理性的開發者表示,儘管 Linus 的嘴巴 “很笨拙”,但不可否認要做好這項工作真的很難。這名開發者認爲 Linux 內核項目目前存在的問題是學習門檻太高,缺乏曲線平滑的學習資料。“ 雖然我同意大多數人會因爲害怕像狗屎一樣被 Linus 拒之門外,但這對於我們中一些臉皮比較厚的人來說,這其實倒也無所謂。我自己作爲一個年齡比較大的技術人員,我可以理解 Linus 的憤怒來自何處,他需要保護成千上萬的 Linux 用戶;也能理解爲什麼年輕的技術人員可能將其視爲純粹的侵略性。我喜歡能夠在內核級別進行開發,但是相關的學習資源卻是稀缺且通常難以理解的。我已經用各種不同的語言編寫了 20 多年的代碼,但現在我仍然不知道 Linux 內核開發該從哪裏開始才能對項目做出有用的貢獻。”

僅有文檔還不夠

建立由淺及深、完善的學習文檔和示例是一個項目吸引新人才加入所必需的,Linux 內核項目也是如此。但是以 Linux 內核項目如今的體量,要做出一份完美的文檔將是一個非常艱難的工作。一位已經退休的開發者認爲,如今的 Linux 內核項目的上手難度和幾十年前相比已經呈指數倍增長。

“ 當我退休時,我爲我的項目留下了詳細的文檔和示例僞代碼,據我估計,這些代碼,文檔和示例僞代碼將使開發團隊足足工作 8 個月才能完全接手項目。顯然,Linux 內核的文檔和示例代碼帶來的工作量將遠超這一數字。而我剛開始編程那會,在佔用 2kW 以下功率的 16 位微處理器上處理機器代碼程序,我可以理解最少的文檔並瞭解整個過程。但現在,考慮在程序中使用 C 語言進行極其複雜的處理並帶有各種引用和與其他事物的關係協同工作,我甚至完全不知道該從哪裏開始思考。對一個新人開發者來說,要完全掌握 Linux 內核的全貌是一個巨大的、艱難的過程。”

也就是說,Linux 內核項目要吸引更多年輕開發者的加入,所需要解決的問題已經不僅僅是文檔,管理一切事務的組織機構是必須的。“問題必須是 Linus 是否創建了一個自我維持和管理的成熟體系來將整個事情整合在一起。” 由淺及深的教程資料,年輕人才的招募等等,這些工作將需要社區裏具有出色的組織和人際交往能力的人才能實現,而不是光靠代碼可以解決的問題。

最後

去年 8 月 7 日,首個專注於報道 Linux 內核及其發行版的雜誌 Linux Journal 宣佈停刊。雜誌主編在官網公告上表示,因資金斷裂,永久關停,並解僱了所有員工。很多人選擇 Linux,是因爲 Linux 開源免費。免費使用,但是又不願意花錢或參與貢獻。當時有人評論說:“今天死的是一個 Linux 雜誌,明天就可能就是 Linux Mint 或者 LibreOffice。”

如今,Linux 作爲最流行的操作系統,在超過 20 億的設備上運行,已經成爲人類技術發展中的不可或缺的一部分。

很難想象,當 Linus 這批程序員老去時,Linux 將走向何方?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章