Linux 之父:比起預測未來,我更願意作個踏實處理 Linux 每個小問題的工程師

2236111019_73244ced95_z

1991 年,22 歲的 Linus Torvalds 一邊在芬蘭赫爾辛基大學學習電腦,一邊設計了 Linux 的系統內核。之後,Linux 迅速發展為一個可以在智慧手機、伺服器等各種平臺上運行的功能全面的開源作業系統。在 Linux 系統誕生 25 周年之際,Linux 之父 Linus Torvalds 在採訪中回憶了這四分之一個世紀以來他和 Linux 的故事。

  • 記者:現在你比二十五年前要有更豐富的程式設計經驗,有什麼你希望自己在當年剛開發 Linux 的時候就知道的嗎?

Linus Torvalds:現在想起來,我覺得自己當年真是初生牛犢不怕虎。如果當時我真的知道從頭建立一個作業系統的難度,肯定是不會有勇氣去做的。這種年少無知也讓我從一開始就沒有按照前人的老路程式設計編寫內核。

我既不知道自己想要的系統應該怎麼做,也不知道其他的作業系統是怎麼完成的。所以我會認真考慮和接受其他人提出的好建議。這樣的開始讓 Linux 成為了開源系統。使用者們不需要全盤接受任何一個版本,任何人都可以按照自己的想法改寫出自己的版本來。我覺得這種開源的方式讓創造出一個好系統更容易,也鼓勵了很多程式設計愛好者人參與進來。

  • 記者:有沒有讓你現在感到後悔的 Linux 早期技術決策呢?

Linus Torvalds:糟糕的決策都是可以改的。那些因為決策錯誤走了彎路所浪費的時間和精力會讓人很煩躁。不過到最後,往往都可以從錯誤中吸取經驗,所以一切都是值得的。我寧可迅速決策,哪怕做錯了也比糾結太久要好。

在 2001 年左右 Linux 的虛擬記憶體子系統出了問題時,大家關於未來的方向爭論不休,而且記憶體配置也出了問題。但是現在回過頭看,雖然過程很痛苦,但是這些問題並不能毀滅 Linux。這值得我們驕傲。

  • 記者:Linux 在迅速發展的過程中,讓你印象比較深的轉變是哪幾次?

Linus Torvalds:兩個轉變過渡讓我印象最深刻。第一次是很早在 1992 的時候,當其他熱心的用戶開始把他們完成的補丁發給我時,我已經獨立開發了 6 個月,我還不太習慣用。所以我會仔細地檢查他們想修復的是哪個問題,然後自己再寫一遍。有時候跟他們寫得非常像,也有時候會有大不相同。

再然後,我開始信任一些用戶,直接應用他們的補丁。而不是什麼都自己重寫一遍。只要我有時間,還是會經常修改他們的補丁。那段時間我練就了一身迅速讀補丁然後修改的功夫,感覺自己閉眼都能完成。

之後 Linux 就這樣運行了很久。習慣了這樣的模式,第二次改變就困難了很多。是在 2000 年前後,當時 Linux 已經有了很多商業應用,而且用戶量也越來越大。大家都開始抱怨我的工作速度已經在影響 Linux 的效率。但是那時也合適的工具來管理開發資源。

所以我們引進了 BItKeeper 作為原始程式碼的維護工具。Bitkeeper 允許真正的分散式開發,每個人都擁有自己的主副本。在當時成倍提高了內核的開發效率,並且讓我意識到程式師們可以在一個分散式的開發模型中一起工作,而我不應該是唯一的同步點。

後來 2005 年我開始以分散式源控制管理的思想著手開發 Git,為了作為一種過渡方案來替代 BitKeeper。雖然讓開發人員認可 Git 花了不少功夫,但是 Git 作為一個開放源碼的版本控制軟體獲得了巨大的成功。

  • 記者:你怎麼看 Linux 並沒有成為個人電腦的主流作業系統呢?

Linus Torvalds:在這方面,Linux 還需要繼續努力。個人電腦是用戶非常私人化的。為什麼個人電腦使用 Linux 系統的使用者不夠多呢?我覺得用戶慣性是很重要的原因之一。有了電腦出廠時預置的作業系統,大多數人不會輕易重裝自己電腦的作業系統。現在,比如 Chromebooks(Google 上網,Linus 本人多次稱讚)上安裝 Linux 作業系統就不錯,雖然功能有限。

不過,對於用戶而言同樣私密同樣重要的智慧手機方面,多謝基於 Linux 內核的 Android,Linux 應用量還比較不錯。

  • 記者:Linux 最讓你驚訝的地方是什麼呢?

現在很少會驚訝的感覺了。畢竟 Linux 已經成為很多新硬體專業的設備或一些新的網路基礎設施或什麼的的默認開發環境。會讓我驚訝的往往是人們又賦予了 Linux 一些新的應用領域,比如在我還認為 Linux 只能作為工作站或者伺服器的作業系統時,又有一些廠商選擇 Linux 作為冰箱或電視(比如 TiVo)的操作程式,讓我吃了一驚。

  • 記者:你認為 Linux 目前面臨的最大挑戰是什麼呢?

Linus Torvalds:使用者經常擔心 Linux 的系統內核會變得越來越複雜,從而變得難以理解,一旦有錯誤也難以修復。不過實際上現在 Linux 內核運轉的非常好。另一個我們面臨的持續挑戰就是很多運載著 Linux 系統的電子設備不斷更新後的適配問題。不過現在很多廠商會幫助我們進行調整,已經比之前好很多了。很多開源項目一定很嫉妒我們所擁有的資源。

  • 記者:最近的科技的發展方向上,你最感興趣的是什麼?

Linus Torvalds:我一直對核心硬體很感興趣,尤其是 CPU。這是我開始獨立開發作業系統的原因。我會很高興看到新的硬體出現。當然,大多數時間是在現有的硬體改動很小,但技術的發展就應該是這樣一小步一小步進行的。我會一直關注相關領域的發展。

雖然我自己沒有從事相關領域的工作,但我也非常感興趣人工智慧的發展。人工智慧一直被認為是即將實現,但是一直沒有真的實現的東西。不過最近有跡象表明人工智慧的實現指日可待,我也跟大家一樣很期待。人工智慧的特點在於可以學習,不再需人類程式設計進行控制。但是我認為這也是為什麼他們永遠沒法代替傳統的電腦程式設計。人類的確需要聰明的機器,但是人類也需要會乖乖聽話做事的機器。

  • 記者:你覺得 Linux 在 50 周年的時候還會一如現在一樣流行嗎?

Linus Torvalds:把去預測 Linux 的未來會是什麼樣的問題交給評論家們吧,我更願意做一個腳踏實地的工程師,每天盡全力專注於 Linux 的每一個小問題和小決策。

(本文獲《TECH2IPO》授權刊登轉載,圖片來源: theducks CC Licensed,未經授權請勿轉載。)

  • 延伸閱讀:

Git 10 週年,Linux 之父談他是怎麼在 10 天內開發完成
Linux 創造者 Linus Torvalds:23 年前我開發 Linux 只是因為好玩
專家推薦超好用:7 個 Linux 和 Ubuntu 下的免費 CSS 編輯器