Kalevala是芬蘭的民族史詩,長達23000多行,用芬蘭語寫成,是由數千年的民間傳說拚湊而成。它創作於19世紀中期,對芬蘭語言的形成和國家的文化起到了極為重要的作用。該詩的主人公是一個道士Vainamoinen,最終則成為世界的主宰。

雖然Kalevala是一個虛構、誇張的故事,但它與現實世界中的另一部“傑作”非常相似,這部傑作是由互聯網促成的,是由成千上萬名不同的黑客相助的結果。而始作俑者就是28歲的芬蘭青年—LinusTorvalds。他創造了一個全新的世界:就是一種名為Linux的操作係統。它所產生的力量決定了編程領域的新氛圍,正如我們的環境決定了動植物的特性一樣。

對大多數黑客來說,他們的目標就是創造簡潔優雅的程序,幹淨而無冗長的代碼,或者是超一流的程序,足以贏得同行們的尊敬和推崇。而Linus走得更遠,他不但重新定義了一流程序、代碼和軟件的基準,而且邁向了“黑客”的終極高度。

Linux起始於1991年,完全是編程愛好者的偶然產物。它是一個免費的軟件,開始可運行在4M內存的PC上,卻是一種最昂貴的商用Unix操作係統。到97年,根據保守的估計,其裝機用戶已達300萬之巨。這些用戶並不是那種在臥室裏自娛自樂的青年愛好者,美國的絕大多數大公司都已購買了Linux軟件。當然很少有公司會承認,自己億萬美元的業務是建立在一幫軟件黑客的代碼上。

Linux的裝機量還無法與Windows的1億多用戶相比,甚至還不能與AppleMac的5000萬用戶相比。但是Linux的崛起勢頭卻令人咋舌。由於它是免費發送的,因此在那些互聯網的國家十分流行:南非、古巴、墨西哥、斯洛文尼亞、克羅地亞、俄羅斯、印度、巴基斯坦、尼加拉瓜、菲律賓、玻利維亞。從技術上講,Linux使其他品牌的Unix黯然失色,成為Unix市場最重要的組成部分。連Unix最早的共同創始人DennisRitche也說:“Linux值得稱讚。”

Linux的傳奇還有許多線索,但它的主角就是Linus。這是一位具有非凡智慧和魅力的黑客,他單槍匹馬能解決的問題,往往要讓一群程序員苦幹數月。當然,這也是一個互聯網的傳奇故事,是依靠互聯網分布式協作模式的成果。事實上,Linux是互聯網的Kalevala,這個巨大的代碼拚湊物代表著這個快速增長的電腦王國。它將製作和使用的人緊緊地聯係在一起,將這麽多程序員連結在一起的最大動力就是要創造出世界上最偉大的操作係統。它比任何一種商用Unix都要強勁,可以運行在各種硬件平台上,而且可以無限製地按需定製。這個OS可以完全與微軟的旗艦產品WindowsNT想媲美--具有真正的多任務功能、虛擬內存、共享庫、TCP/IP網絡以及其它各種先進性能。許多人都將它視為NT最強大的競爭對手,也是微軟壟斷下的唯一可替代的選擇。

但Linux也處於重要關頭。雖然這個免費的OS不可能被比爾·蓋茨的巨獸所吞噬,但它必須贏得商業用戶的信任。對於Linux的編程者來說,它的獨立性是其驕傲的源泉,但人們也擔心Linux很可能會步另一個著名的免費軟件—Mosaic的後塵,被華而不實的商業氣息十足的Netscape所扼殺。換句話說,堅定不移的黑客倫理創造了Linux的成功,也才能保證這個軟件業的偉大傳奇永不休止。

黑客出手

這部史詩發端於赫爾辛基,似乎天下的黑客都在為自己的生命創作源程序。Linus也不例外。他的家就在離市中心不遠的Kalevagatan(與Kalevala很相近)大街。這是一個19世紀的建築與現代化平房交相呼應的地方。Linus與妻子住在這裏。但他的家更象是大學生的集體宿舍,樓梯下總放著一排排自行車。

Linus本人看起來就象一名學生,而不象道士。他中等身材,淺褐色頭發,藍眼睛,目光透過鏡片直直地射向你,隻有濃密的眉毛是黑色的,襯著一張孩子氣的臉龐。

他的房間四周排列著許多書籍,裏麵布滿了油畫和各種裝飾品,相當低廉的窗簾,兩把扶手椅之間掛著發幹的鱷魚皮,房間裏還有兩隻目空一切的貓和幾台計算機--三台PC,一台PowerMac,還有三台從Digital借來的基於Alphe芯片的微機,它們不起眼地布置在房間的角落中。另外一樣很有意思的東西不易察覺:那是一根將計算機連到電話插座的導線,這是通向互聯網的256K的專線,由當地的一家ISP安裝並承擔費用,它是對這位Linux道士的象征性獎勵。

Linux並不是一件刻意創造的傑作,而完全是日月積累的結果,是經驗、創意和一小塊一小塊代碼的合成體,不斷的積累使其成為一個有機的整體。Linux初期的許多編程工作是在SindairQL機器上完成。這是一種十分古怪的英國產電腦,是1984年推出的。它有無數的缺點,卻有一個真正的優點:它是一套真正的多任務係統。但有一件十分關鍵的事件最終導致了Linux的誕生。1989年2月,Linus在赫爾辛基大學獲得計算機碩士學位。1990年秋天,Linus在赫爾辛基上Unix課程。學校剛剛安裝了一台運行Ultrix(Unix諸多版本中的一種)MicroVAX。Unix是大學科學和工程院係最流行的操作係統,那些處理繁重任務的公司也使用Unix。Unix的問世與Internet的曆史密不可分。事實上,互聯網上運行的大多數操作係統就是Unix。1969年它由AT&T的貝爾實驗室發明,Unix在70年代廣為流傳,是KenThompson、PenmsRitchie和BillJoy等著名黑客的傑作。1993年,AT&T將Unix賣給Novell,1995年,Novell又將它賣給聖克魯斯丁。如今,象SCO、IBM、Digital、HP和Sun等都有不同的版本,造成了市場的混亂,成為微軟WindowsNT攻擊的致命弱點。

但1990年,Linus還沉浸在許多世俗的事物中。他大學的機器無法同時處理16個以上的用戶,要用機器,就得排長隊等待。他的課本中就有AndrewTanenbaum的《操作係統:設計與實現》,該書提供了Minix(Unix的變種)的操作指南。那時Linus剛剛得到一台PC。他想從笨拙的DOS操作係統學不到任何東西,而Minix雖然很簡單,功能有限,但是Minix卻在Linus的腦海中奏出一個和音:“1987年發布後兩個月來,就有一個新聞組匯集了世界各地的40,000名用戶。”但是許多用戶需要更多的功能。Tanenbaum說:“我每天都收到幾百個E-mail,要求增加這個功能、那個功能。但我隻能一再回絕,使許多人都非常沮喪和失望。”

Linus開始自己實驗地編程,他將Minix當作腳手架,開發一個新的程序。他按兩個過程進行,一個過程寫A,另一個過程寫B,但他從來沒有想過要創建一個內核(操作係統中用於實時處理和控製工作的部分)。他隻通過閱讀新聞組來修改兩個處理過程。

Linus很早就是一名黑客,十幾歲時就用匯編語言,在CommodoreVic-20微機上編程。一半是因為除匯編語言他沒有其他工具,另一半是因為用匯編看起來更加地道。1991年,他需要一個簡單的終端模擬程序來訪問新聞組。於是Linus坐下來,寫了一個基於兩步處理的應急程序。工作內容非常簡單,一個過程就是從鍵盤中讀出並發送到Modem上,另一個過程就是從Modem上讀取並發送到屏幕上。