自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linus,一生只為尋找歡笑

系統(tǒng) Linux
世界上大部分軟件和服務(wù)都運(yùn)行在 Linux 操作系統(tǒng)之上,神馬云計(jì)算、大數(shù)據(jù)、移動(dòng)互聯(lián)網(wǎng),說起來風(fēng)起云涌,其實(shí)沒有 Linux 全得趴窩(微軟除外)。

[[170418]]

每個(gè)人桌面上一臺(tái)電腦,這曾經(jīng)是無數(shù)計(jì)算機(jī)先驅(qū)的夢(mèng)想,這個(gè)夢(mèng)想很早就實(shí)現(xiàn)了,在1997年,喬老師和比老師就說過,「比爾,我們共同控制了100%的桌面系統(tǒng)市場(chǎng)」,當(dāng)然喬老師沒說的是,比老師控制了97%,喬老師還不到3%。時(shí)至今日,喬老師走了,比老師頹了,移動(dòng)終端把傳統(tǒng)的 PC 市場(chǎng)沖擊的七零八落。普通用戶都知道了Windows、Android、OS X 、iOS、BlackBerry等等,但是,他們依然不了解的是另一款在計(jì)算機(jī)發(fā)展史上起到了革命性作用的操作系統(tǒng):Linux!

當(dāng)大家使用 Google 搜索時(shí),使用 Kindle 閱讀時(shí),使用淘寶購物時(shí),使用 QQ 聊天時(shí),很多人并不知道,支撐這些軟件和服務(wù)的,是后臺(tái)成千上萬臺(tái) Linux 服務(wù)器,它們時(shí)時(shí)刻刻都在進(jìn)行著忙碌的運(yùn)算和數(shù)據(jù)處理,確保數(shù)據(jù)信息在人、軟件和硬件之間安全的流淌。可以這么說,世界上大部分軟件和服務(wù)都運(yùn)行在 Linux 操作系統(tǒng)之上,神馬云計(jì)算、大數(shù)據(jù)、移動(dòng)互聯(lián)網(wǎng),說起來風(fēng)起云涌,其實(shí)沒有 Linux 全得趴窩(微軟除外)。

但是,Linux 和它的締造者 Linus Torvalds 一樣低調(diào),這么牛逼的一個(gè)物件,居然只有程序員知道它的傳奇,這不科學(xué)!所以我準(zhǔn)備在這個(gè)系列中寫寫Linus Torvalds:他是 Linux 和 Git 的締造者,他是一個(gè)傳統(tǒng)的黑客,與沃茲一樣,少年成名,崇尚自由,一生只為尋找歡笑,他,是一個(gè)真正的程序員。

注:為了防止大家把 Linux 和 Linus 搞混,我在后面的文章中統(tǒng)一采用 Linus 的中文譯名:李納斯。

李納斯在2001年出過一本自傳,叫做《Just for Fun》,是他和大衛(wèi)·戴蒙合著的,當(dāng)年我有幸讀到這本書,了解了很多李納斯的生平軼事,那時(shí)我就琢磨,這個(gè)天才已經(jīng)達(dá)到人生的巔峰了吧,結(jié)果這位兄臺(tái)并未停止前進(jìn)的步伐,轉(zhuǎn)手就在2005年搞出了分布式版本控制系統(tǒng) Git,目前幾乎全世界的程序員都在用 Git管理他們的代碼,著名網(wǎng)站 Github 就是基于 Git 構(gòu)建的。無論是 Linux 還是 Git,得一即可得天下,結(jié)果這哥們以一己之力發(fā)起了倆項(xiàng)目,而且都是主力開發(fā)人員。最終的結(jié)果是,成全了程序員,陶冶了用戶,造福了一方百姓。正如李納斯自己所言:「My name is Linus, and I am your God.」

Linus(一)——生命的意義

1969年末,李納斯出生于芬蘭的赫爾辛基市,算是趕上了60后的尾巴。小時(shí)候他是個(gè)其貌不揚(yáng)的孩子,除了一個(gè)鼻子長(zhǎng)的「富麗堂皇」之外乏善可陳。他為了讓鼻子看上去小一些,經(jīng)常戴上眼鏡就不愿意摘下來,這個(gè)策略和現(xiàn)在的很多大臉女生購買三星的 Galaxy Note 手機(jī)有異曲同工之妙。幼時(shí)的李納斯不修邊幅邋里邋遢,不怎么費(fèi)勁數(shù)學(xué)和物理就學(xué)得極好,社交圈卻一塌糊涂,他母親經(jīng)常和別人說,這孩子非常好養(yǎng),只要把他放到一個(gè)有電腦的小黑屋里,然后再往里扔點(diǎn)薯?xiàng)l和意大利面,就行了。李納斯對(duì)此表示認(rèn)同。

李納斯把年幼的自己定位成 Nerd(書呆子),但是從他的自傳里我卻感受到了這位天才的有趣之處。他在書的前言里寫到:

我對(duì)生命的意義有種理論。我們可以在第一章里對(duì)讀者解釋生命的意義何在,這樣就可以吸引住他們。一旦他們被吸引,并且付錢買了書,剩下的章節(jié)里我們就可以胡扯了。(注:做人要厚道啊)

關(guān)于生命的意義,李納斯的解釋是,有三件事具有生命的意義。它們是你生活當(dāng)中所有事情的動(dòng)機(jī)。第一是生存,第二是社會(huì)秩序,第三是娛樂。生活中所有的事情都是按這個(gè)順序發(fā)展的,娛樂之后便一無所有。因此,從某種意義上來說,生活的意義就是要達(dá)到第三個(gè)階段。你一旦達(dá)到了第三個(gè)階段,就算成功了。但首先要越過前兩個(gè)階段。

為什么李納斯會(huì)這么說呢,我摘段原文給大家看看,非常有趣:

李納斯:我給你舉個(gè)例子來說明這一觀點(diǎn)。最明顯的是性,它開始只是一種延續(xù)生命的手段,后來變成了一種社會(huì)性的行為,比如你要結(jié)婚才能得到性。再后來,它成了一種娛樂。

大衛(wèi):性為什么是娛樂?

李納斯:好吧,我是在對(duì)牛彈琴。我舉一個(gè)別的例子。

大衛(wèi):別別,還是說說性吧

李納斯:它是在另一個(gè)層次上的blablabla……

大衛(wèi)(自言自語):哦,參與就是娛樂,而不是在一旁觀看。好,我明白了。

那生存、社會(huì)秩序和娛樂又是如何與技術(shù)扯上關(guān)系的呢?

Linus(二)——天才也瘋狂

李納斯是這么解釋的,技術(shù)的誕生同樣是為了人類的生存,而且是為了讓人生活的更好。汽車讓人跑的更快,飛機(jī)讓人飛得更高,互聯(lián)網(wǎng)讓人懂得更多,手機(jī)讓人通信更快,一旦這些技術(shù)成了規(guī)模,就要并入社會(huì)秩序,然后下一個(gè)階段就是娛樂,別看手機(jī)現(xiàn)在就是個(gè)打電話的工具,但是很快會(huì)進(jìn)入娛樂階段……(12年后的今天,手機(jī)已經(jīng)徹頭徹尾變成了一個(gè)娛樂工具,打電話反而成了附屬功能)。

李納斯說:「一切事物都將從生存走向娛樂,但這并不意味著在某個(gè)局部地區(qū)沒有倒退的現(xiàn)象,而且毫無疑問許多地方都有這種情況。有時(shí)事物的發(fā)展往往分裂的?!?/p>

從這些內(nèi)容我們可以看出,李納斯有自己的一套理論,而且能自圓其說,其實(shí)每個(gè)人都有自己的理論,一件事做或者不做,都是自己說服自己,每一次進(jìn)步,要么是推翻自己的理論,要么是完善自己的理論。李納斯在很小的時(shí)候就建立了自己的理論領(lǐng)地,那就是數(shù)學(xué)、物理、邏輯,最后是計(jì)算機(jī),所以他絕不是自己描述的 Nerd,而是一個(gè)大智若愚的牛娃,就像射雕里的郭靖一樣,看著傻,其實(shí)比誰都精,腦子里裝的都是十年二十年后的事兒。而且李納斯比郭靖牛的地方是,就一個(gè)啟蒙老師,還是自己的外公,和郭靖一比,高下立判!李納斯基本上就是個(gè)自學(xué)成才的典范。

李納斯的外公是赫爾辛基大學(xué)的一位統(tǒng)計(jì)學(xué)教授,數(shù)學(xué)家。他有一臺(tái)Commodore VIC-20計(jì)算機(jī)(Commodore 是與蘋果公司同時(shí)期的個(gè)人電腦公司,曾經(jīng)創(chuàng)造過一系列輝煌,1994年破產(chǎn)),這臺(tái)電腦的主要功能就是沒有功能,你唯一能做的事情就是用 Basic 語言在上面編寫自己的程序,老爺子當(dāng)年就是這么做的,比如做一些數(shù)學(xué)運(yùn)算和公式計(jì)算等。但是老爺子年老眼花,也不愿意打字,于是就把自己的外孫李納斯放在腿上,讓他幫助錄入寫在紙片上的程序。這種很有場(chǎng)面感的場(chǎng)景一再出現(xiàn)后,李納斯除了對(duì)數(shù)學(xué)有了初步的認(rèn)識(shí),同時(shí)也把計(jì)算機(jī)玩的嫻熟,很快他就在外公的指導(dǎo)下開始編寫自己的程序。

評(píng):很多大師級(jí)的人物,很小的時(shí)候就能在某個(gè)領(lǐng)域內(nèi)頭角崢嶸,展現(xiàn)出一些東西,然后經(jīng)過長(zhǎng)期的練習(xí)和創(chuàng)作,最終成為一代傳奇。在這個(gè)過程里,環(huán)境是很重要的,逆境出人才基本上是個(gè)偽命題,這句話唯一的作用就是遇到困難時(shí)給自己打打雞血。李納斯就是個(gè)高知子弟,10歲人家就開始玩計(jì)算機(jī)了,我們10歲在干什么,打沙包么?甩方寶么?即使你在計(jì)算機(jī)方面有出眾的天賦,但18歲以前連計(jì)算機(jī)的面兒都沒見過,你就只能默默的牛逼了。等你真正開始展現(xiàn)出自己才華的時(shí)候,人家操作系統(tǒng)已經(jīng)開發(fā)出來了,一入世就差別人十年的身位,除了冷冷的絕望,你還能感受到什么?

所以現(xiàn)在人們沒事就北上廣深杭,不是喜歡人多嘴雜空氣差,而是在這些一線城市可以接觸更多的人和事物,見更高的山,渡更寬的河。不是為了情懷,而是擁有格局。見都沒見過,還同一個(gè)起跑線呢,一跑就得趴窩。所以,無論這些地方環(huán)境多惡劣,競(jìng)爭(zhēng)多激烈,來的永遠(yuǎn)多過走的,不為別的,只是為了緩解些許絕望的感覺……

李納斯用外公的計(jì)算機(jī)學(xué)會(huì)了 Basic 語言,并開始編寫各種簡(jiǎn)單有趣的游戲,然后他又發(fā)現(xiàn)了 Basic 并不是計(jì)算機(jī)唯一能理解的語言,在它的下面,還有一種語言是由0和1組成,可以直接被計(jì)算機(jī)識(shí)別,于是李納斯又開始用機(jī)器碼編程,這次他可以控制更多計(jì)算機(jī)的細(xì)節(jié),他與機(jī)器變得更加親密。然后李納斯就開始上中學(xué)了,中學(xué)的幾年于他而言,其實(shí)沒有太大變化,因?yàn)槟切┠晁麕缀醵际亲陔娔X前面度過的,在這個(gè)階段,他熟練的掌握了匯編語言。

終于有一天,李納斯向編程世界挺進(jìn)的步伐變得緩慢下來,因?yàn)樗洗髮W(xué)了,原因之一是他必須集中精力讀書,原因之二是找不到什么項(xiàng)目去做。還有一件事,李納斯開始服兵役了,那段時(shí)光對(duì)他來說是如此特殊:

在手執(zhí)武器上了一個(gè)月的「體育課」之后,我便覺得在我有生之年完全有資格從此一動(dòng)不動(dòng),享受平靜的生活了。惟一可做的事情就是把編碼打入鍵盤,或者手里端著一瓶比爾森啤酒!

Linus(三)——改變一生的書籍

終于,讓李納斯痛苦不堪的兵役終于結(jié)束了,除了敲鑼打鼓歡慶重生之外,他開始繼續(xù)拓展自己的編程之路,這時(shí)候,生命中最重要的一本書出現(xiàn)了,書的名字叫做《操作系統(tǒng):設(shè)計(jì)和實(shí)現(xiàn)》,作者是 Andrew S. Tanenbaum。用李納斯的原話表述就是「這本書把我推上了生命的高峰」。

那個(gè)時(shí)代 Unix 已經(jīng)開發(fā)出來了。最早 Unix 是用匯編寫的,開發(fā)過程中 Unix 的兩位創(chuàng)始人Ken Thompson 和 Dennis Ritchie覺得用匯編寫程序?qū)嵲谑翘啾屏?,男人?yīng)該對(duì)自己好一點(diǎn)!于是老哥倆決定用高級(jí)語言來完成下一個(gè)版本,他們首先嘗試了Fortran,失敗!然后又基于BCPL(Basic Combined Programming Lanugage)創(chuàng)建了 B 語言,B 語言可以被認(rèn)為是那個(gè)時(shí)代的解釋型語言,不能直接生成機(jī)器碼,效率上完全沒法滿足系統(tǒng)的需求,再次失敗!我們都知道,一再失敗的情況下總會(huì)有一位英雄人物挺身而出,這次是 Dennis Ritchie,他從失敗的大坑中爬起來拍拍土抹抹淚,繼續(xù)對(duì) B 語言進(jìn)行改造。這次 Dennis 為 B 增加了數(shù)據(jù)類型,并讓 B 語言能夠直接編譯為機(jī)器碼,然后又為這門語言起了個(gè)極其響亮的名字:「New B」,讀一讀神清氣爽,念一念氣沖云霄,從此一代語言巨星冉冉升起,40年后依然排在兵器排名榜第一位,怎一個(gè)牛字了得!當(dāng)然,Dennis可能考慮了十幾年后中國(guó)人民的感受,把「New B」改為了 C 語言,并用 C 語言重新編寫了 Unix 的內(nèi)核,Unix 與 C 從此珠聯(lián)璧合,長(zhǎng)相思守,再也無法分離。

操作系統(tǒng)、Unix 和 C 語言可以說是李納斯心目中神山上的三座圣杯,為了至高無上的榮耀,他首先要攀上峰頂,把這三座圣杯捧在手中,然后再琢磨建造自己的宮殿的事兒。在那一年的夏天,李納斯開始了高強(qiáng)度的閱讀和學(xué)習(xí),用他的話說就是做了兩件事,「一件事是什么都沒做,另一件事是讀完了719頁的《操作系統(tǒng):設(shè)計(jì)和執(zhí)行》。那本紅色的簡(jiǎn)裝本教科書差不多等于睡在了我的床上」。

李納斯認(rèn)為,Unix 是一個(gè)簡(jiǎn)潔、干凈的操作系統(tǒng),在 Unix 上的大部分任務(wù)都是通過一些基本操作完成的,這些操作被成為「System Call」,顧名思義,這些操作就是你對(duì)系統(tǒng)的呼叫,系統(tǒng)通過響應(yīng)你的呼叫完成工作。比如 fork、clone(創(chuàng)建子進(jìn)程),比如 open、close、read、write(文件訪問)。這些基本的系統(tǒng)調(diào)用通過組合可以完成大部分功能。同時(shí),Unix 還提供了極為強(qiáng)大的IPC(進(jìn)程間通信)方式:pipe(管道)。很多工作在GUI(圖形界面)軟件環(huán)境下的讀者,最常用的IPC操作可能是復(fù)制、粘貼、鼠標(biāo)拖拽,這些操作雖然簡(jiǎn)單,但是必須由人來完成,想要自動(dòng)化就很困難。而這些在 Unix 上實(shí)現(xiàn)起來就像大自然一樣自然,你只需要在程序之間開辟出一段緩沖區(qū)作為管道,然后父進(jìn)程和子進(jìn)程就可以通過這個(gè)管道實(shí)現(xiàn)進(jìn)程間通信了。舉個(gè)例子,以前給大家介紹的查找歷史命令的腳本,就利用了管道的功能,如下:

  1. history | grep apache 

這行命令的含義就是查找包含 apache 的歷史命令,其中特殊字符【 | 】用來告訴命令行解釋器(Shell)將前一個(gè)命令的輸出通過「管道」作為接下來的一行命令的輸入,就這樣,一個(gè)簡(jiǎn)單的進(jìn)程間通信就完成了。

總之,李納斯在讀完這本書之后,就像郭靖修習(xí)了九陰真經(jīng)全本一樣,對(duì)機(jī)器和代碼的世界有了更為透徹的認(rèn)知,接下來的事情就是等待一個(gè)打造傳奇的機(jī)會(huì)。

等待的過程中,李納斯也沒閑著,他又開始編程了。好的程序員對(duì)編程的喜愛是溢于言表的,以下摘錄一些李納斯的編程感想:

對(duì)于喜愛編程的人來說,編程是世界上最有趣的事,比下棋有趣得多!因?yàn)槟憧梢宰约褐朴営螒蛞?guī)則,而你制定什么樣的規(guī)則,也就會(huì)隨之出現(xiàn)與此規(guī)則相符合的結(jié)果。

在電腦世界中,你就是創(chuàng)世者,你對(duì)所發(fā)生的一切擁有最終的控制。如果你功力深厚,你可以是上帝――在一個(gè)較小的層面上。

你可以建筑一個(gè)這樣的房子,有一個(gè)活板門,既穩(wěn)固又實(shí)用。但是每個(gè)人都可以看出一個(gè)僅僅以堅(jiān)固實(shí)用為目的的樹上小屋和一個(gè)巧妙地利用樹本身特點(diǎn)的美妙小屋之間的差異。這是一個(gè)將藝術(shù)和工程融為一體的工作。編程與造樹上小屋有相似之外……在編程中,實(shí)用的考慮往往被置于有意思、美觀優(yōu)雅或有震撼力的考慮之后。

在代碼的世界里,李納斯就是一個(gè)詩人!

Linus(四)——Linux 誕生

Unix 始于上個(gè)世紀(jì)60年代,在70年代得到了迅猛的發(fā)展,這時(shí)候的李納斯還躺在祖父公寓里的搖籃里睡大覺,如果不是后來 Unix 王國(guó)自亂陣腳,出現(xiàn)陣營(yíng)分裂和法律糾紛,可能 Linux 系統(tǒng)根本都不會(huì)出現(xiàn)。真實(shí)的情況是,Unix 浪費(fèi)了大把的時(shí)間和機(jī)會(huì),似乎就是為了等待這個(gè)大鼻子、頭發(fā)紛亂的芬蘭小子長(zhǎng)大,然后一決高下。李納斯贏得了自己的時(shí)間,他一刻不停的磨練自己的技藝,在清晨的微光中練習(xí)算法,在赫爾辛基的雪山上編譯代碼,隨時(shí)隨地補(bǔ)充的糧草和武器。二十一年之后,李納斯撫著雪亮的刀鋒上路了,他要去追尋屬于程序員的最高榮耀。

1991年一月,李納斯花費(fèi)了三千五百美元,分期付款購買了一臺(tái)雜牌組裝電腦,內(nèi)存4兆,CPU 33兆赫,還有一臺(tái)14英寸的顯示器,然后又買了 MINIX 操作系統(tǒng),用十六張軟盤把這個(gè)操作系統(tǒng)裝到了計(jì)算機(jī)里。之后,李納斯又用了一個(gè)月的時(shí)間,了解了 MINIX 的好和不好,并把這個(gè)系統(tǒng)改裝成了自己得心應(yīng)手的「戰(zhàn)斗機(jī)」,開始了戰(zhàn)斗的人生。就是在這臺(tái)電腦上,催生了 Linux 的初始版本。

Linux 的誕生離不開 MINIX,MINIX 是 Mini Unix 的縮寫,是 Andy Tanenbaum 教授編寫的迷你版的 Unix 操作系統(tǒng),源代碼可以提供給大學(xué)和學(xué)生,用于操作系統(tǒng)教學(xué),采用了微內(nèi)核設(shè)計(jì)。其中的代碼還作為《操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn)》的示例程序,這本書我們?cè)? Linus(三)中提到過,給了李納斯極大的啟發(fā)。

李納斯使用了 MINIX 之后,發(fā)現(xiàn)這個(gè)系統(tǒng)有很多缺陷,比如性能問題、內(nèi)核問題、文件系統(tǒng)問題,最大的問題是終端仿真器,也就是我之前總提到的 Terminal,登錄學(xué)校里的 Unix Server 和上網(wǎng)時(shí),李納斯都需要終端,但是 MINIX 無法滿足這個(gè)需求。如果普通人遇到這種問題,估計(jì)就是發(fā)會(huì)呆然后洗洗睡了,或者說「你行你上啊」,李納斯不是普通人!

他決定拋開 MINIX,從硬件層面開始,重新設(shè)計(jì)一個(gè)終端仿真器。牛人就是不同凡響,這個(gè)決定表明了李納斯需要從 BIOS、CPU等硬件層面重新開發(fā)出一套系統(tǒng),除此之外,還需要了解如何把信息寫入顯示器,如何讀取鍵盤輸入,如何讀寫調(diào)制解調(diào)器,早期儲(chǔ)備的匯編語言和 C 語言能力終于派上了用場(chǎng)……

兩個(gè)月之后,終端仿真器完成,對(duì)此李納斯非常驕傲:

對(duì)于我了不起的成就,薩拉(妹妹)是了解的。我把終端顯示給她看,她盯著顯示器看了大約五秒鐘,看著上面是一串A和一串B,說了聲「很好」,然后就沒有然后了。我意識(shí)到我的成就并不輝煌,這猶如你指給人看你鋪設(shè)的一條長(zhǎng)長(zhǎng)的柏油馬路,但想向別人解釋這條馬路的意義是完全不可能的。

當(dāng)時(shí)是三月,也可能是四月,就算彼得蓋坦街上的白雪已經(jīng)化成了雪泥我也不知道,當(dāng)然我也并不關(guān)心。大部分時(shí)間我都穿著睡衣趴在相貌平平的計(jì)算機(jī)前面噼噼啪啪的敲打鍵盤,窗戶上的窗簾遮得嚴(yán)嚴(yán)實(shí)實(shí),把陽光和外部世界與我隔離開來。

Linux 操作系統(tǒng)就這樣開始了,一發(fā)不可收拾。李納斯的當(dāng)時(shí)編程狀態(tài)是這樣的:編程――睡覺――編程――睡覺――編程――吃飯――編程――睡覺――編程――洗澡――編程……

實(shí)現(xiàn)了終端仿真器之后,李納斯馬不停蹄,開始添加磁盤驅(qū)動(dòng)和文件系統(tǒng),那一年李納斯還在上課,但是課程很簡(jiǎn)單,他唯一的課外活動(dòng)就是參加每周三晚的同學(xué)聚會(huì),這個(gè)長(zhǎng)著大鼻子的技術(shù)天才,常常會(huì)因?yàn)閾?dān)心自己缺乏社交能力和容貌丑陋而失眠,對(duì)那時(shí)的他來說,唯一有趣的事情就是把驅(qū)動(dòng)程序?qū)懗鰜怼S谑撬ба缹?duì)自己說,還得干下去。(看來沒有女神的好處就是可以寫個(gè)操作系統(tǒng)出來,然后把自己叫做 上帝)。

隨著工作的進(jìn)展,終端仿真器正在開始向一個(gè)操作系統(tǒng)的方向發(fā)展,李納斯顯然也看清楚了這一點(diǎn)。

在整個(gè)創(chuàng)造 Linux 的過程中,我們沒有看到李納斯使用了什么樣高級(jí)工具,估計(jì)那時(shí)也沒有,整個(gè)系統(tǒng)基本上是一行行代碼敲出來的,純手工打造,這些先賢的編程功底和效率讓我們嘆為觀止,所以,現(xiàn)在,我決定打開終端,輸入 vi,然后鍵入:to be continued,感受一下李納斯當(dāng)年編程的風(fēng)采……

隨著李納斯不斷的敲擊鍵盤,他的終端仿真程序也不停的擴(kuò)張,從剛開始的小樹苗長(zhǎng)成了一株盤根錯(cuò)節(jié)的大樹,樹根牢牢的抓住土地,枝丫努力的伸向天空,花朵和果實(shí)開始在高遠(yuǎn)的天空中爍爍發(fā)光,所有的細(xì)節(jié)都在李納斯的掌控之中。懂行的技術(shù)人員都看得出來,這個(gè)大鼻子的芬蘭小子是準(zhǔn)備開發(fā)一個(gè)操作系統(tǒng)啊。

是年6月份,李納斯基本確定了要開發(fā)一個(gè)操作系統(tǒng)內(nèi)核的計(jì)劃,并開始著手搜集 Unix 操作系統(tǒng)標(biāo)準(zhǔn)的相關(guān)資料。1991年7月3日,格林威治時(shí)間上午10點(diǎn)鐘,李納斯在 MINIX 新聞組發(fā)出了一封求助郵件,尋求有關(guān) Posix 標(biāo)準(zhǔn)的幫助,他在郵件中寫道:

目前我正在 MINIX 系統(tǒng)下做一個(gè)項(xiàng)目,對(duì) POSIX 標(biāo)準(zhǔn)很感興趣。有誰能向我提供一個(gè)機(jī)器可讀的最新的 POSIX 規(guī)則?如果能有個(gè) FTP 地址就更好了。

這份公開的郵件是標(biāo)識(shí) Linux 問世的最早證據(jù)。郵件發(fā)出后不久,有人就寄來了厚厚的 POSIX 標(biāo)準(zhǔn),同時(shí)赫爾辛基工學(xué)院的 Ari Lemke 也對(duì)李納斯的郵件做出了響應(yīng),為李納斯提供了一個(gè) FTP 地址,用來上傳他即將完成的操作系統(tǒng)。

注:POSIX 全稱是可移植操作系統(tǒng)接口(Portable Operating System Interface)。IEEE 最初制定 POSIX 標(biāo)準(zhǔn),是為了提高 UNIX 環(huán)境下應(yīng)用程序的可移植性。隨著技術(shù)的發(fā)展,POSIX 開始不局限于 UNIX 系統(tǒng),后續(xù)的 Linux 和 Windows NT 都部分的遵循了該標(biāo)準(zhǔn)。POSIX 在李納斯開發(fā)的過程中起到了燈塔的作用,直接后果就是 Linux 系統(tǒng)從一開始就走在了正規(guī)軍的康莊大道上,基本沒有跑偏過。Linux 幾乎可以適配各種類型的硬件體系結(jié)構(gòu)。

標(biāo)準(zhǔn)和 FTP 地址都有了眉目,李納斯開始實(shí)現(xiàn)各種 System Call,以便讓 Shell 運(yùn)行起來。這段時(shí)間的工作讓李納斯時(shí)常感到灰心喪氣,看著增加的代碼量,工作似乎前進(jìn)了一大步,但是檢驗(yàn)一下功能又仿佛沒有任何進(jìn)展。有時(shí)候他還不得不放棄之前的想法和已經(jīng)完成的代碼實(shí)現(xiàn),另辟蹊徑重頭再來,即使是在天才面前,代碼也能讓人歡喜讓人憂。

終于 Shell 已經(jīng)可以在新的操作系統(tǒng)上工作了,李納斯開始編寫拷貝(cp)和列表(ls)等程序。Shell 程序一旦完成,就好像完成了從0到1的飛躍,一切都變得無比順利,李納斯面前仿佛出現(xiàn)了一條陽關(guān)大道,一切都豁然開朗了,他說,要有光,于是就有了光。對(duì)于這種狀態(tài),李納斯表示:「我很滿意」,并且開始用「Linux」稱呼這個(gè)操作系統(tǒng)。

這種滿意非常重要,因?yàn)槟莻€(gè)夏天李納斯除了伏在電腦面前噼噼啪啪的敲擊鍵盤,什么都沒做。芬蘭四月到八月的日子是一年中最美好的時(shí)光。人們到布滿小島的海上航行,去海灘上曬日光浴,到夏日小木屋中消遣時(shí)光。但是李納斯,他只是在永無休止的編寫程序,忘記了白天和黑夜,黑色的窗簾遮蔽了燦爛的陽光,也遮蔽了外面的世界。他唯一的想法就是,得趕緊把這該死的系統(tǒng)做出來!

1991年8月25日,李納斯在MINIX 新聞組上發(fā)郵件做了一個(gè)調(diào)查,想知道大家希望這個(gè)新的操作系統(tǒng)具備什么特征。

1991年9月17日,李納斯把已經(jīng)完成的新操作系統(tǒng)上傳到了Ari Lemke提供的 FTP 服務(wù)器上,并準(zhǔn)備用「Freax」作為操作系統(tǒng)的最終代號(hào),結(jié)果遭到了Ari Lemke的激烈反對(duì)。Ari Lemke對(duì)李納斯說:

「李哥,您咋會(huì)想到用這么變態(tài)的名字命名操作系統(tǒng)呢?原來的Linux不挺好的嘛」

「那樣不會(huì)顯得自戀么?」

「您這樣就不對(duì)了,操作系統(tǒng)是開天辟地的大事,人民群眾都等著用您的名字命名呢,看看他們的眼神,您能辜負(fù)他們的期望嗎?Linux 天生不就是用來了 Unix 遙相呼應(yīng)的么?這是命,得認(rèn)!」

「這……那我就不推辭了啊」

以上為意譯,不過基本上和古代皇帝的黃袍加身是一個(gè)意思。新的操作系統(tǒng)最終以「Linux」命名,并在10年后名揚(yáng)天下,20年后統(tǒng)治服務(wù)器領(lǐng)域,可謂 Linux 恒久遠(yuǎn),Linus 永流傳。

Linux 內(nèi)核0.01版本終于發(fā)布了,雖然漫長(zhǎng)的開發(fā)過程才剛剛開始,但李納斯終于可以松口氣了:

瞧,我真的做出了點(diǎn)什么。我沒有在騙你們。這就是我所做的……

創(chuàng)造操作系統(tǒng),就是去創(chuàng)造一個(gè)所有應(yīng)用程序賴以生存的基礎(chǔ)環(huán)境――從根本上來說,就是在制定規(guī)則:什么可以接受,什么可以做,什么不可以做。事實(shí)上,所有的程序都是在制定規(guī)則,只不過操作系統(tǒng)是在制定最根本的規(guī)則。——李納斯

Linus(五)——繼續(xù)前行

Linux 從一誕生就被打上了開源的烙印,這一點(diǎn)對(duì) Linux 的后續(xù)發(fā)展起到了至關(guān)重要的作用。從1991年內(nèi)核0.01版本發(fā)布,到1994年1.0版本閃亮登場(chǎng),世界各地?zé)o數(shù)的開發(fā)者為 Linux 提交了代碼,李納斯為 Linux 建立了討論組 comp.os.linux,全世界愛好開源和 Linux 的程序員與黑客都在上面討論問題,他們就像群蜂筑巢一樣,不斷的通過個(gè)體和群體的力量交替推進(jìn) Linux 的飛速發(fā)展。

李納斯對(duì)自己說:嗯,沒有任何東西可以阻擋 Linux 的普及!

這種感覺估計(jì)很多程序員都體會(huì)過,當(dāng)你設(shè)計(jì)的算法得出了正確結(jié)果的時(shí)候,當(dāng)你自以為解決了一個(gè)海森堡 bug(Heisenbug,表示不可重現(xiàn))的時(shí)候,當(dāng)你完成了一段精妙代碼的時(shí)候,你摘下厚重的眼鏡,推開鋪滿灰塵的書桌,打開辦公室唯一的窗戶,迎著夕陽把一只廢棄的圓珠筆扔出窗外,然后沖著天空大喊:還有誰~~~?這是一種拔劍四顧心茫然的情懷。

李納斯還不止于此。他不僅單槍匹馬寫出了 Linux 的內(nèi)核,而且做出了開源的決定。他把 Linux 放到了互聯(lián)網(wǎng)上,并且允許那些希望使用和改進(jìn)它的人們根據(jù)開源協(xié)議修改和提交源代碼。這兩點(diǎn)對(duì)互聯(lián)網(wǎng)的影響是極其深遠(yuǎn)的,估計(jì)李納斯當(dāng)年也沒有想到,當(dāng)時(shí)的兩個(gè)小小的漣漪,經(jīng)過時(shí)間和空間的放大,十幾年后形成了一股互聯(lián)網(wǎng)巨浪,到現(xiàn)在 Linux 依然處于風(fēng)口浪尖。

對(duì)于 Linux 取得的成功,李納斯將其歸結(jié)為是由自己的缺點(diǎn)導(dǎo)致的:

1、 我很懶散

2、 我喜歡授權(quán)給其他人

其實(shí)這兩個(gè)所謂的缺點(diǎn),正是優(yōu)秀程序員和領(lǐng)導(dǎo)者必備的要素,它們讓 Linux 成為世界上最大的開源協(xié)作項(xiàng)目,為喜愛 Linux 的人們帶來了最美好的技術(shù)和應(yīng)用,現(xiàn)代的互聯(lián)網(wǎng)幾乎是運(yùn)行在 Linux 之上的,可以說,李納斯改變了世界,你每一次伐開心后在淘寶上買包包,都有李納斯貢獻(xiàn)的力量!

Linus(六)——來到硅谷

1996年的春天,Linux 順利發(fā)布了2.0版本。是年李納斯27歲,這個(gè)芬蘭小子已經(jīng)慢慢厭倦了芬蘭平淡無奇的日子和不眠不休的編程生活。對(duì)于一個(gè)技術(shù)天才來說,創(chuàng)造一套新的技術(shù)體系就像藝術(shù)家完成一個(gè)雕像一樣,當(dāng)一塊粗礪的巖石在他的親手打磨下逐漸顯山露水,展現(xiàn)出其完美容顏的時(shí)候,后續(xù)的修修補(bǔ)補(bǔ)會(huì)讓這些天才產(chǎn)生倦怠的感覺。他們需要更快的劍,更高的山和更強(qiáng)大的對(duì)手。尤其是期間李納斯訪問過兩次美國(guó)之后,這種感覺變得愈發(fā)不可阻擋了。

說起來美國(guó)確實(shí)是個(gè)神奇的國(guó)度,這樣一個(gè)移民國(guó)家中,居住了各種從不同國(guó)度不遠(yuǎn)萬里跨海而來的種族,每個(gè)種族無論在基因上還是文化上都具有原來國(guó)家的特質(zhì),這些特質(zhì)相互融合與對(duì)抗,讓這塊大陸上的人民更銳意進(jìn)取,更開放,更自由,他們?cè)敢馊プ非蠛徒蛹{美好的事物,最終一不留神把美國(guó)搞成了世界文化的大熔爐,而開放的文化和環(huán)境又極大的激發(fā)了人們的想象力和創(chuàng)造力,近代和現(xiàn)代的科技成果幾乎全部源于美國(guó),要么是美國(guó)人搞的,要么是外國(guó)人在美國(guó)搞的。所以有時(shí)候我們也不用顧影自憐,嘲笑自己沒有國(guó)產(chǎn)的操作系統(tǒng)和編程語言,因?yàn)槠渌麌?guó)家也沒有,或很少有,芬蘭好不容易出了個(gè)天才少年,也沒好好珍惜,最終落了個(gè)「流落」異國(guó)他鄉(xiāng)的下場(chǎng)。

李納斯一到美國(guó)就被這塊新大陸吸引了,一切都是那么的新鮮和美好,他的感受與你第一次出國(guó)后在微信朋友圈發(fā)的「天是那么的藍(lán),云是那么的白」是一樣一樣的。李納斯在自傳中寫道:

我所參觀的摩門教堂已有一百五十年的歷史,卻被照顧的很好,清洗后的教堂顯示出亮麗的白色。要是在歐洲,所有的教堂都顯得老舊不堪,像是蒙上了一層歲月的斑痕??粗@潔白亮麗的教堂,我腦海里產(chǎn)生的唯一聯(lián)想竟然是迪斯尼樂園。因?yàn)樗雌饋硖袷峭捁适轮械某潜ぃ惶且粋€(gè)教堂了。

我記得自己徒步走過了金門大橋。在橋的這頭時(shí),我望著對(duì)岸的馬林海岬,恨不得立刻就到對(duì)岸去徜徉在那美麗的群山之間。但等我真走到那邊時(shí),我?guī)缀醪辉敢庠倥矂?dòng)雙腿……那時(shí)的我絕對(duì)想不到,在時(shí)隔六年以后的今天,我會(huì)坐在海風(fēng)吹拂的海岬峰頂,一面俯瞰太平洋、舊金山灣、金門大橋和籠罩在霧中的舊金山城,一面對(duì)著大衛(wèi)的錄音機(jī)講述著這一切。

從美國(guó)回到芬蘭之后,李納斯對(duì)自己說,我要去美國(guó)。

當(dāng)李納斯透露出自己的就業(yè)計(jì)劃之后,馬上有多家公司遞來橄欖枝,其中包括著名的 Linux 公司 Red Hat。這種感覺是如此美妙,就像你剛剛掏出一支香煙,面前已是千百個(gè)打火機(jī)舞動(dòng)。但是李納斯本著不加入任何一家 Linux 公司的原則,拒絕了 Red Hat,參加了另一個(gè)名不見經(jīng)傳的公司的面試,這家公司叫做 Transmeta,中譯名「全美達(dá)」,你們可以從維基百科上查到這家公司,不過我打賭,知道這家公司的讀者不會(huì)超過千分之一,這并不是咱們孤陋寡聞,因?yàn)槊绹?guó)人民剛開始也不知道這家公司在干嘛,全美達(dá)官網(wǎng)在1997年中上線,兩年半后網(wǎng)站的建設(shè)情況是「This web page is not yet here」,又過了很久人們才從內(nèi)部員工透露出的一點(diǎn)信息得知,這家公司似乎是搞處理器的。這是我所知道的唯一一家保密措施強(qiáng)過蘋果的公司,如果不是李納斯,這家公司就像是根本沒有存在過。

就是這樣一家公司,面試了在開源社區(qū)名滿天下的技術(shù)天才、Linux 操作系統(tǒng)的締造者李納斯,并且將其招至麾下,一待就是六年。從某種程度上,這六年嚴(yán)重的影響了 Linux 操作系統(tǒng)前行的腳步,因?yàn)槔罴{斯沒有足夠的時(shí)間開發(fā) Linux 了。

雖然根據(jù) Transmeta 與李納斯的協(xié)議,他可以繼續(xù)從事 Linux 的開發(fā),而且他確實(shí)也想這么做,比如白天為 Transmeta 工作,編寫 X86 解釋程序,晚上繼續(xù) Linux 的偉大事業(yè)。不過真實(shí)的情況是,晚上丫睡著了……

關(guān)于加班和睡眠,李納斯是這么解釋的:

很多人都認(rèn)為加班加點(diǎn)的工作才算真正的工作。我可不這么想。無論是 Transmeta 的工作還是 Linux 的工作,都不是靠犧牲寶貴的睡眠時(shí)間換來的。事實(shí)上,如果你想聽真話,我要說,我更喜歡睡覺。

總之,李納斯第一次從互聯(lián)網(wǎng)上消失了,很多悲觀的開發(fā)者紛紛奔走相告,李納斯這小子是不是被招安了?丫開始為商業(yè)公司干活了,Linux 作為自由軟件是不是已經(jīng)瀕臨死亡了?每當(dāng)這時(shí)候李納斯就會(huì)出來給大家打打氣說,哥還在呢,只不過剛睡醒……

關(guān)于李納斯的這段經(jīng)歷,曾經(jīng)在硅谷工作過的一位朋友給我提供了如下文字,大意是這樣的:

每次想起李納斯這段經(jīng)歷,我都要感慨萬千。第一次得知李納斯虎落硅谷的事是在2002年夏天,當(dāng)?shù)氐乃菆?bào)記者先是把李納斯大吹一通,然后說他從芬蘭老家搬到美國(guó),就職于 Transmeta 已五年有余,但 H1 移民仍然停留在勞工卡初級(jí)階段,六年期滿就要打道回府了。

當(dāng)時(shí)這份報(bào)紙的讀者大概有一半人有 H1 經(jīng)歷,然后這一半人里的一半都知道 Linux 是啥東東,但是從未聽說過 Transmeta 是何方神圣,這貨居然把一代技術(shù)英雄扣在那兒為一個(gè)名不見經(jīng)傳的小資本家作苦力,導(dǎo)制全球開源事業(yè)停滯不前,真是膽大包天啊!于是很多讀者跑到水星報(bào)去說,象李納斯這樣的天才愿意移民到美國(guó),布什親自開飛機(jī)去接都不為過,怎么可以被移民局壓了五年呢balabala……

還好,李納斯在2003年離開了這個(gè)叫做「全美達(dá)」的公司,受聘于開放源代碼開發(fā)實(shí)驗(yàn)室(OSDL : Open Source Development Labs, Inc),重新統(tǒng)領(lǐng)開源世界的各路英豪,全力開發(fā) Linux 內(nèi)核,Linux 再次煥發(fā)出勃勃生機(jī),這一次,它要引領(lǐng)的是互聯(lián)網(wǎng)的技術(shù)浪潮……

Linus(七)——關(guān)于財(cái)富

李納斯對(duì)待財(cái)富的態(tài)度就是「視金錢為糞土」,是真的糞土。

那種默然的態(tài)度讓人感覺非??膳?。當(dāng)一個(gè)人隨便動(dòng)動(dòng)手掛掛名簽個(gè)字就能獲取上千萬美金的時(shí)候,他依然和自己的妻女一家人擠在圣克拉拉一棟兩層樓的公寓套房里,過著一個(gè)普通程序員的生活,同時(shí)不斷改進(jìn)已經(jīng)遍布全球的 Linux,這是什么精神?這是毫不利己專門利人的國(guó)際主義戰(zhàn)士的精神。

寫到這我不禁想起了綠茵場(chǎng)上的冰王子博格坎普,當(dāng)他接到幾十米外的長(zhǎng)傳,用標(biāo)志性的慢速停球過掉撲上來的后衛(wèi),輕扣,過掉另一個(gè)后衛(wèi),顛球,閃過最后的防守,面對(duì)守門員的時(shí)候不是大力抽射和仰天長(zhǎng)嘯,而是把球搓出一道完美的拋物線,球越過門將,緩緩落入網(wǎng)窩,然后博格坎普,低著頭慢慢的走開,留給對(duì)手的是優(yōu)雅與實(shí)用并世無雙的技藝,和令人絕望的背影!

默然的感覺,懂了撒?

很多程序員創(chuàng)業(yè)成功或跟隨創(chuàng)業(yè)成功之后,自以為功成身退,最早扔掉的就是代碼和編譯器,然后購豪宅當(dāng)天使?jié)M世界貼旅游照片,你們感受一下,這個(gè)境界是完全不可同日而語的。(請(qǐng)勿對(duì)號(hào)入座,如有誤傷,必是友軍所為)

事實(shí)上李納斯在拿到第一筆真正的財(cái)富之前,一直處于日子緊巴巴的狀態(tài)。當(dāng)時(shí)另兩位帶頭大哥比爾·蓋茨和史蒂夫·喬布斯早已名滿天下家私萬貫,同時(shí)有大量的技術(shù)人員、商人和公司通過 Linux 及其相關(guān)技術(shù)獲取了巨額財(cái)富,對(duì)此,李納斯的態(tài)度是:「和我有毛關(guān)系」,他似乎對(duì)一大群才氣不高的編程人員能夠享受到大筆的財(cái)富并不在意。這種情況一直持續(xù)到所有的有識(shí)之士都坐不住了:李納斯,你再也不能這樣下去了!

倫敦的一位企業(yè)家希望李納斯在他羽翼未豐的 Linux 公司做個(gè)董事會(huì)成員,報(bào)酬是一千萬美金。李納斯說,不用。企業(yè)家驚呆了,當(dāng)他喃喃自語「臥槽你特么知道一千萬美金是啥概念嗎」的時(shí)候,李納斯已默默走遠(yuǎn)。

Red Hat 公司為了感謝李納斯的卓越貢獻(xiàn),為他提供了一些期權(quán),李納斯的回復(fù)同樣是,不用了,我不會(huì)給你獨(dú)家的授權(quán)許可的。Red Hat 的人差點(diǎn)瘋掉:「李爺期權(quán)您就收著吧,我們什么都不要行了吧」「唔這樣啊,那就放這吧」,這就是李納斯!

正是這筆期權(quán)讓李納斯收獲了第一筆巨額財(cái)富,因?yàn)?Red Hat 1999年8月11日在納斯達(dá)克上市了。李納斯先是意識(shí)到自己從身無分文突然變成了擁有五十萬美元的土豪,然后是一百萬,五百萬,李納斯終于變得亢奮起來,原來期權(quán)也是錢啊!終于不用再為生計(jì)發(fā)愁了,對(duì)著這個(gè)事情,李納斯的定義是:我真是最幸運(yùn)的家伙!

事實(shí)上李納斯從來沒有想過 Linux 能夠獲得如此巨大的成功。他只是為了自己方便寫了一個(gè)操作系統(tǒng)內(nèi)核并想借此獲得一點(diǎn)回報(bào)而已,「假如我事先知道了要做到如 Linux 這般成功需要做多少基礎(chǔ)和瑣碎工作的話,那我肯定會(huì)相當(dāng)沮喪的。這意味著你首先要非常優(yōu)秀,并且你所做的大部分決定都導(dǎo)致了正確的結(jié)果?!?/p>

任何理智的人在登山之前凝望著高聳入云的山峰和崎嶇艱險(xiǎn)的山路時(shí),都會(huì)陷于沮喪之中。解決辦法就是先邁出第一步再說,然后,但行好事,莫問前程。

Linux 不僅給李納斯帶來了名聲和財(cái)富,同時(shí)給大眾帶去了巨大的好處。年輕一代中最聰明的程序員和黑客都在使用 Linux 的產(chǎn)品,正是開放的 Linux 給這些天才的程序員帶去了巨大的創(chuàng)作熱情和喜悅,他們?cè)?Linux 平臺(tái)上完成了一個(gè)又一個(gè)杰出的作品,這些技術(shù)形成的生產(chǎn)力,對(duì)互聯(lián)網(wǎng)的發(fā)展起到了巨大的推動(dòng)作用,直到今天。

Linus(八)——巨星碰撞

在 Linux 出現(xiàn)之前,桌面操作系統(tǒng)的市場(chǎng)基本上是由比老師和喬老師控制的,雖然喬老師控制的少了一些。Linux 出現(xiàn)之后,桌面操作系統(tǒng)的格局并沒有太大變化,但是服務(wù)器端市場(chǎng)的變化卻是翻天覆地的。原本比爾希望通過 Windows NT 和 Server 系列在服務(wù)器領(lǐng)域復(fù)制桌面操作系統(tǒng)的輝煌,從而千秋萬載,一統(tǒng)江湖。然而,世界的發(fā)展永遠(yuǎn)是多元的,沒人能通過一己之力改變歷史發(fā)展的多維性,比爾·蓋茨也不行。于是 Linux 出現(xiàn)了,并以星星之火可以燎原之勢(shì)一舉拿下服務(wù)器操作系統(tǒng)的半壁江山。

一方是商業(yè)公司和封閉的策略,另一方是自由軟件和開放的協(xié)議,這場(chǎng)戰(zhàn)爭(zhēng)一開始支持率就是一邊倒的,李納斯就像對(duì)抗風(fēng)車的堂·吉訶德,但是他自己不僅沒有遍體鱗傷,還在沒怎么親自出場(chǎng)的情況下把微軟這個(gè)軟件風(fēng)車搞得狼狽不堪,這種情況發(fā)生在現(xiàn)實(shí)生活中絕對(duì)是老百姓喜聞樂見的,李納斯成了自由軟件世界里的英雄和領(lǐng)袖,但也就此與微軟結(jié)下了世仇,比爾和李納斯許下了永世不相見的誓言。

有些加盟微軟的朋友告訴李納斯,他們?cè)姷剿念^像被釘在了微軟公司的飛鏢靶心上。李納斯對(duì)此的評(píng)價(jià)是:一定是我的大鼻子太好瞄準(zhǔn)了。

李納斯與另一位業(yè)界巨頭蘋果之間就沒這么激進(jìn)了,畢竟 Linux 和 OS X 師出同門,都是從老前輩 Unix 那兒畢業(yè)的,坐在一起還能嘮嘮家常,事實(shí)上李納斯和喬布斯確實(shí)有過一次歷史性的會(huì)面。

李納斯來到硅谷不久,就收到了一封來自喬老師秘書的郵件,郵件中寫到:「聽聞小李飛刀光臨硅谷,蓬蓽生輝,老喬不才,重回蘋果,以期振昔日之雄風(fēng),如得小李相助,必將如猛虎加之羽翼而翱翔四海,天下可得。期待會(huì)面?!?當(dāng)然是意譯)

李納斯看完之后不明白喬布斯要干什么,只是覺得很厲害的樣子。畢竟李納斯還坐在外公腿上撥弄電腦鍵盤的時(shí)候,蘋果的沃茲已經(jīng)純手動(dòng)打造出蘋果的第一代個(gè)人電腦 Apple I 了。李納斯決定去見一下兒時(shí)的偶像,并了解一下蘋果的新操作系統(tǒng)。

兩代科技巨星的會(huì)面被安排在蘋果總部 Infinity Loop,喬布斯帶著原 Next 公司技術(shù)總監(jiān) Avie Tevanian(Mach 之父)接見了李納斯,雙方進(jìn)行了友好而親切的會(huì)談,然后會(huì)談的結(jié)果和某國(guó)常規(guī)會(huì)談一樣,就是沒有結(jié)果。

其時(shí)喬布斯十年放逐回歸蘋果,舉手投足已是大宗師氣勢(shì),他對(duì)李納斯說,我大蘋果雖然現(xiàn)在看起來有點(diǎn)頹,不過海盜精神永存,我們已經(jīng)準(zhǔn)備好重新起航了。目前個(gè)人電腦領(lǐng)域仍然只有兩個(gè)玩家:微軟和蘋果。如果 Linux 和蘋果能夠珠聯(lián)璧合,那一切將是最好的安排,所有的開源愛好者都能夠用上優(yōu)雅與極客并存的 MacLinux 了。然后 Mach 之父 Avie Tevanian 向李納斯詳細(xì)介紹了整合 Mach 和 Linux 內(nèi)核作為 OS X 混合內(nèi)核的計(jì)劃,之后龐大的 OS X 體系將構(gòu)建在 Mach 和 Linux 內(nèi)核的基礎(chǔ)之上。 同時(shí)喬老師表示,基于 Mach 和 Linux 的內(nèi)核系統(tǒng)將采用開源的方式運(yùn)作,這樣全世界的開源愛好者都可以為 Mac 和 Linux 開發(fā)程序。

這幾乎是一個(gè)完美的雙贏方案,喬老師都被自己描繪的藍(lán)圖打動(dòng)了,永遠(yuǎn)年輕,永遠(yuǎn)他媽的熱淚盈眶!誰能拒絕蘋果公司和喬布斯如此完美的邀請(qǐng)呢?

李納斯能!

喬布斯認(rèn)為自己的扭曲現(xiàn)實(shí)力場(chǎng)加上蘋果巨大的市場(chǎng)潛力一定會(huì)讓李納斯怦然心動(dòng),沒想到這個(gè)芬蘭小子在計(jì)算機(jī)面前待久了,水米油鹽不進(jìn),任憑喬布斯口吐蓮花,我自巍然不動(dòng)。首先李納斯對(duì) Mach 就不感冒,他認(rèn)為 Mach 幾乎犯下了所有的設(shè)計(jì)錯(cuò)誤,它讓系統(tǒng)變得復(fù)雜而效率低下;其次李納斯覺得喬布斯可能沒意識(shí)到,Linux 的潛在用戶要比蘋果系統(tǒng)多;第三李納斯樂觀的認(rèn)為,雖然 Linux 的目標(biāo)不是占領(lǐng)桌面操作系統(tǒng),但是顯然「我們很快就能做到這一點(diǎn)了」。所以李納斯當(dāng)時(shí)的反應(yīng)是:

為什么我要關(guān)心這些?我為什么要對(duì)蘋果公司的故事感興趣?我不覺得蘋果公司里有什么有趣的事情。我的目標(biāo)也不是占領(lǐng)什么桌面操作系統(tǒng)的市場(chǎng)。(嗯,雖然 Linux 馬上就要做到這點(diǎn)了,但這從來就不是我的目標(biāo))

現(xiàn)在看來,李納斯當(dāng)時(shí)對(duì) Linux 在桌面操作系統(tǒng)的前景過于樂觀了,雖然他天縱奇才桀驁不馴,但是也無法預(yù)測(cè)到 OS X 和 iOS 在十年后引領(lǐng)移動(dòng)開發(fā)的浪潮。不過即使知道 OS X 未來的大發(fā)展,心高氣傲的李納斯也不會(huì)接受蘋果的收編,因?yàn)?Linux 一直是獨(dú)立和自由的軟件圖騰。

無論如何,這次非正式的會(huì)談沒有達(dá)成任何實(shí)質(zhì)性的效果,但是對(duì)后來的 IT 格局產(chǎn)生了巨大的影響。蘋果不再關(guān)注 Linux,而是轉(zhuǎn)向了 BSD。2001年蘋果任命 FreeBSD 的發(fā)起人之一,老牌 BSD 黑客 Jordan Hubbard 為 BSD 技術(shù)經(jīng)理,后升為 Unix 技術(shù)總監(jiān),負(fù)責(zé) OS X 操作系統(tǒng)底層核心 Darwin 的研發(fā),最終,Mach 與 BSD 技術(shù)整合在一起,形成了混合內(nèi)核。另外,蘋果開始覺得開源項(xiàng)目也不是那么靠譜,后續(xù)他們先后研發(fā)并開源了優(yōu)秀的編譯器項(xiàng)目 LLVM 和 Clang,一舉替換了整條 GCC 編譯鏈,為 OS X 和 iOS 的性能優(yōu)化和語言特性提供了巨大的幫助。這也算是蘋果對(duì)那些牛叉哄哄的開源人士的回?fù)簦嚎?,我們也可以做開源,而且比你們做的好。

Linux 則繼續(xù)在開源、獨(dú)立、自由的方式下一路狂奔,雖然在桌面操作系統(tǒng)領(lǐng)域的成就乏善可陳,但是在服務(wù)器端大放異彩,目前幾乎整個(gè)互聯(lián)網(wǎng)都是運(yùn)行在 Linux 及其衍生產(chǎn)品之上的,可以說沒有 Linux,互聯(lián)網(wǎng)不可能得到如此迅猛的發(fā)展。

十年以后,移動(dòng)互聯(lián)網(wǎng)時(shí)代來臨。OS X 上長(zhǎng)出了 iOS,Linux 上則誕生了 Android,這兩個(gè)移動(dòng)開發(fā)領(lǐng)域的雙子星都有一個(gè)老祖宗,那就是 Unix。一次話不投機(jī)的會(huì)談讓 OS X 和 Linux 分道揚(yáng)鑣,在十幾年后的今天,它們又以一種不同的方式相見了,世界永遠(yuǎn)都是多元的,可能冥冥中自有天意吧。

Linus(九)——Linus 和 Git

很多人在完成了類似 Linux 這樣宏偉的軟件產(chǎn)品之后,基本上就止步不前了。但是李納斯卻從未停歇?jiǎng)?chuàng)新的腳步。2003年加入開放源代碼開發(fā)實(shí)驗(yàn)室之后,李納斯重新全職投入 Linux 內(nèi)核的研發(fā),并開始醞釀自己的另一個(gè)跨時(shí)代的產(chǎn)品。

2002年,Linux 內(nèi)核開發(fā)團(tuán)隊(duì)開始采用 BitKepper 作為代碼版本管理工具。BitKeeper 是一套分布式的版本管理工具,它滿足了 Linux 內(nèi)核開發(fā)的技術(shù)需求。但是 BitKeeper 只是暫時(shí)對(duì) Linux 等開源軟件團(tuán)隊(duì)免費(fèi),并不是自由軟件。2005年 BitMover 公司不再免費(fèi)贊助 Linux 開發(fā)團(tuán)隊(duì)。對(duì)此李納斯表示非常遺憾,但遺憾之后他并沒有自怨自艾傷心落淚,而是憤怒的與其他幾個(gè)小伙伴花了幾個(gè)星期完成了一套新的分布式代碼管理工具,命名為 Git。兩個(gè)月之后,Git 發(fā)布了官方版本,并在不同的項(xiàng)目中應(yīng)用,自由軟件社區(qū)給予了 Git 廣泛的支持。

與 SVN 和 CVS 等軟件不同的是,Git 更關(guān)注文件的整體性是否有改變,Git 更像一個(gè)文件系統(tǒng),它允許開發(fā)者在本地獲取各種數(shù)據(jù),而不是隨時(shí)都需要連接服務(wù)器。Git 的最大的特點(diǎn)就是離線分布式代碼管理,速度飛快,適合管理大型項(xiàng)目,難以置信的非線性分支管理。

2005年 Git 發(fā)布之后,技術(shù)日臻成熟,很多大公司都開始采用 Git 管理自己的項(xiàng)目代碼,2008年2月 Github 公司基于 Git 構(gòu)建了協(xié)作式源代碼托管網(wǎng)站 Github,目前該網(wǎng)站是這個(gè)星球上最大的源代碼集散地,幾乎所有的優(yōu)秀代碼都托管在 Github 上。Git 已經(jīng)成為程序員使用最多的源代碼管理工具!

對(duì)于 Git 的成功,李納斯表示:

Git的設(shè)計(jì)其實(shí)很簡(jiǎn)單,它有一個(gè)穩(wěn)定而合理的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上,我強(qiáng)烈建議圍繞著數(shù)據(jù)來設(shè)計(jì)代碼,而不是反其道而行之,我覺得這可能就是 Git 如此成功的原因。

壞程序員總是擔(dān)心他們的代碼,而優(yōu)秀的程序員則會(huì)擔(dān)心數(shù)據(jù)結(jié)構(gòu)和它們之間的關(guān)系。

從 Git 誕生到今天已經(jīng)有9個(gè)年頭了,Git 始終沒有背離其設(shè)計(jì)的初衷:高性能、簡(jiǎn)單的設(shè)計(jì)、非線性高并發(fā)分支的支持和完全的分布式。

對(duì)于李納斯來說,Git 現(xiàn)在是他的主要消遣工具之一。他很喜歡在 Git 上編程的感覺,因?yàn)樵僖膊挥脫?dān)心鎖定問題、安全問題和網(wǎng)絡(luò)問題,這種感覺真是太美妙了!

我們繼續(xù)期待李納斯的第三個(gè)偉大的作品!

Linus(十)——生活的意義

李納斯認(rèn)為生活意義的全部就在于:生存,社會(huì)交往和尋找樂趣。因?yàn)槲覀兯龅囊磺惺虑?,最終似乎都是為了我們自己的樂趣。而進(jìn)化作為主線始終貫穿其中。

李納斯對(duì)進(jìn)化的理解是:

「你知道在整個(gè)太陽系,人類已知的最復(fù)雜的工程是什么嗎?——不是Linux,不是Solaris,也不是你的汽車。是你,還有我。想想你和我都是怎么來的——不是什么超復(fù)雜的設(shè)計(jì),沒錯(cuò),憑運(yùn)氣。除了運(yùn)氣,還有:

通過分享「源代碼」實(shí)現(xiàn)自由的可用性和授粉機(jī)制,生物學(xué)家把它稱作DNA。

毫不手軟的用戶環(huán)境把我們不好的版本輕易地替換成更好的可執(zhí)行版本,從而使種群更加優(yōu)秀(生物學(xué)家把這叫做「適者生存」)。

大量的無方向的并行開發(fā)(試錯(cuò)法)。

我從未如此嚴(yán)肅過:我們?nèi)祟愑肋h(yuǎn)都無法復(fù)制出比我們自身更復(fù)雜的個(gè)體,而自然選擇卻不假思索的做到了。不要低估適者生存的力量。不要錯(cuò)誤地認(rèn)為你可以做出比大量的平行試錯(cuò)反饋環(huán)更好的設(shè)計(jì),那樣就太抬舉你的智力水平了。說實(shí)話,太陽照常升起,這和任何人的工程技巧或者編程風(fēng)格都沒有關(guān)系。

李納斯一生只為尋找歡笑,但是他卻取得了無數(shù)的成就和榮譽(yù):

1997年,在芬蘭赫爾辛基大學(xué)計(jì)算機(jī)科學(xué)系,李納斯接受了他的碩士學(xué)位。兩年后,他在斯德哥爾摩大學(xué)接受名譽(yù)博士學(xué)位,并在2000年在他的母校獲得了同樣的榮譽(yù)。

1998年,李納斯接受了電子前哨基金會(huì)先鋒獎(jiǎng)。

2004年,李納斯被《時(shí)代》雜志選為世界上最有影響力的人之一。

2006年,《時(shí)代》雜志歐洲版評(píng)選李納斯為過去60年最有革命性的英雄人物之一。

2012年4月20日,李納斯被宣布成為兩位獲獎(jiǎng)?wù)咧唬蜕街猩鞆浌餐@得當(dāng)年的千禧技術(shù)獎(jiǎng)。該獎(jiǎng)被普遍形容為相當(dāng)于在技術(shù)領(lǐng)域的諾貝爾獎(jiǎng)。

2012年4月23日,李納斯進(jìn)入互聯(lián)網(wǎng)協(xié)會(huì)(Internet Society,ISOC)的網(wǎng)絡(luò)名人堂。

李納斯憎惡分明,經(jīng)常口不擇言,比如他對(duì) C++的評(píng)價(jià)是:C++是一門糟糕的語言。而且有一群不合格的程序員在使用C++,他們讓它變得更糟糕了。他對(duì)自己的兩個(gè)產(chǎn)品命名的解釋是:我是個(gè)自大的混蛋,我所有的項(xiàng)目都以我的名字來命名。開始是Linux, 然后是Git(英國(guó)俚語,飯桶的意思)。

不過我最喜歡李納斯說過的一句話是:Talk is cheap, Show me the code。他一直用自己的編程人生詮釋著這句話。2006年的時(shí)候,Linux 內(nèi)核代碼的2%依然是李納斯完成的,他是代碼貢獻(xiàn)最多的人之一(是年37歲)。到了2012年,他對(duì)內(nèi)核的貢獻(xiàn)主要是合并代碼,編程變少了,但是他依然對(duì)是否將新代碼并入到 Linux 內(nèi)核具有最終決定權(quán)。

李納斯用自己精彩的編程人生和對(duì)自由軟件的熱愛演繹了現(xiàn)代社會(huì)中一個(gè)書呆子的勝利。如果你愛一個(gè)人,就讓他去編程吧;如果你恨一個(gè)人,就讓他去編程吧。代碼讓我們歡笑,也讓我們憂傷,讓我們沉默,也讓我們高歌。對(duì)于程序員來說,代碼是這個(gè)世界上最美妙的音樂,會(huì)編程的孩子,都是好孩子!

責(zé)任編輯:龐桂玉 來源: 知乎
相關(guān)推薦

2015-12-08 18:41:06

ivvi

2015-04-23 08:51:53

2015-08-03 09:33:21

PH程序員一生

2023-01-10 08:20:55

RocketMQ消息源碼

2012-12-04 10:08:16

2010-01-07 09:32:19

2020-07-09 17:37:47

Linux網(wǎng)絡(luò)包中斷

2021-12-28 18:23:49

Java指令

2018-01-18 09:05:05

存儲(chǔ)數(shù)據(jù)包分層

2021-08-06 22:43:54

中斷架構(gòu)傳遞

2014-10-11 11:35:49

2015-03-24 13:39:08

IE

2017-11-20 10:08:48

大數(shù)據(jù)后悔的事

2018-01-05 12:42:01

Lisa電腦蘋果Mac

2020-11-29 17:08:50

程序員IT

2019-06-26 08:45:28

程序員思考腦年終獎(jiǎng)

2017-04-11 17:22:57

編程程序員語言

2021-09-28 08:05:56

黑客網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2013-07-26 10:08:35

創(chuàng)業(yè)創(chuàng)業(yè)心得

2016-01-25 13:22:45

SparkSparkSQL數(shù)據(jù)分析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)