1. 程式人生 > >Linus Torvalds: Linux 之旅既有趣又幸運,我不敢奢望精通核心的全部

Linus Torvalds: Linux 之旅既有趣又幸運,我不敢奢望精通核心的全部

2017 年 6 月,Linux 基金會首次在中國召開 LinuxCon,有幸見到 Linus Torvalds 本尊,從進入媒體視線、訪談交流到離開的三個多小時內,Linus Torvalds 一直面帶微笑。

在我看來,這種微笑不是職業訓練出來的,而是一個純粹技術人發自內心的表達。這位名揚 IT 界二十餘載的神級人物,想必早已過了恃才傲物、口沸目赤的階段,內心充盈的更多是工作中獲得的欣慰與肩負的責任。

在他提到不想關心 Linux 技術以外的任何事情、一週不寫程式碼就坐立不安的時候,我似乎看見了那個 11 歲學習 BASIC 並從此再也沒有離開自己所愛的大男孩兒,擁有一顆不老心的 Linus Torvalds 依然葆有著他的技術好奇。

以下文字由 InfoQ 主要整理自 LinuxCon 大會上的媒體訪談及 Linus Tourvalds、Dirk Hohndel 的交流環節。

除了技術的其他一切工作都交給基金會打理

建立之後的Linux 系統越做越好並受到廣泛關注,Linus Torvalds 於 2003 年決定離開當時的公司、加入開原始碼發展實驗室以專職投入到 Linux 核心的工作,後來 Linux 基金會正式成立。

Linus 只想做技術,不想處理技術以外的事情。“如果你是一名工程師,很有可能你只想處理自己感興趣的技術問題,其他一切事情你都想移交給別人來處理。”

正如所願,這就是 Linus Torvalds 和基金會的分工,基金會負責接管許可證、專利、法務等問題,處理電話、郵件和檔案準備等工作,事無鉅細。LinusTorvalds 說他很慶幸自己不需要擔心商業和管理的問題,他只要能領到工資不擔心養孩子上學的問題就很好。

Linux 基金會執行總監 Jim Zemlin 稱這是正確的模式: Linux 作業系統標準價值 103 億美元;Linux 基金會擁有 Linux、Kubernetes、Cloud Foundry、Xen 等專案,以及 CNCF 基金會、Node 基金會等,整體所寫的程式碼價值標準為 145 億美元;由此估算 Linux 的經濟價值佔據整體價值 71%,不愧為開源專案鼻祖。

Linux

Linux 系統的集中式管理是否可持續?

在問及現在是否還編寫 Linux 核心的程式碼時,Linus Torvalds 坦言現在做的專案管理的工作,他有一小撮頂級開發者共同協作,當有新的任務時,他知道應該把任務分配給誰。比起程式碼編寫這樣細節的問題,他需要更加關心的是 code flow 和 process,擔當起架構師的角色,關心程式碼穩定和如何改進更高層次更抽象的工作內容。Linus 強調到核心維護小組實力超群,由數十位頂級技術人員組成。Linux 核心每三個月(70 天左右)釋出 1 個版本,即便在不同國家出差,Linus 也要克服時差按時釋出。

VMware 開源技術總監 Dirk Hohndel 問到,這樣開發模式是否是可持續性的?Linus 笑著回答如果當前團隊中有程式設計師變老變胖不想繼續做下去的話也沒有問題,因為會有新的程式設計師補充進來。

Dirk 又追問 Linus 道,在核心不斷提升迭代的過程中,是不是你具有著絕對的決定權?Linus 回答到“不是的”,他發自內心地鼓勵大家按照自己的需求建立 fork,如果最終這樣的想法有良好的結果做證明,其精華部分就會被吸收到 Linux 核心專案中。Linus 表示雖然大部分 fork 不是很優秀,但是有一小部分是好的。Dirk 對此總結到,當今的分支發展再吸收程式碼的模式其實反映的就是 Linus 本人或其團隊的決定性。

開源

創造 Git 是意外之喜,卻比 Linux 更受欣賞?  

Linus 曾在一次外媒訪談中表示,建立 Git 從來不在他的計劃內,版本管理系統(和資料庫)是他最不感興趣的方向,甚至帶著一種本能逃離式的討厭。曾經的 BitKeeper 出現令他眼前一亮,本地可以留有一份原始碼,很好地管理了分散式團隊中“誰可以修改程式碼”的許可權問題。2005 年,開發 BitKeeper 的商業公司同 Linux 核心開源社群的合作關係結束,他們收回了 Linux 核心社群免費使用 BitKeeper 的權力。Linus 不想倒退回到沒有高效版本管理的時代;而除了 BitKeeper 之外,沒有其他軟體可以做到更好的遠端協同;並且 Linus 還很在意程式碼的完整性和整個管理流程。為此,自己動手研發一個軟體成為了當時唯一的解決方案。

基於 BitKeeper 的使用經驗並結合了團隊的訴求,Linus 花費數週創造了 Git 的初始版本,該系統定位目標特色是:

•    速度

•    簡單的設計

•    對非線性開發模式的強力支援(允許成千上萬個並行開發的分支)

•    完全分散式

•    有能力高效管理類似 Linux核心一樣的超大規模專案(速度和資料量)

十二年來,Git 圍繞當初設定的目標不斷迭代,並且深受喜愛。

然而,在 Git 被創造出來之後的前三四年,Linus 稱業界對它並不是很認可,因為這種版本管理方式與大家已經習慣的 SVN 方式相差很大,當時普遍反響是 Git 太難用了。

但是慢慢地,圈內的聲音發生了變化,Linus 認為大家應該開始接受並適應了 Git。

而幾乎每個開發者都會使用的 GitHub 則使用 Git 為核心技術,於 2007 年問世。一個有趣的故事是,Linus 本人欣賞但不使用 GitHub,並認為 GitHub 還有可以提高改善的地方。在一次 linux.com 的採訪中,Linus 曾經表示 GitHub 平臺不適合核心開發,功能設計依然比較侷限。

Linus 告訴記者們,“我女兒的同學們在聽說她的父親是 Git 的創作者之後非常興奮,這種興奮程度要比說有個 Linux 創作者的父親更高。”Linus 總結到,對於現在的 CS 學生們,Git 似乎是個更棒更有趣的產品;這或許代表著年輕一代更熟悉更欣賞 Git。

Linus 對 Git“更走紅”的現象表示驚訝,一方面是因為 Git 最初只是為 Linux 核心開發者們而建;另一方面 Git 只花費了十天(相比常年深耕 Linux 系統)。

如果重來一次,你會做什麼?  

Linus 表示自己曾經接觸過硬體,但是這很危險,他稱自己對硬體“破壞力很強”。換而言之,Linus 很自知地沒有選擇在硬體的道路上繼續走下去。

不過,他對現在的 Raspberry Pi、FPGA 電路板很感興趣,如果重來一次又不可以選擇編寫 Linux 的話,他會考慮基於硬體開發版的程式設計。

堅持不意味著得到,去做你喜歡的事情吧  

Linus 深耕 Linux 程式碼二十五年如一日,InfoQ 問到 Linus,是否只要堅持到最後大概率而言都會收穫一些成果?Linus 表示他非常想告訴大家“堅持就是勝利”,但是很遺憾的是事實並非如此。最重要的是找到自己感興趣的事情去做。這二十五年來做 Linux 系統,總會有不斷新的挑戰出現,所以 Linus 稱這些年非常有趣並不是充滿重複的工作。

那麼為什麼 Linus 可以做這麼久?

最靠譜的答案也許就是 Linus 所說的他自己深深喜歡程式碼,除了程式碼之外的事情,他都不希望考慮或參與,比如許可證專利,與外界公眾的溝通,或者怎麼保持盈利以養家餬口;很多技術人都是這樣的,他們希望可以心無旁騖地做技術工作,不希望被無關的瑣事打擾。

除了儘可能地縮小和聚焦自己的工作範圍,興趣還可以讓人更主動地工作。Linus 說他也會度假很喜歡潛水,但是一旦在外面“浪”過一週,他就“心癢癢”地想回去程式設計。

Linus 非常強調自我驅動,他強調一定要知道自己內心想做什麼,什麼是真正讓你感興趣的事情。比如,如果你對某開源專案感興趣,那你可以去閱讀學習原始碼,但是要警惕成為專家的想法:Linux 核心那麼大,沒有人瞭解全部、沒有人是專家,Linus 稱自己也不是面面俱到。

寫在後面  

“Linux 系統和您個人所取得的成功是一種偶然還是必然?”

Linus Torvalds 回答說,這份成功的背後既有必然性也有偶然性。其中偶然性,是在於時機剛剛好。如果 Linux 出現再早幾年就可能趕不上網際網路的發展,沒有了網路傳播、社群協作也就很難取得成果。如果再晚幾年,可能成功的就是另外的作業系統。也就是說,必然性在於大家對開源作業系統的需求。而 Jim Zemlin 則表示“Do the right thing”,並且成功需要有良好的模式。

正式採訪結束後,Linus Torvalds 立刻被媒體們團團圍住,他依然保持微笑地與大家交流。在徵求 Linus 簽名時,他有些不好意思地說“我的簽名很醜”並在名字下面附上了“the ugliest signature ever”。我順勢詢問是否有一句話可以送給開發者們時,他遲疑之後說自己不敢給出這樣莊重的建議;但是他表示他認為做自己喜歡的、並對其他人也有幫助的事情很重要。

隨後,中國開源軟體推進聯盟主席陸首群走進採訪室,和 Linus 見面擁抱聊天。陸先生從 20 世紀九十年代就開始推動包括 Linux 基金會在內的開源軟體組織在中國的發展。

二十年之後的開源世界是怎樣的?

Jim Zemlin 稱他認為會有更多的中國開發者成為開源界的領軍人物、核心貢獻者,過去一年 Linux 基金會旗下成員數量有了 400% 的增長;現在的 LinuxCon 是將矽谷的人請到中國來演講,那麼二十年之後應該希望可以邀請中國技術人去美國分享。不過,Dirk 表示英文很重要,他建議大家一定要勇於用英文表達自己。

文章來自微信公眾號:高效開發運維