Linux之父的傳奇之路
“有些人天生就是指揮數(shù)百萬人的領(lǐng)導(dǎo)風(fēng)格,另一些人是天生寫出破壞世界的軟件的。萊納斯是唯一能夠同時(shí)做到這兩者的人?!?這是“ Linux之父” Linus Torvalds撰寫的《美國(guó)時(shí)報(bào)》的“時(shí)代評(píng)論”。
筆者通過本文帶你了解Linux的創(chuàng)造者Linus是如何一步一步走向人生巔峰的。
10歲學(xué)編程
Linus于1969年12月28日出生于芬蘭的赫爾辛基市。
幼時(shí)的李納斯其貌不揚(yáng),有點(diǎn)不修邊幅邋里邋遢,他的數(shù)學(xué)和物理成績(jī)非常棒,但是人際關(guān)系卻不大好。他的母親說:“這孩子非常好養(yǎng),只要把他放到一個(gè)有電腦的小屋里,再往里扔點(diǎn)薯?xiàng)l和意大利面就行了?!?
Linus從10歲時(shí)開始接觸計(jì)算機(jī)。他的外公是赫爾辛基大學(xué)的一位統(tǒng)計(jì)學(xué)教授,有一臺(tái)Commodore VIC-20計(jì)算機(jī)。老爺子用這臺(tái)電腦寫一些簡(jiǎn)單的數(shù)學(xué)程序,但那時(shí)的電腦只能用 Basic 語言寫程序。老爺子年老眼花,不愿意打字,于是就把程序事先寫在紙上,再讓小Linus幫忙錄入到計(jì)算機(jī)中。
Linus慢慢用這臺(tái)計(jì)算機(jī)學(xué)會(huì) Basic,在外公的鼓勵(lì)下,他學(xué)會(huì)編寫一些簡(jiǎn)單有趣的小游戲。后來他發(fā)現(xiàn) Basic 并不是計(jì)算機(jī)唯一能理解的語言,在它的下面,還有一種語言是由0和1組成,可以直接被計(jì)算機(jī)識(shí)別,于是Linus開始用機(jī)器碼編程。
Linus對(duì)計(jì)算機(jī)和編程的熱情與日俱增,中學(xué)的他將課余時(shí)間幾乎都花在了電腦面前,正是在這一階段,他熟練的掌握了匯編語言和C語言。
Linux橫空出世
1991年1月,尚在芬蘭赫爾辛基大學(xué)就讀的Linus耗費(fèi)巨資購(gòu)買了一臺(tái)雜牌組裝電腦,然后又買了 MINIX 操作系統(tǒng),用十六張軟盤把這個(gè)操作系統(tǒng)裝到了計(jì)算機(jī)里。
Linus用了 MINIX 后發(fā)現(xiàn)這個(gè)系統(tǒng)有很多缺陷。他決定拋開 MINIX,從硬件層面開始,重新設(shè)計(jì)一個(gè)終端仿真器。但設(shè)計(jì)一個(gè)終端仿真器可不是編寫一個(gè)程序那么簡(jiǎn)單,這意味著需要從 BIOS、CPU等硬件層面重新開發(fā)出一套系統(tǒng),除此之外,還需要了解如何把信息寫入顯示器,如何讀取鍵盤輸入,如何讀寫調(diào)制解調(diào)器等,這其中所需要的知識(shí)面之廣、工作量之大是驚人的!
那個(gè)時(shí)候尚沒有現(xiàn)如今的高級(jí)工具,整個(gè)系統(tǒng)基本上是他一行行代碼敲出來的。他當(dāng)時(shí)幾乎將全部的時(shí)間都用來編程了。
當(dāng)年6月,Linus基本確定了該操作系統(tǒng)內(nèi)核的計(jì)劃,并開始著手搜集 Unix 操作系統(tǒng)標(biāo)準(zhǔn)的相關(guān)資料。
7月3日,Linus在 MINIX 新聞組發(fā)出了一封求助郵件,尋求有關(guān) Posix 標(biāo)準(zhǔn)的幫助。郵件發(fā)出后不久,就有人寄來了厚厚的 POSIX 標(biāo)準(zhǔn)。同時(shí)赫爾辛基工學(xué)院的 Ari Lemke為他提供了一個(gè) FTP 地址,用來上傳他即將完成的操作系統(tǒng)。
9月17日,Linus把完成的新操作系統(tǒng)上傳到了Ari Lemke提供的 FTP 服務(wù)器上,并準(zhǔn)備用“Freax”為該操作系統(tǒng)命名,但Ari Lemke強(qiáng)烈建議他用自己的名字為這個(gè)操作系統(tǒng)命名。
于是,Linux 內(nèi)核0.01版本就這樣誕生在了一個(gè)22歲的大學(xué)生手中。Linus堅(jiān)持將Linux開源,用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。這是當(dāng)時(shí)其他的操作系統(tǒng)所做不到的。因此,來自全世界的程序員都能參與Linux的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對(duì)其進(jìn)行改變,這讓Linux不斷壯大。
對(duì)于Linux的大熱,Linus說道:“沒有任何東西可以阻擋 Linux 的普及!”
創(chuàng)造出Git
從2002年起,Linux 內(nèi)核開發(fā)團(tuán)隊(duì)開始采用 BitKepper 作為代碼版本管理工具。BitKeeper是一套分布式的版本管理工具,它滿足了 Linux 內(nèi)核開發(fā)乃至許多程序和軟件開發(fā)的技術(shù)需求。但 BitKeeper并不是一款自由軟件,它只是暫時(shí)對(duì) Linux 等開源軟件團(tuán)隊(duì)免費(fèi)。BitMover公司于2005年宣布不再免費(fèi)贊助Linux 開發(fā)團(tuán)隊(duì)。
無奈之下,Linus決定自己寫一套新的分布式代碼管理工具。從設(shè)計(jì)到開發(fā),他和團(tuán)隊(duì)僅僅用了幾個(gè)星期的時(shí)間,他們將其命名為“Git”。兩個(gè)月之后,他們發(fā)表了Git官方版本。如之前Linus所堅(jiān)持的對(duì)Liux開源原則一樣,Git同樣完全開源,自由軟件社區(qū)給予了 Git 強(qiáng)有力的支持。
Git 的最大的特點(diǎn)就是離線分布式代碼管理,速度飛快,適合管理大型項(xiàng)目。自發(fā)布以來,越來越多的大公司都開始采用 Git 管理自己的項(xiàng)目代碼。
2008年2月, GitHub 公司基于 Git 構(gòu)建了協(xié)作式源代碼托管網(wǎng)站GitHub,現(xiàn)如今Git 已經(jīng)成為程序員使用最多的源代碼管理工具。
加入硅谷
自Linux發(fā)布2.0版本后,Linus曾兩次訪問美國(guó)。從美國(guó)回到芬蘭之后,Linus決定離開家鄉(xiāng)去美國(guó)發(fā)展。
當(dāng)李納斯透露出自己的就業(yè)計(jì)劃之后,有許多家公司向他伸出橄欖枝,其中包括著名的Red Hat。但是Linus本著不加入任何一家 Linux 公司的原則,拒絕了 RedHat,轉(zhuǎn)而加入了一個(gè)叫做“全美達(dá)”的公司。這家公司名不見經(jīng)傳,連美國(guó)的程序員們也不知道它是做什么的。全美達(dá)官網(wǎng)在1997年上線,兩年后網(wǎng)站的建設(shè)情況是“This web page is not yet here”。如果不是因?yàn)長(zhǎng)inus的加入,人們也許永遠(yuǎn)不知道它的存在。
Linus與全美達(dá)協(xié)議,他可繼續(xù)從事 Linux 的開發(fā),他原計(jì)劃是白天為全美達(dá)工作,晚上則繼續(xù) Linux 的相關(guān)工作,但真實(shí)情況卻是在他受雇于全美達(dá)的六年間,Linux并無任何實(shí)質(zhì)性的進(jìn)展。原因是Linus把下班后的時(shí)間用來補(bǔ)充睡眠了。Linus說:“很多人都認(rèn)為加班加點(diǎn)的工作才算真正的工作。我可不這么想。無論是全美達(dá)的工作還是 Linux 的工作,都不是靠犧牲寶貴的睡眠時(shí)間換來的?!?
2003年,李納斯離開全美達(dá),加入開放源代碼開發(fā)實(shí)驗(yàn)室,全部精力投入 Linux 內(nèi)核的開發(fā)之中,Linux再次煥發(fā)生機(jī)。
“我不再是一名程序員了”
在2019年舉行的歐洲開源峰會(huì)上,Linus表示他不再認(rèn)為自己是一名程序員了。
他解釋說自己不再了解編碼,目前寫的大多數(shù)代碼都在電子郵件中。他是代碼管理者和維護(hù)者,每天的主要工作內(nèi)容主要是迅速響應(yīng)別人發(fā)來的補(bǔ)丁并及時(shí)給出反饋。
這聽起來有些無聊,畢竟Linus是出了名的有趣人士,要知道他早期的自傳就叫《只是為了好玩》(Just for Fun)。Linus也承認(rèn)了這份工作的無聊,他說:“也許有些不好玩的是,我們必須制定很多規(guī)則。過去比較隨心所欲,現(xiàn)在人們的態(tài)度更加認(rèn)真。沒錯(cuò),我可能大部分時(shí)間都在閱讀電子郵件,但部分原因是,不這樣做的話我會(huì)更加無聊?!?
生活的意義
Linus認(rèn)為生活意義的全部就在于:生存,社會(huì)交往和尋找樂趣。因?yàn)槲覀兯龅囊磺惺虑?,最終似乎都是為了我們自己的樂趣。
如此說來,Linus創(chuàng)造Linux操作系統(tǒng)乃至以后的持續(xù)改進(jìn)似乎都是為了他自己的樂趣。事實(shí)卻是,Linux除了帶給他樂趣之外,也令他名利雙收。
Linus一生卻取得了很多成就和榮譽(yù):2004年,李納斯被《時(shí)代》雜志選為世界上最有影響力的人之一。2012年,和山中伸彌共同獲得當(dāng)年的千禧技術(shù)獎(jiǎng),該獎(jiǎng)相當(dāng)于技術(shù)領(lǐng)域的諾貝爾獎(jiǎng)。
對(duì)于財(cái)富,Linus一直看的很淡然。早在Linux問世后不久,英國(guó)的一位企業(yè)家希望他能在剛成立的 Linux 公司做董事會(huì)成員,報(bào)酬是一千萬美金,但Linus拒絕了。
Red Hat 公司為了感謝Linus的貢獻(xiàn),為他提供了一些期權(quán),這同樣遭到了拒絕,Linus表示不會(huì)給Red Hat獨(dú)家的授權(quán)許可。Red Hat只好在提供期權(quán)的條件下,不索要授權(quán),Linus這才接受了Red Hat的好意。
1999年,Red Hat在納斯達(dá)克上市,Linus的身價(jià)隨之上漲。Linus興奮地說:“我真是最幸運(yùn)的家伙!”