Linux 25 周年:Linus Torvalds與Linux發(fā)生的那些故事
1991 年,22 歲的 Linus Torvalds 一邊在芬蘭赫爾辛基大學(xué)學(xué)習(xí)計(jì)算機(jī),一邊設(shè)計(jì)了 Linux 的系統(tǒng)內(nèi)核。之后,Linux 迅速發(fā)展為一個(gè)可以在智能手機(jī)、服務(wù)器等各種平臺(tái)上運(yùn)行的功能全面的開源操作系統(tǒng)。在 Linux 系統(tǒng)誕生 25 周年之際,Linux 之父 Linus Torvalds 在采訪中回憶了這四分之一個(gè)世紀(jì)以來他和 Linux 的故事。

記者:現(xiàn)在你比二十五年前要有更豐富的編程經(jīng)驗(yàn),有什么你希望自己在當(dāng)年剛開發(fā) Linux 的時(shí)候就知道的嗎?
Linus Torvalds:現(xiàn)在想起來,我覺得自己當(dāng)年真是初生牛犢不怕虎。如果當(dāng)時(shí)我真的知道從頭建立一個(gè)操作系統(tǒng)的難度,肯定是不會(huì)有勇氣去做的。這種年少無知也讓我從一開始就沒有按照前人的老路編程編寫內(nèi)核。
我既不知道自己想要的系統(tǒng)應(yīng)該怎么做,也不知道其他的操作系統(tǒng)是怎么完成的。所以我會(huì)認(rèn)真考慮和接受其他人提出的好建議。這樣的開始讓 Linux 成為了開源系統(tǒng)。用戶們不需要全盤接受任何一個(gè)版本,任何人都可以按照自己的想法改寫出自己的版本來。我覺得這種開源的方式讓創(chuàng)造出一個(gè)好系統(tǒng)更容易,也鼓勵(lì)了很多編程愛好者人參與進(jìn)來。
記者:有沒有讓你現(xiàn)在感到后悔的 Linux 早期技術(shù)決策呢?
Linus Torvalds:糟糕的決策都是可以改的。那些因?yàn)闆Q策錯(cuò)誤走了彎路所浪費(fèi)的時(shí)間和精力會(huì)讓人很煩躁。不過到最后,往往都可以從錯(cuò)誤中吸取經(jīng)驗(yàn),所以一切都是值得的。我寧可迅速?zèng)Q策,哪怕做錯(cuò)了也比糾結(jié)太久要好。
在 2001 年左右 Linux 的虛擬內(nèi)存子系統(tǒng)出了問題時(shí),大家關(guān)于未來的方向爭(zhēng)論不休,而且內(nèi)存配置也出了問題。但是現(xiàn)在回過頭看,雖然過程很痛苦,但是這些問題并不能毀滅 Linux。這值得我們驕傲。
記者:Linux 在迅速發(fā)展的過程中,讓你印象比較深的轉(zhuǎn)變是哪幾次?
Linus Torvalds:兩個(gè)轉(zhuǎn)變過渡讓我印象最深刻。第一次是很早在 1992 的時(shí)候,當(dāng)其他熱心的用戶開始把他們完成的補(bǔ)丁發(fā)給我時(shí),我已經(jīng)獨(dú)立開發(fā)了 6 個(gè)月,我還不太習(xí)慣用。所以我會(huì)仔細(xì)地檢查他們想修復(fù)的是哪個(gè)問題,然后自己再寫一遍。有時(shí)候跟他們寫得非常像,也有時(shí)候會(huì)有大不相同。
再然后,我開始信任一些用戶,直接應(yīng)用他們的補(bǔ)丁。而不是什么都自己重寫一遍。只要我有時(shí)間,還是會(huì)經(jīng)常修改他們的補(bǔ)丁。那段時(shí)間我練就了一身迅速讀補(bǔ)丁然后修改的功夫,感覺自己閉眼都能完成。
之后 Linux 就這樣運(yùn)行了很久。習(xí)慣了這樣的模式,第二次改變就困難了很多。是在 2000 年前后,當(dāng)時(shí) Linux 已經(jīng)有了很多商業(yè)應(yīng)用,而且用戶量也越來越大。大家都開始抱怨我的工作速度已經(jīng)在影響 Linux 的效率。但是那時(shí)也合適的工具來管理開發(fā)資源。
所以我們引進(jìn)了 BItKeeper 作為源代碼的維護(hù)工具。Bitkeeper 允許真正的分布式開發(fā),每個(gè)人都擁有自己的主副本。在當(dāng)時(shí)成倍提高了內(nèi)核的開發(fā)效率,并且讓我意識(shí)到程序員們可以在一個(gè)分布式的開發(fā)模型中一起工作,而我不應(yīng)該是唯一的同步點(diǎn)。
后來 2005 年我開始以分布式源控制管理的思想著手開發(fā) Git,為了作為一種過渡方案來替代 BitKeeper。雖然讓開發(fā)人員認(rèn)可 Git 花了不少功夫,但是 Git 作為一個(gè)開放源碼的版本控制軟件獲得了巨大的成功。

記者:你怎么看 Linux 并沒有成為個(gè)人電腦的主流操作系統(tǒng)呢?
Linus Torvalds:在這方面,Linux 還需要繼續(xù)努力。個(gè)人電腦是用戶非常私人化的。為什么個(gè)人電腦使用 Linux 系統(tǒng)的用戶不夠多呢?我覺得用戶慣性是很重要的原因之一。有了電腦出廠時(shí)預(yù)置的操作系統(tǒng),大多數(shù)人不會(huì)輕易重裝自己電腦的操作系統(tǒng)。現(xiàn)在,比如 Chromebooks(谷歌上網(wǎng),Linus 本人多次稱贊)上安裝 Linux 操作系統(tǒng)就不錯(cuò),雖然功能有限。
不過,對(duì)于用戶而言同樣私密同樣重要的智能手機(jī)方面,多謝基于 Linux 內(nèi)核的 Android,Linux 應(yīng)用量還比較不錯(cuò)。
記者:Linux 最讓你驚訝的地方是什么呢?
Linus Torvalds:現(xiàn)在很少會(huì)驚訝的感覺了。畢竟 Linux 已經(jīng)成為很多新硬件專業(yè)的設(shè)備或一些新的網(wǎng)絡(luò)基礎(chǔ)設(shè)施或什么的的默認(rèn)開發(fā)環(huán)境。會(huì)讓我驚訝的往往是人們又賦予了 Linux 一些新的應(yīng)用領(lǐng)域,比如在我還認(rèn)為 Linux 只能作為工作站或者服務(wù)器的操作系統(tǒng)時(shí),又有一些廠商選擇 Linux 作為冰箱或電視(比如 TiVo)的操作程序,讓我吃了一驚。
記者:你認(rèn)為 Linux 目前面臨的最大挑戰(zhàn)是什么呢?
Linus Torvalds:用戶經(jīng)常擔(dān)心 Linux 的系統(tǒng)內(nèi)核會(huì)變得越來越復(fù)雜,從而變得難以理解,一旦有錯(cuò)誤也難以修復(fù)。不過實(shí)際上現(xiàn)在 Linux 內(nèi)核運(yùn)轉(zhuǎn)的非常好。另一個(gè)我們面臨的持續(xù)挑戰(zhàn)就是很多運(yùn)載著 Linux 系統(tǒng)的電子設(shè)備不斷更新后的適配問題。不過現(xiàn)在很多廠商會(huì)幫助我們進(jìn)行調(diào)整,已經(jīng)比之前好很多了。很多開源項(xiàng)目一定很嫉妒我們所擁有的資源。
記者:最近的科技的發(fā)展方向上,你最感興趣的是什么?
Linus Torvalds:我一直對(duì)核心硬件很感興趣,尤其是 CPU。這是我開始獨(dú)立開發(fā)操作系統(tǒng)的原因。我會(huì)很高興看到新的硬件出現(xiàn)。當(dāng)然,大多數(shù)時(shí)間是在現(xiàn)有的硬件改動(dòng)很小,但技術(shù)的發(fā)展就應(yīng)該是這樣一小步一小步進(jìn)行的。我會(huì)一直關(guān)注相關(guān)領(lǐng)域的發(fā)展。
雖然我自己沒有從事相關(guān)領(lǐng)域的工作,但我也非常感興趣人工智能的發(fā)展。人工智能一直被認(rèn)為是即將實(shí)現(xiàn),但是一直沒有真的實(shí)現(xiàn)的東西。不過最近有跡象表明人工智能的實(shí)現(xiàn)指日可待,我也跟大家一樣很期待。人工智能的特點(diǎn)在于可以學(xué)習(xí),不再需人類編程進(jìn)行控制。但是我認(rèn)為這也是為什么他們永遠(yuǎn)沒法代替?zhèn)鹘y(tǒng)的電腦編程。人類的確需要聰明的機(jī)器,但是人類也需要會(huì)乖乖聽話做事的機(jī)器。
記者:你覺得 Linux 在 50 周年的時(shí)候還會(huì)一如現(xiàn)在一樣流行嗎?
Linus Torvalds:把去預(yù)測(cè) Linux 的未來會(huì)是什么樣的問題交給評(píng)論家們吧,我更愿意做一個(gè)腳踏實(shí)地的工程師,每天盡全力專注于 Linux 的每一個(gè)小問題和小決策。