世紀(jì)大爭(zhēng)論:Linux還是GNU/Linux?
我們?cè)诰W(wǎng)上已經(jīng)習(xí)慣用“Linux”來(lái)稱(chēng)呼Linux操作系統(tǒng)了,然而,偶爾也用“GNU/Linux”來(lái)稱(chēng)呼和指代同樣的操作系統(tǒng)和軟件。同時(shí)人們也在爭(zhēng)論這兩種稱(chēng)呼哪個(gè)更合適。
本文將不會(huì)選邊站隊(duì),僅力圖向你講述這兩種稱(chēng)呼的來(lái)歷,并解釋”Linux”與“GNU/Linux”之間的微妙差異。
什么是“Linux”?
“Linux”這個(gè)詞僅僅代表內(nèi)核——操作系統(tǒng)的核心。其他軟件,比如用來(lái)編譯內(nèi)核的GNU C編譯器,bash命令行終端,GNU Shell組件(包括所有你用到的基本命令),X.org圖形服務(wù)器, 一個(gè)圖形化的桌面環(huán)境比如Unity(譯者注:基于GNOME 3開(kāi)發(fā)),以及在桌面環(huán)境上運(yùn)行的各種軟件,比如Firefox,這些都是由不同開(kāi)發(fā)者來(lái)開(kāi)發(fā)的。
Linux發(fā)行版則集合來(lái)所有這些由不同開(kāi)發(fā)者開(kāi)發(fā)的組件,我們習(xí)慣將這個(gè)有機(jī)整合的軟件包稱(chēng)為“Linux”.有關(guān)更多Linux發(fā)行版的知識(shí)以及發(fā)行版之間的差別,可以閱讀HTG 解碼:什么是Linux發(fā)行版?它們之間有何差別?
GNU計(jì)劃
1983年Richard Stallman(理查德·斯托曼)創(chuàng)立GNU計(jì)劃。GNU的目標(biāo)是創(chuàng)建一套完全由自由軟件的兼容UNIX的操作系統(tǒng)。“GNU”是英文“GNU‘s Not Unix!”的遞歸縮寫(xiě)。(“自由軟件”是對(duì)一類(lèi)開(kāi)源軟件的稱(chēng)呼,而自由軟件更強(qiáng)調(diào)自 由,不過(guò),本文不打算討論自由軟件和開(kāi)源軟件的差異)
1991年的時(shí)候,GNU計(jì)劃已經(jīng)完成了GNU操作系統(tǒng)的絕大部分組件,包括GNU C編譯器(gcc),bash命令行終端和其他Shell命令行組件,以及Emacs文本編輯器等等。其他組件則有已經(jīng)存在的自由軟件來(lái)替代,比如X Windows系統(tǒng)來(lái)提供圖形化桌面的接口。
然而,操作系統(tǒng)的內(nèi)核——GNU Hurd內(nèi)核——依舊沒(méi)有完成。GNU計(jì)劃非常冒險(xiǎn)的選擇了“微內(nèi)核”設(shè)計(jì)架構(gòu)(微內(nèi)核是指將系統(tǒng)服務(wù)的實(shí)現(xiàn),與系統(tǒng)的基本操作規(guī)則區(qū)分開(kāi)來(lái)。它實(shí)現(xiàn)的方式,是將核心功能模塊化,劃分成幾個(gè)獨(dú)立的進(jìn)程,獨(dú)立運(yùn)行。可以減少系統(tǒng)之間的耦合度,易于實(shí)現(xiàn)與除錯(cuò),也可增進(jìn)可移植性。它可以避免單一組件失效,而造成整個(gè)系統(tǒng)崩潰。Windows NT以及Mac OS均是微內(nèi)核架構(gòu)。——譯者注,摘自維基百科“微內(nèi)核”詞條),也正因?yàn)檫x用了微內(nèi)核架構(gòu)造成開(kāi)發(fā)周期異常漫長(zhǎng)。(到2013年,GNU Hurd內(nèi)核已經(jīng)開(kāi)發(fā)了23年依然沒(méi)有發(fā)布穩(wěn)定版)。
千呼萬(wàn)喚Linux來(lái)!
對(duì)GNU操作系統(tǒng)來(lái)說(shuō),缺失的最后一環(huán)就是內(nèi)核(kernel),同時(shí)這也是最重要的一環(huán),可謂是“萬(wàn)事俱備只欠東風(fēng)”。時(shí)間到了1991年,芬蘭赫爾辛基大學(xué)的學(xué)生Linus Torvalds(林納斯·托瓦茲)發(fā)布了Linux內(nèi)核的第一個(gè)版本。將Linux內(nèi)核、GNU軟件以及X窗口管理系統(tǒng)整合在一起,就可以成為了一個(gè)完整的且自由分發(fā)的操作系統(tǒng)了(就如同現(xiàn)在的“Linux發(fā)行版”)。
剛開(kāi)始就已經(jīng)有這種操作系統(tǒng)應(yīng)該如何稱(chēng)呼的爭(zhēng)論。1992年,Yggdrasil計(jì)劃用““Yggdrasil Linux/GNU/X”來(lái)命名其整合起來(lái)的軟件。而Richard Stallman和自由軟件基金會(huì)更加推崇使用“GNU/Linux”。Debian目前一直將其軟件稱(chēng)為“GNU/Linux”。(Debian以其堅(jiān)守Unix和自由軟件的精神,以及其給予用戶(hù)的眾多選擇而聞名。現(xiàn)時(shí)Debian包括了超過(guò)37500個(gè)軟件包并支持12個(gè)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。——譯者注,摘自維基百科“Debian”詞條)。
不同的聲音:GNU/Linux
GNU計(jì)劃要開(kāi)發(fā)一個(gè)叫“GNU”的完全自由的操作系統(tǒng),而Linux的絕大部分軟件也是GNU計(jì)劃提供的。然而這就出現(xiàn)了一個(gè)顯而易見(jiàn)的問(wèn)題,也正如Richard Stallman反對(duì)的,稱(chēng)之為“Linux”會(huì)泯滅GNU的意義以及其初始目標(biāo)——一個(gè)完全自由的操作系統(tǒng)并為用戶(hù)提供自由。而這也就與另一組爭(zhēng)論交織在一起了——“自由軟件”和“開(kāi)源軟件”,“自由軟件”這個(gè)稱(chēng)呼更加強(qiáng)調(diào)自由權(quán)力,而“開(kāi)源軟件”則關(guān)注于技術(shù)優(yōu)勢(shì)而淡化意識(shí)形態(tài)紛爭(zhēng)。
正如2005年Richard Stallman在接受ZNET采訪時(shí)所說(shuō):”設(shè)計(jì)Linux的目的并不是為了解放網(wǎng)絡(luò)世界,而且Linux的開(kāi)發(fā)動(dòng)機(jī)也并不會(huì)帶給我們今天所看到的整個(gè)GNU/Linux系統(tǒng)。今天有數(shù)十萬(wàn)用戶(hù)使用這樣的操作系統(tǒng),他們因此而獲得了自由——但他們卻并沒(méi)有意識(shí)到這一點(diǎn),因?yàn)樗麄冇X(jué)得這個(gè)系統(tǒng)就是Linux,而且是一個(gè)學(xué)生因?yàn)?ldquo;只是覺(jué)得好玩”而開(kāi)發(fā)出來(lái)的。”
(1991年Linus Torvalds發(fā)布Linux內(nèi)核第一版的時(shí)候是芬蘭赫爾辛基大學(xué)研二的學(xué)生,第一次發(fā)布到新聞組的時(shí)候稱(chēng)其寫(xiě)Linux只是“Just For Fun”,后來(lái)他在2002年出版了一本自傳,也取名為《Just For Fun》——譯者注)
更多有關(guān)此的思考可以在GNU網(wǎng)站上找到。
不同的聲音:Linux
而支持使用“Linux”這個(gè)稱(chēng)呼的人認(rèn)為,僅僅關(guān)注GNU是個(gè)錯(cuò)誤,那么基于同樣的理由,眾多發(fā)行版包含不同組織的軟件那么就應(yīng)該稱(chēng)為“Mozilla/KDE/Apache/X.org/GNU/Linux”。(這是典型的詭辯——譯者評(píng)價(jià))
大多數(shù)人仍舊使用“Linux”這個(gè)稱(chēng)呼。除非有更好的,因它簡(jiǎn)單易記,朗朗上口。且無(wú)論這理想的名字是什么,“Linux”都會(huì)是大多人對(duì)這操作系統(tǒng)的簡(jiǎn)稱(chēng)。你可以在這里看到“Linux”也能在別處看到,因?yàn)檫@對(duì)讀者來(lái)說(shuō)是能夠第一時(shí)間就明白的稱(chēng)呼。
好了,我們以Linus Torvalds于1996年在新聞組里的話(huà)做結(jié)尾:“嗯,關(guān)于這個(gè)的討論已經(jīng)夠多的了,非常感謝!對(duì)于公眾來(lái)說(shuō),如何稱(chēng)呼Linux這根本就不算個(gè)事,只要可以自圓其說(shuō)就夠了(對(duì)雙方而言)。從我個(gè)人的角度,我會(huì)非常樂(lè)意繼續(xù)稱(chēng)之為L(zhǎng)inux”。
如果想了解更多關(guān)于Linux的起源與發(fā)展,這里極客范推薦給大家一個(gè)視頻:Code Linux。視頻中有包括Linus Torvalds、Richard Stallman、Alan Cox、Eric S. Raymond等一眾大神現(xiàn)身說(shuō)法,推薦給程序員和極客們。
原文鏈接: Chris Hoffman 翻譯: 極客范 - 愛(ài)開(kāi)源的貢獻(xiàn)開(kāi)源社區(qū)
譯文鏈接: http://www.geekfan.net/4221/