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