世紀大爭論:Linux還是GNU/Linux?

本文由 極客范 - 愛開源的貢獻開源社區 翻譯自 Chris Hoffman。歡迎加入極客翻譯小組,同我們一道翻譯與分享。轉載請參見文章末尾處的要求。

tux-and-gnu

我們在網上已經習慣用“Linux”來稱呼Linux操作系統了,然而,偶爾也用“GNU/Linux”來稱呼和指代同樣的操作系統和軟件。同時人們也在爭論這兩種稱呼哪個更合適。

本文將不會選邊站隊,僅力圖向你講述這兩種稱呼的來歷,并解釋”Linux”與“GNU/Linux”之間的微妙差異。

什么是“Linux”?

“Linux”這個詞僅僅代表內核——操作系統的核心。其他軟件,比如用來編譯內核的GNU C編譯器,bash命令行終端,GNU Shell組件(包括所有你用到的基本命令),X.org圖形服務器, 一個圖形化的桌面環境比如Unity(譯者注:基于GNOME 3開發),以及在桌面環境上運行的各種軟件,比如Firefox,這些都是由不同開發者來開發的。

Linux發行版則集合來所有這些由不同開發者開發的組件,我們習慣將這個有機整合的軟件包稱為“Linux”.有關更多Linux發行版的知識以及發行版之間的差別,可以閱讀HTG 解碼:什么是Linux發行版?它們之間有何差別?

GNU計劃

1983年Richard Stallman(理查德·斯托曼)創立GNU計劃。GNU的目標是創建一套完全由自由軟件的兼容UNIX的操作系統。“GNU”是英文“GNU‘s Not Unix!”的遞歸縮寫。(“自由軟件”是對一類開源軟件的稱呼,而自由軟件更強調自 由,不過,本文不打算討論自由軟件和開源軟件的差異)

1991年的時候,GNU計劃已經完成了GNU操作系統的絕大部分組件,包括GNU C編譯器(gcc),bash命令行終端和其他Shell命令行組件,以及Emacs文本編輯器等等。其他組件則有已經存在的自由軟件來替代,比如X Windows系統來提供圖形化桌面的接口。

然而,操作系統的內核——GNU Hurd內核——依舊沒有完成。GNU計劃非常冒險的選擇了“微內核”設計架構(微內核是指將系統服務的實現,與系統的基本操作規則區分開來。它實現的方式,是將核心功能模塊化,劃分成幾個獨立的進程,獨立運行。可以減少系統之間的耦合度,易于實現與除錯,也可增進可移植性。它可以避免單一組件失效,而造成整個系統崩潰。Windows NT以及Mac OS均是微內核架構。——譯者注,摘自維基百科“微內核”詞條),也正因為選用了微內核架構造成開發周期異常漫長。(到2013年,GNU Hurd內核已經開發了23年依然沒有發布穩定版)。

千呼萬喚Linux來!

對GNU操作系統來說,缺失的最后一環就是內核(kernel),同時這也是最重要的一環,可謂是“萬事俱備只欠東風”。時間到了1991年,芬蘭赫爾辛基大學的學生Linus Torvalds(林納斯·托瓦茲)發布了Linux內核的第一個版本。將Linux內核、GNU軟件以及X窗口管理系統整合在一起,就可以成為了一個完整的且自由分發的操作系統了(就如同現在的“Linux發行版”)。

剛開始就已經有這種操作系統應該如何稱呼的爭論。1992年,Yggdrasil計劃用““Yggdrasil Linux/GNU/X”來命名其整合起來的軟件。而Richard Stallman和自由軟件基金會更加推崇使用“GNU/Linux”。Debian目前一直將其軟件稱為“GNU/Linux”。(Debian以其堅守Unix和自由軟件的精神,以及其給予用戶的眾多選擇而聞名。現時Debian包括了超過37500個軟件包并支持12個計算機系統結構。——譯者注,摘自維基百科“Debian”詞條)。

gnu-love

不同的聲音:GNU/Linux

GNU計劃要開發一個叫“GNU”的完全自由的操作系統,而Linux的絕大部分軟件也是GNU計劃提供的。然而這就出現了一個顯而易見的問題,也正如Richard Stallman反對的,稱之為“Linux”會泯滅GNU的意義以及其初始目標——一個完全自由的操作系統并為用戶提供自由。而這也就與另一組爭論交織在一起了——“自由軟件”和“開源軟件”,“自由軟件”這個稱呼更加強調自由權力,而“開源軟件”則關注于技術優勢而淡化意識形態紛爭。

正如2005年Richard Stallman在接受ZNET采訪時所說:”設計Linux的目的并不是為了解放網絡世界,而且Linux的開發動機也并不會帶給我們今天所看到的整個GNU/Linux系統。今天有數十萬用戶使用這樣的操作系統,他們因此而獲得了自由——但他們卻并沒有意識到這一點,因為他們覺得這個系統就是Linux,而且是一個學生因為“只是覺得好玩”而開發出來的。”

(1991年Linus Torvalds發布Linux內核第一版的時候是芬蘭赫爾辛基大學研二的學生,第一次發布到新聞組的時候稱其寫Linux只是“Just For Fun”,后來他在2002年出版了一本自傳,也取名為《Just For Fun》——譯者注)

更多有關此的思考可以在GNU網站上找到。

richard-stallman

不同的聲音:Linux

而支持使用“Linux”這個稱呼的人認為,僅僅關注GNU是個錯誤,那么基于同樣的理由,眾多發行版包含不同組織的軟件那么就應該稱為“Mozilla/KDE/Apache/X.org/GNU/Linux”。(這是典型的詭辯——譯者評價)

大多數人仍舊使用“Linux”這個稱呼。除非有更好的,因它簡單易記,朗朗上口。且無論這理想的名字是什么,“Linux”都會是大多人對這操作系統的簡稱。你可以在這里看到“Linux”也能在別處看到,因為這對讀者來說是能夠第一時間就明白的稱呼。

好了,我們以Linus Torvalds于1996年在新聞組里的話做結尾:“嗯,關于這個的討論已經夠多的了,非常感謝!對于公眾來說,如何稱呼Linux這根本就不算個事,只要可以自圓其說就夠了(對雙方而言)。從我個人的角度,我會非常樂意繼續稱之為Linux”。

如果想了解更多關于Linux的起源與發展,這里極客范推薦給大家一個視頻:Code Linux。視頻中有包括Linus Torvalds、Richard Stallman、Alan Cox、Eric S. Raymond等一眾大神現身說法,推薦給程序員和極客們。

?

?

?



原文鏈接: Chris Hoffman 翻譯: 極客范 - 愛開源的貢獻開源社區

譯文鏈接: http://www.geekfan.net/4221/

[ 轉載請保留原文出處、譯者和譯文鏈接。]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449333.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449333.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449333.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyTorch Softmax

PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. The other is do softmax on a spatial matrix sized in B, C, H, W. But it seems like some problems existing in Softmax2d. : ( 轉載于:https://www.cnblogs.com/hiz…

國信證券學習系列(5)

網格策略,號稱勝率100%的策略,只要扛得住回撤,怎么說呢,它包含了最簡單的思想,大道至簡,真的是沒有什么復雜的,原理清晰,思路簡單。可以明確知道我掙的是那筆錢,為什么獲…

promise

## 前言 今天來分享下promise的用法,es6偉大發明之一,當初我學習的時候也是蠻頭大的,不知道為啥,整個腦子就是,我在哪,我要干啥的懵圈,后面認真學習之后,覺得真是十分好用&#xff0…

計算機集群 解說

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 計算機集群簡稱集群是一種計算機系統,它通過一組松散集成的計算機軟件和/或硬件連接起來高度緊密地協作完成計算工作。 在某…

同時尋找最大數和最小數的最優算法 第二大數

我們知道,在一個容量為n的數據集合中尋找一個最大數,不管用什么樣的比較算法,至少要比較n-1次,就算是用競標賽排序也得比較n-1次,否則你找到的就不能保證是最大的數。那么,在一個容量為n的數據集合中同時尋…

淺談mpvue項目目錄和文件結構

2019獨角獸企業重金招聘Python工程師標準>>> 在Visual Studio Code里面打開項目文件夾,我們可以看到類似如下的文件結構: 1、package.json文件 package.json是項目的主配置文件,里面包含了mpvue項目的基本描述信息、項目所依賴的各…

[AHOI2009]最小割(最大流+tarjan)

繼續填坑了,啦啦啦 這道題本來是準備枚舉每個邊,暫時去除它,但發現時間會爆炸的 于是決定另辟蹊徑 于是這篇題解就應運而生 首先還是網絡流跑一邊 畢竟題目叫最小割嘛,給個面子 然后跑一邊tarjan對滿流的邊處理掉,即不…

進程間通信---信號

什么是信號? 】 信號處理流程 信號類型 發送信號的函數 參數sig:代表 信號 接收信號的函數 參數 handle 的處理方式有幾種? 實例代碼 實例邏輯 圖中的等待操作使用:pause()函數 代碼 在這里插入代碼片…

大白話解說,半分鐘就懂 --- 分布式與集群是什么 ? 區別是什么?

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:這篇文章算是筆記,僅部分文字是原創,相當內容只是收集、整理、提煉、總結別人寫的。 沒有標為原創…

國信證券學習系列(6)

行業輪動策略: 本策略每隔1個月定時觸發計算1000能源(399381.SZ)、1000材料(399382.SZ)、1000工業(399383.SZ)、1000可選(399384.SZ)、1000消費(399385.SZ&a…

用Linux命令行修圖——縮放、編輯、轉換格式——一切皆有可能

本文由 極客范 - 八卦愛好者 翻譯自 How-To Geek。歡迎加入極客翻譯小組,同我們一道翻譯與分享。轉載請參見文章末尾處的要求。ImageMagick是一系列的用于修改、加工圖像的命令行工具。ImageMagick能夠快速地使用命令行對圖片進行操作,對大量的圖片進行…

劍指offer:二維數組中的查找

目錄 題目解題思路具體代碼題目 題目鏈接劍指offer:二維數組中的查找題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數&a…

函數對象 函數嵌套 名稱空間與作用域

函數對象: 函數是第一類對象,即函數可以當做數據傳遞 1 可以被引用 2 可以當做參數傳遞 3 返回值可以是函數 (函數名 不帶() 就是函數名的內存地址,帶括號就是執行函數) 4 可以當做容器類型的…

國信證券學習系列(7)

跨品種套利策略: 本策略根據計算滾動的.過去的30個bar的均值正負0.5個標準差得到布林線 并在最新價差上穿上軌來做空價差,下穿下軌來做多價差 并在回歸至上下軌水平內的時候平倉 獲取數據: # 獲取兩個品種的收盤價時間序列closesContextInfo.get_ma…

dubbo-admin管理平臺搭建

一、前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 dubbo的使用,其實只需要有注冊中心,消費者,提供者這三個就可以使用了,但是并不能…

不朽傳奇-云計算技術背后的那些天才程序員:Qemu的作者法布里斯貝拉

作者:Liu Guo Hui,OpenStack中國社區,轉載請注明出處 眾所周知,虛擬化技術是構建云基礎架構不可或缺的關鍵技術之一,而在眾多虛擬化技術實現當中,KVM(Kernel Virtual Machine)因為L…

C學習筆記-字符串

對于C語言來說,字符串其實就是最后一個元素為’\0’的char數組 字符數組的初始化 字符數組常見的有兩種初始化方式 char str[] "hello";或者 char str[] {h, e, l, l, o};當使用sizeof(str)時,得到的大小為6&#xff…

Shiro安全框架入門篇(登錄驗證實例詳解與源碼)

一、Shiro框架簡單介紹 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Apache Shiro是Java的一個安全框架,旨在簡化身份驗證和授權。Shiro在JavaSE和JavaEE項目中都可以使用…

國信證券學習系列(8)

我為什么要用國信,就是這個原因,可以做期權,期貨,股票,etf,可轉債的回測。滿足了我所有的需要,我要做指數增強。通常的做法是股票和期貨。但實際上,股票和期權做組合,成本…

Socket程序從Windows移植到Linux下的一些注意事項

關于這個話題網上流傳的是一個相同的版本,就是那個第一項是頭文件的區別,但后面列出的頭文件只有#include沒有(估計是原版的在不斷轉載的過程中有人不小心忘了把尖括號轉義,讓瀏覽器當html標記解析沒了)的那個。現在整…