如果說Ken Thompson是Unix的創造者,那麼Linus Torvalds就是Linux作業系統的發明人,當時他還是芬蘭赫爾辛基大學的一名學生。1991年8月25日他發出了那篇現在廣為人知的新聞組主題文章,這篇以“嗨,大家好……我正在編寫一個(免費)的作業系統”開頭的文章對他的命運產生了深遠影響。
Thompson 和Torvalds兩人至少有一點相似之處,那就是對事物的好奇之心。我們可以找到證據,Thompson編寫Space Travel程式只是為了好玩而已。而Torvalds在痴迷於類Unix作業系統——Minix的同時,也完全是因為非常感興趣才會將流行的Unix命令直譯器bash進行改編並執行在他的“玩具”作業系統上。同時,這些在一開始只是“為了好玩”的舉動,卻最終對軟體產業產生了深遠影響。
一開始,Linux也不是一款具備可移植性的作業系統。Torvalds無意將它移植到英特爾386之外的其他架構之上。從某種意義上說,他也只是背水一戰,因為他的手頭只有少量計算機硬體可供選擇。因此,最初他並沒有採取任何進一步的舉措而只是將自己擁有的資源發揮到極致。但是他發現良好的設計原則和紮實的開發模式還是引領著他去把Linux變成一個可移植的系統。從那一刻開始,別的人接過了這個接力棒,很快便將Linux移植到了其他架構。
在Torvalds的Linux出現之前,借鑑他人編寫的軟體已成為相當普遍的做法。事實上也就是因為這樣,Richard M. Stallman才會在具有里程碑意義的GNU公共授權協議(GPL)下正式確立了這一思想。GPL是一個適用於軟體的法律協議,基本保證了軟體的原始碼可以自由提供給任何想要得到它的人。Torvalds最終為Linux採用了 GPL協議,這個舉動免除了所有人對於相關法律與版權糾紛的後顧之憂,讓他們可以自由借用Linux的原始碼 。由於Torvalds將Linux免費開放出來,因此其他人自然也會將他們的軟體免費提供出來以共同發展Linux。
從一開始,Linux已經表現出它確實是一個與與Unix非常相似的作業系統。它的開發人員全盤接受了Unix的哲學原理,然後再從頭編寫了這個新的作業系統。問題是在Linux的世界裡,幾乎再沒有其他程式是重新編寫的。一切應用都是建立在其他人寫好的程式碼和概念之上。因此很自然地,Linux成為了Unix系統演變的下一步,或許更準確地說,它是Unix的一個大飛躍。
類似於Unix,在Linux技術發展的早期,有許多開發者參與其中並提供了幫助。不同的是,Unix開發者數量最多的時候也就幾千人,而今天Linux的開發者數量卻早已達到了幾百萬之多。這才是登峰造極的Unix!正是這種大規模的開發格局,保證了Unix的後代Linux將在很長時間內都是一款具備強大競爭力的系統。
Linux為Unix世界重新激起波瀾,所謂的“開源”要比“專有”軟體或是那些沒有現成原始碼的軟體優越。多年以來,Unix開發人員一直堅信這一點。但計算機行業的其他人卻被一些專有軟體公司的大量宣傳所矇蔽,他們誤認為任何借來的或是免費的軟體在效能上都無法比擬那些要付費(有時甚至是耗費巨資)的軟體。
在市場營銷方面,Linux社群也更為精明,他們知道只要市場工作做得好,就算是劣質軟體也可以成功銷售出數百萬份。當然,這並不是說Linux是偽劣產品。只是,有別於它的前身Unix社群,Linux社群認識到,即使是世界上最好的軟體,也只有當人們對它產生了解並認識到它的真正價值時,才會為人所用。
我們將在後續章節再深入探討這些主題。現在,讓我們把Linux和Unix的歷史留在過去,繼續前行。事情會更加有趣。
本文摘自《Linux/Unix設計思想》