你對(duì)Linux感興趣并讀了一些博文。在其中,你遇到了一個(gè)有趣的名字:GNU/Linux。這些字母代表著什么意思,為什么人們總是將它們與Linux聯(lián)系在一起呢?
這個(gè)問(wèn)題很簡(jiǎn)單,但答案卻引發(fā)了Linux世界幾十年來(lái)一直存在的爭(zhēng)議。
什么是 GNU/Linux?
GNU/Linux是一個(gè)給自由開(kāi)源操作系統(tǒng)的名稱,我們通常稱之為"Linux"。
當(dāng)用來(lái)指代通用操作系統(tǒng)時(shí),“GNU/Linux”和“Linux”這兩個(gè)術(shù)語(yǔ)是可以互換使用的。但是,創(chuàng)建一個(gè)完全功能的操作系統(tǒng)需要許多不同的組成部分。可以說(shuō),在GNU/Linux中,GNU的部分比Linux更多,這就是為什么如何稱呼這個(gè)操作系統(tǒng)并不像聽(tīng)起來(lái)那么簡(jiǎn)單的原因。
GNU/Linux 中的“GNU”是什么?
讓我們回到20世紀(jì)80年代,當(dāng)時(shí)的計(jì)算機(jī)行業(yè)正處于一個(gè)轉(zhuǎn)型時(shí)期。一場(chǎng)涉及蘋(píng)果公司的最高法院案件判決,二進(jìn)制程序(與源代碼不同,可直接執(zhí)行的軟件)可以受到版權(quán)保護(hù)。幾年后,微軟發(fā)布了Windows操作系統(tǒng),這改變了人們與軟件互動(dòng)的方式。
在軟件開(kāi)始受到版權(quán)保護(hù)并以商業(yè)利益為目標(biāo)之前,大多數(shù)軟件主要由研究人員和學(xué)者使用。計(jì)算機(jī)代碼是公開(kāi)共享的,人們可以自由地使用這些程序。然而,隨著各種限制的出現(xiàn),以前可以自由進(jìn)行的行為變得違法了。
于是形成了一個(gè)名為自由軟件運(yùn)動(dòng)的組織。在1983年,理查德·斯托曼(Richard Stallman)宣布了一個(gè)計(jì)劃,要?jiǎng)?chuàng)建一個(gè)完全非專有的兼容Unix的操作系統(tǒng)。他稱之為GNU項(xiàng)目,并且該宣布仍然可以在GNU.org上找到。
GNU是一個(gè)遞歸縮略語(yǔ),代表“GNU's Not Unix”。GNU項(xiàng)目提供了許多現(xiàn)在自由桌面所依賴的重要工具。80年代創(chuàng)造的關(guān)鍵工具包括GCC(用于編譯C語(yǔ)言的工具)、功能強(qiáng)大的Emacs文本編輯器、Bash以及仍在使用的各種命令行實(shí)用程序。
GNU項(xiàng)目包含許多廣泛使用的應(yīng)用程序,如GIMP(GNU圖像處理程序)和GNOME,這是最受歡迎的自由桌面環(huán)境之一。無(wú)論您使用哪個(gè)Linux操作系統(tǒng),您可能都依賴于GNU軟件的許多組件。
GNU項(xiàng)目還負(fù)責(zé)制定了通用公共許可證(General Public License,GPL)。正是這個(gè)許可證在多年間保持了我們使用的大部分自由軟件的自由性。
GNU/Linux中的“Linux”是什么?
Linux誕生于1991年。這個(gè)項(xiàng)目始于一位赫爾辛基大學(xué)的學(xué)生,他開(kāi)始獨(dú)立開(kāi)發(fā)自己的操作系統(tǒng)內(nèi)核。他的名字叫Linus Torvalds。
當(dāng)時(shí),GNU項(xiàng)目已經(jīng)創(chuàng)建了很多構(gòu)建一個(gè)完整免費(fèi)操作系統(tǒng)所需的組件,但還缺少一些關(guān)鍵部分。這些部分包括硬件驅(qū)動(dòng)程序、守護(hù)進(jìn)程和一個(gè)可工作的內(nèi)核。這些組件使得軟件能夠與硬件進(jìn)行通信。
GNU Hurd,GNU項(xiàng)目嘗試開(kāi)發(fā)的內(nèi)核,在此之前已經(jīng)開(kāi)始開(kāi)發(fā),但還沒(méi)有準(zhǔn)備好。另外一個(gè)叫做MINIX的內(nèi)核自1987年起就存在,但它只被授權(quán)用于教育目的。
在受挫之后,Torvalds決定自己制作一個(gè)內(nèi)核。他將這個(gè)個(gè)人項(xiàng)目稱為L(zhǎng)inux,將自己的名字和UNIX結(jié)合起來(lái),但他認(rèn)為這樣做太自大而不適合公開(kāi)分享。于是,他將項(xiàng)目命名為Freax,結(jié)合了“free”(自由)、“freak”(怪異)和“UNIX”。一位同事不喜歡這個(gè)名字,更喜歡Linux。Linus同意了,這個(gè)名字就保留下來(lái)了。
起初,這個(gè)內(nèi)核并不是免費(fèi)的,但在1992年,Linus將Linux授權(quán)為GPL(GNU通用公共許可證),這是GNU項(xiàng)目創(chuàng)建的一種強(qiáng)制版權(quán)協(xié)議。這個(gè)決定對(duì)項(xiàng)目的成功起到了很大作用。許多人選擇采用Linux并為其開(kāi)發(fā)做出貢獻(xiàn),而不是創(chuàng)建競(jìng)爭(zhēng)性的內(nèi)核。
我們使用的是Linux還是GNU?
憑借GNU工具和一個(gè)功能齊備的Linux內(nèi)核,我們現(xiàn)在擁有一個(gè)工作正常的免費(fèi)操作系統(tǒng)。但是我們應(yīng)該如何稱呼它呢?從早期開(kāi)始,許多人將使用Linux內(nèi)核的操作系統(tǒng)簡(jiǎn)單地稱為"Linux"。這引發(fā)了一些緊張局勢(shì),因?yàn)長(zhǎng)inux并不代表我們?cè)谡f(shuō)Linux時(shí)所想象的大部分內(nèi)容。
再次強(qiáng)調(diào),Linux內(nèi)核是使軟件和硬件能夠相互通信的具體部分。而我們?cè)谄聊簧峡吹降囊磺心兀磕鞘瞧渌麞|西。
理想狀態(tài)的GNOME桌面操作系統(tǒng) Richard Stallman最初提議將這樣的創(chuàng)作稱為基于Linux的GNU系統(tǒng)。然后他改變了偏好,提出了GNU/Linux(發(fā)音為"GNU slash Linux"或"GNU plus Linux"),以便清楚地表明兩個(gè)項(xiàng)目都發(fā)揮了重要作用。一些人接受了這個(gè)觀點(diǎn),而其他人則認(rèn)為這個(gè)名字既笨拙又沒(méi)有必要。這種分歧一直持續(xù)至今。
為何要說(shuō)"GNU/Linux"
從一開(kāi)始,GNU項(xiàng)目的目的就是開(kāi)發(fā)一個(gè)完整的操作系統(tǒng)。內(nèi)核只是這個(gè)拼圖中缺失的一部分。Torvalds的目標(biāo)并不是創(chuàng)建一個(gè)操作系統(tǒng),而是提供那個(gè)缺失的部分。
Linux對(duì)于你在屏幕上看到任何東西都至關(guān)重要,但它與你實(shí)際看到的內(nèi)容幾乎沒(méi)有任何關(guān)系。這主要取決于你的桌面環(huán)境。
GNU也負(fù)責(zé)在后臺(tái)處理很多事情。即使你不安裝圖形用戶界面,你仍然會(huì)與GNU的一部分命令行工具(例如Bash本身)進(jìn)行交互。
沒(méi)有GNU工具,我們所認(rèn)為的Linux就不再像Linux了。盡管Android使用了Linux內(nèi)核,但它并不像Linux那樣。這主要是因?yàn)樗鄙倭薌NU的工具鏈。
"Linux"的截圖與基于BSD的自由桌面操作系統(tǒng)的截圖沒(méi)有任何區(qū)別。雖然Linux內(nèi)核看不見(jiàn),但各種開(kāi)源的基于BSD的操作系統(tǒng)提供了與桌面Linux幾乎相同的體驗(yàn)。
這并不是我們給其他操作系統(tǒng)命名的方式。當(dāng)我們想到Windows時(shí),通常會(huì)想到界面,很少有人立即想到Windows內(nèi)核。如果有人能在Linux內(nèi)核上運(yùn)行Windows界面和所有的Windows應(yīng)用程序,他們很可能仍然認(rèn)為那是Windows。
將整個(gè)生態(tài)系統(tǒng)稱為L(zhǎng)inux會(huì)引起混淆。有時(shí)候Torvalds會(huì)被認(rèn)為是創(chuàng)造整個(gè)操作系統(tǒng)的人,盡管他只是創(chuàng)建了其中的一個(gè)特定部分。
GNU對(duì)自由桌面的文化和許可證承擔(dān)了很大的責(zé)任。GNU項(xiàng)目不僅提供了構(gòu)建自由操作系統(tǒng)所需的工具,還提供了法律框架。GPL阻止人們將自由代碼用于創(chuàng)建競(jìng)爭(zhēng)性專有軟件。許多核心工具,包括Linux本身,都是在一個(gè)共享版權(quán)許可下發(fā)布的,加速了它們的采用并為自由軟件社區(qū)今天的文化奠定了基礎(chǔ)。
使用"Linux"的原因
有強(qiáng)有力的理由認(rèn)為GNU/Linux是一個(gè)更準(zhǔn)確、更精確的名稱。但它是否是一個(gè)好的名稱呢?以下是人們支持將操作系統(tǒng)稱為"Linux"的一些論點(diǎn)。這個(gè)列表可能更短,但或許更有說(shuō)服力。
Linux已經(jīng)更加流行。這在90年代就是如此,而今天仍然如此。將操作系統(tǒng)稱為其他名稱將感覺(jué)像是有意的重新品牌努力。這是因?yàn)長(zhǎng)inux使人們能夠運(yùn)行GNU項(xiàng)目和其他項(xiàng)目創(chuàng)建的所有軟件。沒(méi)有Linux,你將無(wú)法使用任何東西。
GNU/Linux是一個(gè)笨拙的名稱。它閱讀起來(lái)很尷尬,說(shuō)起來(lái)更加笨拙。單憑這個(gè)原因就足以讓一些人認(rèn)為L(zhǎng)inux不是一個(gè)公平的名稱,所以他們不愿稱操作系統(tǒng)為其他任何名稱。
我們何時(shí)停下來(lái)?如果我們給予GNU以認(rèn)可,我們難道不應(yīng)該給予X或Wayland以認(rèn)可嗎?它們是大多數(shù)自由桌面生態(tài)系統(tǒng)所依賴的顯示服務(wù)器。音頻也很重要。桌面環(huán)境也很重要。不久之后,我們將把我們的桌面稱為GNOME/PipeWire/Wayland/GNU/Linux。
Linus本人曾經(jīng)爭(zhēng)辯說(shuō),將Linux稱為GNU/Linux簡(jiǎn)直是荒謬的。
你更喜歡GNU/Linux還是Linux?我不是GNU/Linux的粉絲,但說(shuō)一臺(tái)筆記本電腦運(yùn)行GNU而不是Linux確實(shí)更清晰。隨著Android和Chromebook的興起,使用Linux這個(gè)名稱已經(jīng)變得越來(lái)越不足夠了。一個(gè)程序在Linux上可用并不意味著它能在Android上運(yùn)行,反之亦然。
隨著信息娛樂(lè)系統(tǒng)、智能家居產(chǎn)品、可穿戴設(shè)備和其他電子產(chǎn)品繼續(xù)采用Linux內(nèi)核,情況變得更加復(fù)雜。
審核編輯:湯梓紅
評(píng)論
查看更多