歡迎您光臨本站 註冊首頁

Linux 核心維護者難尋:“我不想被 Linus 噴”

←手機掃碼閱讀     admin @ 2020-07-03 , reply:0

近日,Linus Torvalds 與 VMware 首席開源官 Dirk Hohndel 關於 Linux 核心維護未來的討論引起了技術圈的關注。Linus 認為,在他們這批 Linux 核心維護者老去之後,很難再找到新的繼任者,因為在很多年輕開發者看來 “ Linux 核心專案並不那麼有趣 ”。

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

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

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

僅有文件還不夠 

建立由淺及深、完善的學習文件和示例是一個專案吸引新人才加入所必需的,Linux 核心專案也是如此。但是以 Linux 核心專案如今的體量,要做出一份完美的文件將是一個非常艱難的工作。一位已經退休的開發者認為,如今的 Linux 核心專案的上手難度和幾十年前相比已經呈指數倍增長。“ 當我退休時,我為我的專案留下了詳細的文件和示例偽程式碼,據我估計,這些程式碼,文件和示例偽程式碼將使開發團隊足足工作 8 個月才能完全接手專案。顯然,Linux 內核的文件和示例程式碼帶來的工作量將遠超這一數字。而我剛開始程式設計那會,在佔用 2kW 以下功率的 16 位微處理器上處理機器程式碼程式,我可以理解最少的文件並瞭解整個過程。但現在,考慮在程式中使用 C 語言進行極其複雜的處理並帶有各種引用和與其他事物的關係協同工作,我甚至完全不知道該從哪裡開始思考。對一個新人開發者來說,要完全掌握 Linux 內核的全貌是一個巨大的、艱難的過程。” 

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

很難想象,當 Linus 這批程式設計師老去時,Linux 將走向何方?


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/116890/linux-kernel-maintainers-are-hard-to-find
Linux 核心維護者難尋:“我不想被 Linus 噴”已經有136次圍觀

http://coctec.com/news/soft/show-post-240655.html