Linux的前世今生
電腦玩多了,相信大家總會看到一個系統的名字——Linux。
不過,看到這個詞,大家可能都不曉得該怎么讀。怎么讀?問百度。
Linux
英['l?n?ks] 美[?lin?ks]
這么看來,這個詞的讀法差不多應該是“里呢科斯”或者“李紐克斯”之類樣子。
不過不重要,因為有人說過:Linux是自由的,包括它的讀音。
我們今天就來看看這個自由的Linux。

第一個問題,Linux的名字是什么?
看到這里,一定會有小伙伴們覺得:匯智妹你是不是沒吃藥?你寫了那么多Linux,還問Linux的名字?
你以為Linux的名字就是Linux嗎?
錯!
我們平常說的、見到的Linux的名字應該是GNU/Linux。

Linux是操作系統內核,一個內核是沒有辦法稱為一個單獨的操作系統的。就像有GNU/Linux,也有Android/Linux(不包括GNU組件)。
后者就是我們常見的Android操作系統。但前者,卻被我們稱為Linux。
這并不代表GNU沒有人權,因為GNU操作系統本應該是GNU/Hurd,只不過到現在,Hurd這個內核都沒有開發完成。
至于這其中為什么會有這么多彎彎繞,我們慢慢來慢慢捋一下。

1970年,最早的UNIX系統問世。
在UNIX誕生前,只有面向批處理作業的操作系統,這對用戶來講實在是太慢了。

1973年,隨著C語言的誕生,原來用匯編語言編寫UNIX也改用C語言來編寫,并由此產生了UNIX VersionV。
1974年,UNIX系統正式向外界披露,自此一發不可收拾。
UNIX系統的應用越來越廣泛,但UNIX版權所有的AT&T公司卻下了一步臭棋:他們把原本低廉甚至免費開源的UNIX 閉源 并開始 收費 ,甚至還對之前的 UNIX及其變種 聲明了版權。
這就讓人很不爽了,因為那些UNIX變種,大部分都是各個機構在UNIX源碼基礎上進行擴充和改進才形成的。
憑什么你說聲明版權就聲明版權?

于是在1983年,當時30歲的理查德·馬修·斯托曼(RMS)發起了GNU計劃,目標是創建一套完全自由的操作系統GNU。之后,他又建立了自由軟件基金會來協助該計劃的實施。

理查德·馬修·斯托曼
1989年,RMS找了一群律師起草了廣為使用的GNU通用公共協議證書(GNU General Public License),即GPL。
此時,GNU計劃除最關鍵的Hurd操作系統內核外,其他絕大多數軟件已經完成了。

1991年,芬蘭大學生Linus Torvalds在Minix的啟發下,開發了Linux系統內核。

Linus Torvalds
Linus當時的想法很簡單,因為需要經常訪問大學主機上的新聞組和郵件,為了方便讀寫和下載文件,他就編寫了磁盤驅動程序和文件系統。而這就是Linux的第一個雛形。
后來,Linus就把這套系統以Linux的名字加入到了GNU計劃之中,并通過了GPL協議。
而這個舉動,讓全世界的程序員大佬參與Linux內核代碼修改編寫的工作。也就是說,Linux更應該說是一個時代的結晶。
1996年6月,Linux 2.0內核發布,此時的Linux已經進入了實用階段,能夠支持多個處理器,在全球擁有約350萬的用戶。

然而,RMS的GNU計劃也好,自由軟件基金會也好,都是為了倡導自由軟件的理念。他認為商業軟件是不道德的,必須給用戶以自由,所以要使用自由軟件。這也是RMS為什么要撰寫GPL協議。
而原本跟RMS并肩作戰的Eric Steven Raymond將商業封閉軟件和自由軟件比喻為大教堂和市集,他認為自由軟件不僅僅是一種意識形態,而是市場競爭的驅動。

Eric Steven Raymond
受到ESR理論的影響,網景公司在1998年將他們的旗艦產品網景瀏覽器發布成了開源軟件。隨之,開放源代碼促進會(Open Source Initiative,OSI)應運而生。
比起RMS的自由軟件理念,Linus顯然更接受開源軟件運動的想法。在ESR的文章中提到過Linus的思想,Linus認為用戶需要更好的軟件,而不在乎這個軟件是否屬于自由軟件,開源是能構建出更好軟件的方法。
隨著開源軟件運動的開展,也展開了一場歷史性的Linux產業化運動。

因為Linux本身是開源的,再加上GPL并沒有限制從事商業行為,于是涌現了越來越多的商業公司和團隊來開發自己的Linux distribution。如Red Hat,SuSE,Ubuntu,Fedora,Debian,CentOS等。

圖源自網絡
也就是說,Linux只是操作系統內核,由于加裝了GNU,才形成了一個完成的操作系統GNU/Linux。
由于Linux開源,然后就開始“基因突變”出了各種不同的版本。但因為這個“基因突變”不足以產生明顯差異,所以,大家合在一起還是叫做Linux發行版。

Linux受到程序員們廣泛追捧,也正是歸功于其免費開源的特點,并且不斷有大批程序員向Linux社區提供代碼。
模塊化程度高、硬件支持廣泛、安全穩定、可移植性良好都是Linux在開發者眼中不可或缺的優勢。
程序員們成就了Linux,Linux也成就著越來越多的程序員。
可能這就是開源的魅力所在吧。


