相信很多人看到了這個標題就會產生疑問,這篇文章到底要講什么東西?在回答這個問題之前,我先提出幾個問題?
什么是linux?
什么是gnu?
gnu/linux是什么玩意兒?
在回答了以上問題后,大家自然也清楚我想說明的問題了。
什么是linux
相信了解一些it知識的人都聽過linux這個名詞。維基百科上的linux詞條是最經典和最準確的說明(http://zh.wikipedia.org/wiki/linux),在此直接應用,免去班門弄斧之嫌。
linux操作系統(linux),是一種計算機操作系統。linux操作系統的內核的名字也是“linux”。linux操作系統也是自由軟件和開放源代碼發展中最著名的例子。
linux內核最初是為英特爾386微處理器設計的。現在linux內核支持從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬件設備。
在開始的時候,linux只是個人狂熱愛好的一種產物。但是現在,linux已經成為了一種受到廣泛關注和支持的一種操作系統。包括ibm和惠普在內的一些計算機業巨頭也開始支持linux。很多人認為,和其他的商用unix系統以及微軟 windows相比,作為自由軟件的linux具有低成本,安全性高,更加可信賴的優勢。
linux內核最初只是由芬蘭人林納斯?托瓦茲(linus torvalds)在赫爾辛基大學上學時出于個人愛好而編寫的。最初的設想中,linux是一種類似minix這樣的一種操作系統。linux的第一個版本在1991年9月被發布在internet上,隨后在10月份第二個版本就發布了。
linux的歷史是和gnu緊密聯系在一起的。從1983年開始的gnu計劃致力于開發一個自由并且完整的類unix操作系統,包括軟件開發工具和各種應用程序。到1991年linux內核發布的時候,gnu已經幾乎完成了除了系統內核之外的各種必備軟件的開發。在linus torvalds和其他開發人員的努力下,gnu組件可以運行于linux內核之上。整個內核是基于gnu通用公共許可,也就是gpl(general pubic license)的,但是linux內核并不是gnu 計劃的一部分。
linux的標志和吉祥物是一只名字叫做tux的企鵝,linux的注冊商標是linus torvalds所有的。這是由于在1996年,一個名字叫做william r. della croce的律師開始向各個linux發布商發信,聲明他擁有linux商標的所有權,并且要求各個發布商支付版稅,這些發行商集體進行上訴,要求將該注冊商標重新分配給linus torvalds。
linux的某些版本是不需要安裝就能使用的版本,他們稱為livecd
什么是gnu
gnu計劃,又稱革奴計劃,是由richard stallman在1983年9月27日公開發起的。它的目標是創建一套完全自由的操作系統。richard stallman最早是在net.unix-wizards新聞組上公布該消息,并附帶一份《gnu宣言》等解釋為何發起該計劃的文章,其中一個理由就是要“重現當年軟件界合作互助的團結精神”。
gnu是“gnu's not unix”的遞歸縮寫。stallman宣布gnu應當發音為guh-noo,與canoe發音相同,以避免與gnu(非洲牛羚,發音與new相同)這個單詞混淆。unix是一種廣泛使用的商業操作系統的名稱。由于gnu將要實現unix系統的接口標準,因此gnu計劃可以分別開發不同的操作系統部件。gnu計劃采用了部分當時已經可自由使用的軟件,例如tex排版系統和x window視窗系統等。不過gnu計劃也開發了大批其他的自由軟件。
為保證gnu軟件可以自由地“使用、復制、修改和發布”,所有gnu軟件都在一份在禁止其他人添加任何限制的情況下授權所有權利給任何人的協議條款,gnu通用公共許可證(gnu general public license,gpl)。這個就是被稱為“反版權”(或稱copyleft)的概念。
1985年richard stallman又創立了自由軟件基金會(free software foundati hat兼并的cygnus soluti
到了1990年,gnu計劃已經開發出的軟件包括了一個功能強大的文字編輯器emacs,c語言編譯器gcc,以及大部分unix系統的程序庫和工具。唯一依然沒有完成的重要組件就是操作系統的內核(稱為hurd)。
1991年linus torvalds編寫出了與unix兼容的linux操作系統內核并在gpl條款下發布。linux之后在網上廣泛流傳,許多程序員參與了開發與修改。1992年linux與其他gnu軟件結合,完全自由的操作系統正式誕生。(盡管如此gnu計劃自己的內核hurd依然在開發中,目前已經發布beta版本。)
許多unix系統上也安裝了gnu軟件,因為gnu軟件的質量比之前unix的軟件還要好。gnu工具還被廣泛地移植到windows和mac os上。
注:以上內容來自維基百科gnu詞條(http://zh.wikipedia.org/wiki/gnu)
gnu/linux是什么玩意兒
通過回答上面兩個問題,我們很明顯可以注意到linux只是一個操作系統內核而已,而gnu提供了大量的自由軟件來豐富在其之上各種應用程序。
因此,嚴格來講,linux這個詞本身只表示linux內核,但在實際上人們已經習慣了用linux來形容整個基于linux內核,并且使用gnu 工程各種工具和數據庫的操作系統。基于這些組件的linux軟件被稱為linux發行版。一般來講,一個linux發行套件包含大量的軟件,比如軟件開發工具,數據庫,web服務器(例如apache),x window,桌面環境(比如gnome和kde),辦公套件(比如openoffice.org),等等。
絕大多數基于linux內核的操作系統使用了大量的gnu軟件,包括了一個shell程序、工具、程序庫、編譯器及工具,還有許多其他程序,例如emacs。正是由于linux使用了許多gnu程序,gnu計劃的開創者richard stallman博士提議將linux操作系統改名為gnu/linux。但有些人只把操作系統叫做"linux"。
有部分linux套件,包括了debian,采用了“gnu/linux”的稱呼。但大多數商業linux套件依然將操作系統稱為linux。有些人也認為“操作系統”一詞指的應該只是系統的內核,其他程序都只能算是應用軟件,這么一來,該操作系統的內核應叫linux,而linux套件是在linux內核的基礎上加入各種gnu工具。
一些人拒絕使用“gnu/linux”作為操作系統名稱的人認為:
linux朗朗上口;名字較短又好記;
richard stallman博士直到1990年代中期,linux開始流行后才要求更名。
結語
我相信,堅持看完這些枯澀文字的讀者一定明白了我需要探討的問題,我們常說的linux,準確地來講,應該是叫“gnu/linux”。雖然,我們沒有為gnu和linux的開發做出什么貢獻,但是我們可以為gnu和linux的宣傳和應用做出微薄的努力,至少我們能夠準確地去向其他人解釋清楚gnu、linux以及gnu/linux之間的區別。讓我們一起為gnu/linux的推廣貢獻出自己的力量!