English [en]   ??????? [ar]   català [ca]   Deutsch [de]   espa?ol [es]   fran?ais [fr]   ????? [he]   hrvatski [hr]   italiano [it]   日本語 [ja]   ??? [ko]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   русский [ru]   Shqip [sq]   српски [sr]   Türk?e [tr]   укра?нська [uk]   簡體中文 [zh-cn]  

Free Software Free Society

Together we have the opportunity to empower the world through the use of free software. The only way to counter proprietary software companies and the billions of dollars they use to strip user rights is through the power of your voice and your generosity. Read more.

118 Joined
600 New Members

這是針對英文原版頁面的中文翻譯。

Richard Stallman之GNU/Linux問答

要了解更多,你還可以閱讀我們關于Linux和GNU工程的網頁、關于為什么是GNU/Linux?的網頁和關于從未聽說過GNU的GNU用戶的網頁。

當人們看到我們使用并建議GNU/Linux作為系統名稱,而其他人稱之為“Linux”時,他們會問許多問題。此處列舉了常見問題以及我們的回答。

為什么你稱該系統為GNU/Linux而不是Linux?(#why)
大多數使用Linux內核的操作系統發行版基本上是GNU操作系統的修改版。我們在1984年就開始開發GNU工程,比Linus Torvalds開始寫他的內核要早好多年。我們的目標是開發一個完全的自由操作系統。當然,我們沒有自己開發所有的部件—但是我們指引了方向。我們開發了大多數核心部件,它們構成了整個系統單一的最大貢獻部分。基礎版本也來自我們的貢獻。

為了公平,我們至少應該被平等對待。

請參看Linux和GNU系統從未聽說過GNU的GNU用戶來了解更多說明,并參看GNU工程來了解歷史。

為什么名稱是重要的?(#whycare)
雖然Linux內核的開發者對自由軟件社區做出了貢獻,但是其中許多人并不關心自由。認為整個系統就是Linux的人往往弄混淆了,他們賦予了這些內核開發者實際上他們在社區中根本沒有扮演的歷史角色。然后,他們就給這些開發者的觀點以超乎尋常的份量。

稱該系統為GNU/Linux確認了我們的理想在社區建設中的角色,并幫助公眾了解這些理念的實際重要性

GNU和Linux究竟是什么關系?(#what)
GNU操作系統和Linux內核是獨立的軟件項目,它們完成互補的工作。通常,它們會打包在GNU/Linux發行版里,并被一起使用。
為什么大多數人會叫該系統為“Linux”?(#howerror)
稱該系統為“Linux”是一個混淆,該混淆傳播得比正確的信息要快。

把Linux和GNU系統結合在一起的人不曾意識到他們的努力合起來是什么。他們的注意力集中在Linux部分,而沒有意識到GNU才是更大的部分。他們開始稱之為“Linux”,雖然這個名字并不適合他們所獲得的系統。幾年后我們才意識到這個問題,并請求人們更改。那時,這個混淆已經遙遙領先了。

大多數稱該系統為“Linux”的人從來沒有聽說過為什么這不對。他們看到其他人這么用,就理所當然地認為這一定是對的。“Linux”這個名字還傳播了錯誤的系統淵源,因為人們一般會認為系統的歷史一定和該名字相關。比如,他們通常相信系統的開發是由Linus Torvalds在1991年開始的。這個錯誤的場景又會加強系統應該叫做“Linux”的想法。

本文中的許多問題表達了人們想要為他們習以為常的名字辯護的訴求。

我們是否總要說“GNU/Linux”而不要說“Linux”?(#always)
不是總要—只有當我們在談論整個系統時。如果你特指內核,那么你應該說“Linux”,其開發者選擇的名字。

當人們稱整個系統為“Linux”時,其后果就是他們用內核的名字來稱呼整個系統。這造成了許多混淆,因為只有專家才可以辨別什么時候說的是內核什么時候說的是整個系統。把整個系統稱為“GNU/Linux”,并把內核稱為“Linux”,你就避免了歧義。

如果沒有GNU,Linux還會這么成功嗎?(#linuxalone)
如果是那樣的話,可能就不會有像今天這樣的GNU/Linux系統,而且可能沒有任何的自由操作系統。除了GNU工程和(后來的)Berkeley CSRG,在20世紀80年代沒有人會開發自由的操作系統,CSRG也是在GNU工程的明確請求下開始代碼自由化的。

Linus Torvalds部分受到1990年在芬蘭的一場關于GNU的演講的影響。沒有這個演講,他也可能會寫出一個類Unix的內核,但是它可能不會是自由軟件。Linux在1992年,當Linus把它按GNU GPL發布時,成為自由軟件。(參看0.12版的發布說明。)

即使Torvalds使用其他自由許可證發布Linux,單單一個自由的內核也無法改變世界。Linux正好適合一個更大的框架、一個完全的自由操作系統:GNU/Linux,這樣它才變得顯眼。

如果你們不按這樣的要求分裂人群,對社區不是更好嗎?(#divide)
當我們請求人們說“GNU/Linux”時,我們不是在分裂群眾。我們是在請求他們給予GNU操作系統的GNU工程榮譽。這并沒有批評或驅趕任何人。

不過,有人不喜歡我們這樣說。有時,這些人會反過來驅趕我們。有個別情況,這些人是如此粗魯以至于我們不得不想,他們是不是存心要脅迫我們保持沉默。這沒有使我們沉默,但是這確實要分裂社區,所以我們希望你們能夠說服他們不要這樣做。

不過,這只是分裂社區的一個次要因素。社區最大的分裂在于欣賞自由軟件作為社會和道德問題并認為專屬軟件是社會問題的人(自由軟件運動的支持者)和那些只討論實際利益并只把自由軟件當作有效的開發模式的人(開源運動者)之間的分裂。

這種分歧不只是名稱的問題—這是基本價值觀的不同。社區看到和思考這個分歧很重要。“自由軟件”和“開源”這兩個名字就是這兩部分的旗幟。請參看為什么開源錯失了自由軟件的重點

這個價值分歧和人們關注GNU工程在社區中角色中的份量部分吻合。看重自由價值的人們更傾向于叫這個系統為“GNU/Linux”,而了解該系統為“GNU/Linux”的人也更傾向于關注我們對于自由和社區的哲學觀點(這就是為什么系統名稱的選擇使社區非常不同的原因)。然而,即使每個人都知道系統的真正淵源和正確名稱,分歧也可能還會存在,因為問題真的在那里。只有看重自由的我們說服每個人(不太容易)或者我們被完全打敗(希望不要如此),問題才會消失。

難道GNU工程不支持每個人按自己的選擇為系統命名的言論自由嗎?(#freespeech)
是的,確實,我們相信你有按自己的意愿稱呼該操作系統的言論自由權利。我們請求大家稱之為GNU/Linux是為了公正地對待GNU工程、是為了促進GNU代表的自由價值、是為了告訴大家正是這些自由價值才使該系統能夠存在。
由于每個人都知道GNU在系統開發中的角色,難道名字里不說“GNU/”不是一樣嗎?(#everyoneknows)
經驗告訴我們該系統的用戶以及普通的計算機用戶通常對GNU并不了解。關于該系統的大多數文章沒有提及“GNU”這個名字或者是GNU代表的理念。從未聽說過GNU的GNU用戶一文有更詳細的解釋。

問這個問題的人可能認為他們認識的極客1抱有這個想法。極客通常知道GNU,但是很多極客關于GNU的概念是完全錯誤的。比如,許多人認為GNU是一個“工具”集合,或者GNU是一個開發工具的項目。

此問題的用詞也反映出了另一個典型的常見錯誤。談及“GNU在開發中的角色”時認為GNU是一群人。GNU是一個操作系統。討論GNU工程的角色或其他活動才有意義,而不是談論GNU。

我了解GNU在系統中的角色,為什么我用什么名字還有關系?(#everyoneknows2)
如果你說的話沒有表達出你的認識,那么你不是在教育別人。大多數聽到過GNU/Linux系統的人認為這就是“Linux”,而它是由Linus Torvalds開始的,并且它要做的是“開源”。如果你不告訴人們事實,誰來告訴他們呢?
把“GNU/Linux”縮寫為“Linux”不正好和把“Microsoft Windows”縮寫“Windows”類似嗎?(#windows)
把一個常用名稱縮寫是有用的,但是該縮寫不能引起誤解。

事實上,在發達國家里,幾乎所有人都知道是Microsoft(微軟)開發了“Windows”系統,所以把“Microsoft Windows”縮寫為“Windows”不會使人們誤解該系統的屬性和來源。但是,把“GNU/Linux”縮寫為“Linux”的確誤導了該系統的起源。

此問題本身就具有誤導性,因為GNU和Microsoft并不類似。Microsoft是一家公司;GNU是一個操作系統。

難道GNU作為編程工具的集合不是包含在Linux之中了?(#tools)
認為Linux就是整個操作系統的人,如果對GNU有所耳聞,對什么是GNU的概念往往是錯誤的。他們或許認為GNU是一個程序集合的名字—他們常常稱之為“編程工具”,因為我們的一些編程工具本身也招人喜歡。“GNU”就是操作系統的名字這一概念很難被貼上“Linux”標簽的操作系統這一概念所接納.

GNU工程由于GNU操作系統而得名—它是開發GNU系統的工程。(請參看1983的初始聲明。)

我們開發了諸如GCC、GNU Emacs、GAS、GLIBC、BASH等程序,因為GNU操作系統需要它們。GCC,GNU編譯器集合是我們為GNU操作系統編寫的編譯器。我們,為GNU工程工作的一群人,也為GNU工程開發了Ghostscript、GNUCash、GNU Chess和GNOME。

操作系統和內核有什么不同?(#osvskernel)
操作系統,對我們來說,代表著程序的集合,它們足以支持使用電腦完成多種多樣的任務。一個通用的操作系統,如果是完備的,就應該能夠處理許多用戶想要完成的所有任務。

內核是操作系統的程序之一—它為其他程序的運行分配機器的資源。內核也負責開始和終止其他程序。

混淆事情的是,有些人也使用“操作系統”一詞表示“內核”。這兩個意思都可以追溯到多年以前。使用“操作系統”一詞表示“內核”的例子可以在80年代的一些系統設計教科書中找到。與此同時,也在80年代,“Unix操作系統”是按照包含所有系統程序來理解的,而Berkeley版的Unix甚至還包括游戲。由于我們意在使GNU成為一個類Unix的操作系統,所以我們在使用“操作系統”一詞時是指和Unix一樣的意思。

大多數時間,人們談及“Linux操作系統”時,他們用“操作系統”指的就是我們所說的意思:他們說的是整個程序集合。如果你指的是這個,那么請叫它“GNU/Linux”。如果你只是指內核,那么“Linux”是正確的名字,但是請你也加上“內核”來避免混淆你要指明的程序。

如果你更愛使用諸如“系統發行版”之類的詞來表示整個系統集合,而不用“操作系統”一詞,也沒問題。這時,你可能應該說GNU/Linux系統發行版。

系統的內核正如房屋的基礎。在沒有基礎的時候,房屋怎么就幾乎完成了?(#house)
內核并不像房屋的基礎,因為構建操作系統并不像建造房屋一樣。

房屋是由許多通用的小部件構造的,這些小部件在施工現場切割和組裝。它們必須由下而上組裝在一起。因此,如果根基沒有建好,你無法建造其他部分;你只能看到一個地坑。

相反,操作系統由許多復雜的部件構成,它們可以以任何順序開發。當你開發了大多數部件時,你就完成了大部分工作。這更像是構造一個國際空間站,而不是一個房屋。如果空間站的大多數部件都進入軌道,只是在等一兩個重要模塊,那么這就類似GNU系統在1992年的情形。

內核不是系統的大腦嗎?(#brain)
電腦系統和人體不一樣,其中沒有一個部件擔當和人腦一樣的角色。
編寫內核不是構建操作系統的主要工作嗎?(#kernelmost)
不,許多部件都要花費大量的勞動。
如果我拿不到一個叫“GNU”的東西并安裝之,GNU怎么能叫一個操作系統?(#notinstallable)
有許多打好包的、可安裝的GNU版本。它們都不是簡單地叫做“GNU”,但是它們基本上就是GNU。

我們本來預計發布GNU系統的安裝版,不過該計劃被一些活動取代了:其他人在1992年已經打包了帶有Linux的GNU分支。從1993年起,我們開始資助構建一個更好、更自由的GNU/Linux發行版,它就是Debian GNU/Linux。Debian的創建者選的這個名字。我們不曾請他為之取名“GNU”,因為GNU這個名字將用于帶GNU Hurd內核的系統版本—當時還未就緒。

GNU Hurd內核還沒有充分準備好;我們僅向對為其工作感興趣的人推薦GNU Hurd。所以我們沒有將GNU和GNU Hurd內核一起打包。不過,Debian打包的Debian GNU/Hurd就是這個組合。

目前我們正在開發一個叫做Guix的基于Scheme的先進包管理系統,以及一個基于其上的完整系統發行版,叫做Guix系統發行版或GuixSD。它重新打包了大量的GNU系統的軟件包。

我們從來沒有踏出最后一步—用“GNU”之名打包GNU,但是這并不改變GNU的本質。GNU是一個操作系統。

我們用內核來稱呼整個系統,Linux。用內核命名操作系統不是正常的嗎?(#afterkernel)
這個用法似乎非常罕見—除了被錯用的“Linux”之外,我們沒有找到其他的例子。通常,操作系統是作為一個統一的項目開發的,而且其開發人員會為整個系統選擇一個名字。內核通常沒有自己的名字—反過來,人們會說“某某系統的內核”或者是“某某的系統內核”。

由于這兩種用法是同義詞,所以“Linux內核”很容易被誤解為“Linux的內核”并暗示Linux必定不單單是一個內核。你可以通過說或者寫“該內核,Linux”或“Linux,內核”來避免大家可能的誤解。

另外的系統能不能有“Linux的感覺”?(#feel)
并沒有一種叫“Linux的感覺”的東西,因為Linux沒有用戶界面。和所有當代內核一樣,Linux是運行程序的基礎;用戶界面屬于系統的其他部分。人們在GNU/Linux上的交互總是通過其他程序,而這就是“感覺”的來源。
問題是“GNU/Linux”太長了。用一個更短的名字怎么樣?(#long)
有段時間,我們用了“LiGNUx”這個名字,它合并了“GNU”和“Linux”兩個詞。反應很不好。人們更接受“GNU/Linux”。

該系統最短的合法名稱是“GNU”,不過我們稱之為“GNU/Linux”,道理如下

該系統叫“GliNUx”(替換掉“GNU/Linux”)怎么樣?(#long1)

“GNU”一詞沒有出現在“Glinux,”這個名字里,所以大多數人不會注意到GNU。即使寫成大寫的“GliNUx,”,大多數人也不會意識到這是在說GNU。

它就像是在寫“GNU/Linux,”,但是把“GNU/”寫得很小,而讓大多數人根本看不到它。

問題是“GNU/Linux”太長了。為什么我要自找麻煩說“GNU/”?(#long2)

說出或者寫出“GNU/”只需一秒鐘。如果你對我們開發的系統心懷感激,難道你不愿意花一秒鐘來表示肯定?

不幸的是,“GNU/Linux”有5個音節。人們不會使用這么長的術語。你難道不該找個更短的術語?(#long3)

實際上,“GNU/Linux”只有四個音節。“Unfortunately(不幸一詞)”有五個音節,但是人們會毫不遲疑地使用它。

由于Linux是次要的貢獻,難道簡單稱該系統為“GNU”有錯嗎?(#justgnu)
雖然這么說沒錯,但是這么做未見得最好。這里講一下我們稱整個系統版本為“GNU/Linux”而不僅僅是“GNU”的原因:
  • 它不是嚴格意義上的GNU—它帶有不同的內核(就是,Linux)。區分GNU/Linux和GNU是有用的。
  • 請求人們停止給予Linus Torvalds榮譽不是紳士所為。他確實編寫了系統的一個重要部件。我們希望因為發起和維護了該系統的開發而得到榮譽,但這并不是說我們要像那些稱該系統為“Linux”的人對待我們一樣對待Linus。我們強烈反對他的政治觀點,但是我們對此采取真誠和公開的做法,而不是試圖削弱他在系統貢獻方面應得的榮譽。
  • 由于許多人對該系統的認識是“Linux”,如果我們說“GNU”,他們可能不會意識到我們說的是同一個系統。如果我們說“GNU/Linux”,他們就能夠和他們原先聽說的系統建立聯系。

如果產品名稱使用“Linux”要付費,那么使用“GNU/Linux”也一樣付費。難道使用“GNU”而不帶“Linux”不是可以省去該費用?(#trademarkfee)
將該系統叫做“GNU”并沒有錯;基本上,該系統就是這樣的。給予Linus Torvalds應得的榮譽也很好,但是你并沒有義務要為此支付費用。

所以如果你想簡單稱該系統為“GNU”,并以此避免因為叫它“Linux”而付費,我們不會指責你。

到今天,許多項目都為該系統做出了貢獻;其中包括TeX、X11、Apache、Perl和許多其他程序。你的論點不是意味著它們也應該獲得榮譽?(但是這樣的話名字就長得可笑了。)(#many)
我們說的是你應該給予系統的主要開發者應得的榮譽。主要開發者就是GNU工程,而且該系統基本上就是GNU。

如果你還是強烈地想要給予人們應得的榮譽,那么你會覺得一些次要的貢獻者也應該在系統名稱中得到榮譽。這樣的話,我們也就沒什么好爭論的了。如果你覺得X11應該體現在系統名稱中,而且你想稱之為GNU/X11/Linux,沒問題。如果你覺得Perl也值得致意,而且想把系統名稱寫成GNU/Linux/Perl,盡管去做吧。

由于像GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv這樣長的名字會變得滑稽,所以你終究會限制一個長度而許多次要的貢獻將無法寫入該名稱。因為限制長度并沒有明顯的對錯,所以無論你怎么做,我們都不會反對。

不同的長度會形成不同的系統名稱。但是一個名字,無論怎么樣的長度限制,都不會是因為考慮到公平和榮譽而出現的,它就是“Linux”。給予一個次要貢獻者(Linux)所有的榮譽而忽略主要的貢獻者(GNU)不可能是公平的。

到今天,許多項目都為該系統做出了貢獻,但是它們并沒有堅持要叫XYZ/Linux。為什么要對GNU特殊對待呢?(#others)
今天的GNU/Linux系統通常包含有數千個項目開發的程序。它們的貢獻都應該得到榮譽,但是整體來看它們不是系統的主要開發者,所以它們沒有要求類似的榮譽。

GNU不同,因為它的貢獻不只是一個程序,也不只是一個程序集合。GNU是整個系統得以構建的框架。

如今,GNU只是系統的一小部分,為什么我們要提及它呢?(#allsmall)
在2008年,我們發現GNU包在gNewSense GNU/Linux發行版的“主”包中占有15%的份額。Linux占有1.5%的份額。所以,同樣的爭議對“Linux”這一名稱更有挑戰性。

今天,GNU是系統的一小部分,而Linux就更小了。但是他們是系統的核心;系統由二者合并而成。因此,稱之為“GNU/Linux”還是合適的。

如今,許多公司為系統做出了貢獻;難道我們不應該稱之為GNU/Red Hat/Novell/Linux?(#manycompanies)

不能把GNU和Red Hat或Novell相比較;GNU不是一個公司,也不是一個組織,更不是一個活動。GNU是一個操作系統。(當我們說GNU工程時,我們指的是開發GNU系統的工程。)GNU/Linux系統基于GNU,而這就是為什么GNU應該出現在系統名稱里。

這些公司對GNU/Linux系統的貢獻在于他們對多個GNU包的代碼貢獻,其中包括GCC和GNOME。命名GNU/Linux就是給予這些公司以及所有其他GNU開發者榮譽。

為什么要寫成“GNU/Linux”而不是“GNU Linux”?(#whyslash)
根據英語語法規則,在“GNU Linux”中,“GNU”一詞修飾“Linux”。它或者是說“GNU版的Linux”,或者是說“Linux,是一個GNU包。”哪個意思都不適合當下的情況。

Linux不是一個GNU包;就是說,它不是在GNU工程的庇護下開發的,也不是專門貢獻給GNU工程的。Linus Torvalds獨立編寫了Linux,作為他自己的項目。所以“Linux,是一個GNU包”的說法不對。

我們不是在討論特別針對GNU的Linux內核版本。GNU/Linux發行版確實有一個獨立的Linux版本,這是由于“標準的”版本帶有非自由的固件“blobs”。如果這曾是GNU工程的一部分,那么可以考慮叫它“GNU Linux”;不過我們不想這么叫,因為這太令人迷惑了。

我們討論的是GNU操作系統的一個版本,它由于帶有Linux內核而區別于其他GNU版本。斜杠適合此情況,因為它表示“聯合。”(類似“輸入/輸出”。)該系統是GNU和Linux的聯合;因此,它叫“GNU/Linux”。

還有其他的方法表示“聯合”。如果你認為加號更清楚,請使用加號。在法語中,橫線就很清楚:“GNU-Linux”。在西班牙語中,我們有時說“GNU con Linux”。

為什么是“GNU/Linux”而不是“Linux/GNU”?(#whyorder)

首先論及主要的貢獻者是正當和合理的。GNU對系統的貢獻不僅大于Linux,而且也早于Linux。實際上,是我們發起了整個活動。

另外,“GNU/Linux”這個名字對Linux是系統最底層而GNU是技術面的更上層這一情況也是恰當的。

不過,如果你更愿意說“Linux/GNU”,這也比大多數人完全不提GNU而把整個系統當作Linux要好得多。

發行版的開發者叫它“Foobar Linux”,但是該名字沒有關于系統組成的任何信息。他們為什么不能愿意叫什么就叫什么呢?(#distronames0)
稱系統為“Foobar Linux”暗示它是“Linux,”的一個分支,并且人們也是這樣理解的

如果有人說一個GNU/Linux發行版“Foobar BSD”,你會說這是個錯誤。你可能會這樣告訴他們,“這個系統不是BSD”。不過,它也不是Linux。

我的發行版叫“Foobar Linux”;難道它不就是Linux嗎?(#distronames)

這意味著制作“Foobar Linux”發行版的人在重復這個常見的錯誤。我們感謝Debian、Dragora、Musix、Trisquel和Venenux等發行版采納了GNU/Linux作為它們的正式名稱的一部分,而且如果你參與了其他的發行版,我們鼓勵你也這樣做。

我的發行版正式名稱是“Foobar Linux”;不叫它“Foobar Linux”不就錯了嗎?(#distronames1)

當有人通過將“GNU”改為“Linux”并稱其系統版本為“Foobar Linux”來散布錯誤信息時,你通過叫該系統為“Foobar GNU/Linux”而糾正錯誤是正確的做法。

難道讓諸如Mandrake、Red Hat和IBM之類的公司稱它們的發行版為“GNU/Linux”不是比普通群眾更有效?(#companies)
這不是二選一的問題—我們請求公司、組織和個人都來幫助我們傳播正確的信息。事實上,我已經請求上述三個公司這么做。Mandrake說它有時會使用“GNU/Linux”的名字,但是IBM和Red Hat不愿意幫忙。其中一個管理曾說,“這是一個純粹的商業決定;我們希望通過叫系統為‘Linux’而賺到更多的金錢。”換句話說,該公司不關心什么是正確的。

我們不能讓它們對此做正確的事,但是我們不會因為歷程艱難而放棄。或許你的影響力無法和IBM或Red Hat相提并論,但是你還是可以幫忙的。我們一起可以將事情改變到一個程度,此時稱系統為“GNU/Linux”的公司會賺到更多。

把名稱“GNU/Linux”保留給完全的自由軟件不是更好嗎?歸根結底,這就是GNU的理想嘛。(#reserve)
對我們的社區來說,在GNU/Linux系統里添加非自由軟件的普遍做法是一個主要問題。它教育用戶非自由軟件是可以的,而且使用非自由軟件是“Linux”精神的一部分。許多“Linux”用戶組把幫助用戶使用非自由的附加組件當成自己的一個使命,甚至不惜邀請銷售人員來為此營銷。他們接納了以下目標:“幫助GNU/Linux用戶”(包括幫助他們使用非自由的應用和驅動),甚或是以自由為代價讓系統更流行。

問題是怎么才能改變這個情況。

由于大多數使用GNU加Linux的社區用戶并沒有意識到他們用的是什么,所以讓我們和這些摻假的版本脫離關系,說它們不是真正的GNU,并不能更多地教育用戶自由的價值。他們將不能獲得應得的信息。他們首先只會反應出他們從來沒想到該系統是GNU。

讓這些用戶看到該系統和自由的關聯的方法正好相反:告訴他們所有這些系統版本都是GNU,這些系統都是建立在一個特意為用戶自由而存在的系統之上的。有了這樣的理解,他們就能夠開始意識到包含非自由軟件的發行版是反常的、摻假的GNU版本,而不再認為它們是合理和適當的“Linux版本”。

發起GNU/Linux用戶組會非常有用,它會稱系統為GNU/Linux并接納GNU工程是系統的基礎這一理念。如果你當地的Linux用戶組有以上提及的問題,那么我們建議你或者發起改變其傾向(和名稱)的活動,或者開展一個新的用戶組。關注表面目標的人們有權顧及他們的觀點,但是請不要讓他們把你帶到溝里去!

為什么不構造一個Linux(sic)的GNU發行版并稱之為GNU/Linux?(#gnudist)
所有的“Linux”發行版實際上都是GNU系統的版本加上Linux內核。“GNU/Linux”這一名稱就是來溝通這個重點。開發一個新的發行版并單獨叫“GNU/Linux”勢必會模糊我們的重點。

關于開發一個GNU/Linux發行版,我們已經做過一次,就是我們資助Debian GNU/Linux早期開發的時候。再做一次看來并不會有用;新的發行版要耗費大量工作,并且除非它比其他發行版有非常大的實際優勢,它的目的不明確。

反之,我們會幫助100%自由的GNU/Linux發行版的開發者,比如gNewSense和Ututo的開發者。

為什么不簡單地說“Linux是GNU的內核”并把現有的GNU/Linux版本用“GNU”發布? (#linuxgnu)
回到1992年,采納Linux作為GNU的內核也許是一個好主意。假如我們那時就意識到要使GNU Hurd能夠工作會花多長時間的話,我們也許會那么做。(嗚呼,這是一個馬后炮。)

如果我們使用一個現有的GNU/Linux版本并重新冠名為“GNU”,那么它差不多就和使用一個GNU版本并冠以“Linux”之名一樣。這不對,而且我們不想這么做。

GNU工程早期指責和反對過使用Linux嗎?(#condemn)
我們早期沒有采納Linux作為內核,但是我們也沒有指責或反對過它。在1993年,我們開始討論資助Debian GNU/Linux開發的事情。我們還尋求和修改了某些GNU包以使之能和Linux一起工作的人來協作。我們曾想把他們的更改包含在標準發布中,這樣這些GNU包和Linux就可以直接工作了。但是這些改變經常是專門的、不可移植的;它們需要清理才能安裝。

這些做出更改的人對和我們合作并沒有什么興趣。實際上,其中一個人告訴我們他不關心GNU工程的工作,因為他是一個“Linux用戶”。這使我們震驚,因為將GNU包移植到其他系統的人一般希望和我們一起工作來使這些更改進入安裝程序。不過這些人,開發了一個基本上是基于GNU的系統,是第一個(實際上還是僅有的一個)不愿意和我們一起工作的團體。

正是這個經歷第一次向我們展示了人們會把一個GNU系統的版本叫做“Linux”,而且這種混淆淡化了我們的工作。請求你叫系統為“GNU/Linux”是我們對此問題的回應,也是對“Linux”這一誤稱帶來的其他問題的回應。

為什么你們等了這么久才請求人們使用GNU/Linux這個名稱?(#wait)

事實上,我們沒有。我們在1994年就開始私下和開發者以及貢獻者談論此事,并在1996年采取了更公開的活動。只要有必要,我們會繼續下去。

GNU/name這一命名規則要應用于所有的GPL程序嗎?(#allgpled)
我們從未使用“GNU/name”來指代單個的程序。當一個程序是一個GNU包時,我們也許會叫它“GNU name”。

GNU,作為操作系統,是由很多不同的程序構成的。GNU中的有些程序是作為GNU工程的一部分或者是專門為GNU編寫的;這些是GNU包,而且我們經常在它們的名字里使用“GNU”一詞。

一個程序是否貢獻出來成為GNU包是由其開發者決定的。如果你開發了一個程序,并且想讓它成為一個GNU包,那么請寫信給<[email protected]>,這樣我們就能夠評估并決定是否需要它。

為每個按照GPL發布的程序都加上GNU之名是不公平的。如果你寫了一個程序并按照GPL發布,這并不意味著GNU工程寫了該程序或者是你為我們寫了該程序。例如,Linux內核,是按照GNU GPL發布的,但是Linus并不是作為GNU工程的一部分來寫它的—他獨立地編寫了它。如果東西不是GNU包,GNU工程不會拿走這個榮譽,而且在其名稱上添加“GNU”也是不合適的。

反之,我們確實應得GNU操作系統作為整體的榮譽,即使不是因為其中每一個程序。這個系統之所以存在就是因為我們的決心和鍥而不舍,從1984年起,比Linux的開始早許多年。

Linux在其中變得流行的操作系統基本上就是GNU操作系統。它不是完全相同,因為有不同的內核,但是幾乎就是一樣的系統。它是GNU的一個變化版。它就是GNU/Linux系統。

Linux主要還是繼續在該系統的演化版中使用—在今天的GNU/Linux系統中使用。系統身份的代表是位于其中心的GNU和Linux,而不是Linux自己。

由于GNU基本來自Unix,難道GNU不應該尊重Unix并以“Unix”作為名字的一部分?(#unix)
實際上,沒有GNU的成分是從Unix來。Unix曾是專屬軟件(現在還是),在GNU中使用任何Unix代碼都是不合法的。這并非巧合;這正是我們開發GNU的原因:由于你使用Unix或者當時的其他操作系統時,無法獲得自由,所以我們需要一個自由系統來代替它們。我們不能復制Unix程序,甚至一部分也不行;所有程序必須重新寫起。

GNU中沒有Unix的代碼,但GNU是一個兼容Unix的系統;所以,許多GNU的想法和規格確實來自Unix。“GNU”,代表“GNU并非Unix”,就是給予Unix致意的幽默方式,這也遵循了70年代黑客使用遞歸縮寫的傳統。

第一個這樣的遞歸縮寫是TINT,表示“TINT不是TECO(TINT Is Not TECO)”。TINT的作者寫了TECO的另一種實現(當時有很多實現,用在不同的系統上),但是不再叫它為無聊的“另一種TECO”,該作者想出了這個精靈、有趣的名字。(這就是黑客的意義:玩得機靈。)

其他黑客非常喜歡這個名字,他們開始模仿這個做法。這成了一個傳統,當你重新開始寫一個和現有程序類似的程序時(設想現有程序名字叫“Klever”),你就可以給新程序起遞歸縮寫名,比如代表“MINK Is Not Klever”的“MINK”。本著這種精神,我們替代Unix的系統就叫做“GNU并非Unix”。

歷史上,開發了Unix的AT&T卻不想其他人在類似的系統上使用“Unix”的名字來向它致意,即使是99%復制Unix的系統也也不行。實際上,AT&T曾威脅會起訴這樣做的人。這就使每一個Unix的修改版(和Unix一樣,都是專屬軟件)都有一個不帶“Unix”的完全不同的名字,

我們也應該說“GNU/BSD”嗎?(#bsd)
我們不叫BSD系統(比如FreeBSD。)為“GNU/BSD”系統,因為這樣叫不符合BSD系統的歷史。

BSD系統是由UC Berkeley在80年代開發的非自由系統,并在90年代早期成為自由軟件。現今的自由操作系統幾乎可以確定不是GNU系統的變化版,就是BSD系統的一種。

人們有時會問BSD是否也是GNU的一個變化版,就像GNU/Linux一樣。它不是。BSD的開發者受到GNU工程的榜樣激勵而把代碼變成自由軟件,而且明確受到來自GNU活動家的請求,這些請求幫助說服他們開始走向自由軟件,但是他們的代碼和GNU沒有什么重合。

今天,BSD系統使用一些GNU包,正如GNU系統及其變化版會使用一些BSD程序;不過,整體來看,他們是兩個分開發展的不同系統。BSD開發者沒有編寫一個內核并添加到GNU系統中,所以GNU/BSD這樣的名字不適合此情況。

GNU/Linux和GNU的關聯要緊密得多,而且這就是為什么“GNU/Linux”這個名字是合適的。

有一個版本的GNU系統使用來自NetBSD的內核。其開發者稱之為“Debian GNU/NetBSD”,但是“GNU/kernelofNetBSD”可能更準確些,這是因為NetBSD是整個系統,而不僅僅是內核。這不是一個BSD系統,因為其系統的大部分和GNU/Linux系統一樣。

如果我在Windows上安裝了GNU工具,這意味著我要說我運行了GNU/Windows系統?(#othersys)
這和我們說“GNU/Linux”并不一樣。GNU的工具只是GNU軟件的一部分,也就只是GNU系統的一部分,而且在它們的下層你還有另一個完整的操作系統,該操作系統和GNU沒有共同的代碼。總而言之,這和GNU/Linux的情況大不相同。
Linux沒有GNU就不能用了嗎?(#justlinux)
Linux自己也在一些應用中被使用,或者是和其他一些小程序一起。這些小的軟件系統遠沒法和GNU/Linux系統相提并論。比如,用戶不會在電腦上安裝它們,而且會感到這些應用令人失望。這些運行Linux的應用可以用來展示它們和GNU/Linux系統有多么的不同。
需要多少GNU的系統才要叫做GNU/Linux系統?(#howmuch)
“多少”不是一個有意義的問題,因為GNU系統并沒有準確的邊界。

GNU是一個由社區維護的操作系統。它包含的內容遠遠多于僅僅是GNU軟件包(對此我們有一個列表),并且人們一直在添加更多的包。除了這些更改,它還是GNU系統,加上Linux就產生了GNU/Linux。如果你使用了一部分GNU系統,那么說你用了“多少”并沒有什么意義。

如果我們看看包的級別,Linux是GNU/Linux系統的一個重要的包。包含一個重要的GNU包已經足夠我們要求在名稱上平等對待了。

有沒有不帶GNU的完整的Linux系統[sic]?(#linuxsyswithoutgnu)
有一些完整的系統帶有Linux而沒有GNU,Android就是一個例子。但是叫它們“Linux”系統是一個錯誤,正如叫GNU為“Linux”系統是個錯誤一樣。

Android和GNU/Linux系統非常不同—因為它們兩個共同的代碼很少。事實上,它們唯一的共同點就是Linux。

如果你稱整個GNU/Linux系統為“Linux”,那么你就會發現有些類似的東西的叫法使你犯難,比如“Android包含Linux,但它不是Linux,因為它沒有你所說的Linux [sic]常常帶有的庫和應用[就是GNU系統]。”

Android和GNU/Linux帶有的Linux一樣多。它沒有的是GNU系統。Android把GNU用Google軟件代替,其工作方式也大有不同。使Android和GNU/Linux不同的原因正是GNU的缺失。

如果我們指的是使用GNU/Linux和Android,那么我們說“使用Linux”對嗎?(#usegnulinuxandandroidlinuxsyswithoutgnu)
完全不對。這種用法太牽強,人們是無法知道其確切的意思的。

公眾會覺得用“使用Linux”來說使用Android非常奇怪。就像你在和別人談話,但是你說你是在和內臟或循環系統談話一樣。

公眾把事實上的使用GNU/Linux理解為“使用Linux”,這就是常見的誤解:認為整個系統就是“Linux”。

使用Android和使用GNU/Linux是完全不同的,就像開車和騎車不同一樣。它們都包含Linux和使用它們并沒有關系,就像汽車和自行車都有金屬和使用它們沒有關系一樣。如果你想談的是開車和騎車,那么你不會談“駕駛金屬物體”—除非你是在和讀者開玩笑。你會說,“使用汽車和自行車”。同樣的,談論使用GNU/Linux和Android的明確方法是說“使用GNU/Linux和Android”。

為什么不就干脆叫該系統為“Linux”,并以此強化Linus Torvalds作為社區的廣告人物?(#helplinus)
Linus Torvalds是他自己追求的“廣告人物”(其他人挑選的詞語,而不是我們說的),不是我們的。他的目的是使該系統更流行,而且他堅信該系統的社會價值僅在于它提供的實用優勢:其能力、可靠性和易得性。他從來沒有致力于把自由合作作為一個道德原則,這就是公眾沒有把“Linux”這一名稱和該道德原則連接到一起的原因。

Linus公開陳述他不同意自由軟件運動的理念。他在工作中開發非自由軟件多年(并且在“Linux”世界巡展上對眾多聽眾這么說),而且公開邀請Linux內核的開發者和他一起使用非自由軟件來工作。他甚至走得更遠,他指責那些建議工程師和科學家應該考慮技術進步對社會影響的人們—拒絕學習原子彈的開發對社會的教訓。

為了學習和快樂編寫一個自由軟件并沒有什么錯;Linus因此編寫的內核對我們的社區是一個重要的貢獻。但是這些動機并不是整個自由系統,GNU/Linux,存在的理由,而且它們也不能保證我們將來的自由。公眾應該知道這個道理。Linus有權利推動其觀點;不過,人們應該知曉我們討論的操作系統源自自由的理念,而不是他的觀點。

難道我們把Linus Torvalds的成果標記為GNU不是錯誤嗎?(#claimlinux)
因為那是錯誤的,所以我們沒有那樣做。Torvalds的工作是Linux,內核;我們很謹慎,并沒有把它作為GNU工程的貢獻,也沒有把它貼上“GNU”的標簽。當我們談論整個系統時,我們使用“GNU/Linux”的名字來給予他應得的榮譽。
Linus Torvalds同意Linux只是內核的說法嗎?(#linusagreed)

他一開始是這樣看的。Linux最早的發布聲明曾說,“大多數和linux一起使用的工具是GNU軟件,是使用GNU copyleft發布的。這些工具不在此發布之列——請向我(或者是GNU)咨詢詳情”

為什么不完成GNU Hurd內核、發布整個GNU系統并把GNU/Linux的問題拋在腦后?(#finishhurd)
無論使用哪個內核,我們都希望GNU操作系統獲得榮譽。

要使GNU Hurd能夠和Linux競爭是一個艱巨的工作,而且并沒有明確的必要。Linux作為內核唯一的道德錯誤是它帶有固件“blobs”;對其最好的解決方案是開發這些blobs的自由替代軟件

戰斗已經失敗了—社區已經做出了選擇而我們無法更改,為什么還糾結這事兒?(#lost)
這不是戰斗,這是教育活動。系統應該叫什么不是一個單一的決定,它不應該由“社會”在短時間內決定:每個人、每個組織都能決定使用什么名字。你不能強求其他人說“GNU/Linux”,但是你能夠決定自己叫該系統為“GNU/Linux”—你這樣做,你就是在教育其他人。
社區已經做出了選擇而我們無法更改,如果我說“GNU/Linux”又有什么用呢?(#whatgood)
這不是一個全部或者沒有的情況:正確和錯誤的概念或多或少地被人們傳播著。如果你稱該系統為“GNU/Linux”,那么你就是在幫助他人了解該系統的真正歷史、淵源和存在的理由。你也許不能憑借一己之力更正所有的誤傳,但是你能夠起到幫助。哪怕僅有幾百個人看到你在使用“GNU/Linux”,你也已經不費吹灰之力地教育了相當數目的人了。而且其中會有一些人繼續向另外的人傳播正確的概念。
把系統叫做“Linux”再花10分鐘教育人們其來龍去脈不是更好嗎?(#explain)
如果你幫助我們這樣向他人解釋,我們感謝你的努力,但是這并不是最好的方式。它不如直接叫系統為“GNU/Linux”有效,也沒有有效地利用你的時間。

它效果不佳是因為它可能無法打動人心,而且無法廣泛傳播。有些聽你解釋的人會專心,并體會到系統淵源的正確歷史畫面。但是他們不大會在每次談起該系統時都向人重復這樣的解釋。他們可能只會稱該系統為“Linux”。不經意之間,他們會幫助擴散錯誤的畫面。

由于要花許多時間,所以它不那么有效率。每天說出和寫出“GNU/Linux”只需花幾秒鐘,所以你能夠告訴非常多的人。在書面和口頭區別Linux和GNU/Linux是目前幫助GNU工程的最有效的方法。

當你讓他們叫該系統為GNU/Linux時,人們會嘲笑你。你何苦讓自己受這個刺激呢?(#treatment)
稱該系統為“Linux”會給人們展示該系統歷史和存在理由的錯誤畫面。那些嘲笑我們的請求的人可能已經看了錯誤的畫面—他們以為Linus做了這一切,所以他們在我們請求榮譽時嘲笑我們。如果他們了解了事實,可能他們就不會笑了。

我們為什么要冒被嘲弄的風險來發出我們的請求呢?因為通常這樣做對GNU工程是有幫助的。我們要冒著受不該受的侮辱的風險實現我們的目標。

如果你看到如此可笑的不公平事件,請不要坐視不管。請教育那些在嘲笑的人歷史的真相。當他們看到我們的請求是合理的時候,任何有正義感的人都不會再笑了。

當你讓他們叫該系統為GNU/Linux時,人們會指責你。疏遠他們,不也是損失?(#alienate)
損失不大。不感謝我們在系統開發中的角色的人也不大會努力幫助我們。如果他們做了推動我們目標的工作,比如發布自由軟件等,那可能是由于其他不相干的原因,并非因為我們的請求。同時,他們在教育其他人把我們的貢獻賦予另外的人,這實際上消弱了我們獲得幫助的能力。

擔心疏遠那些本來就不那么合作的人毫無意義,為了避免激怒那些始作俑者而規避主要矛盾會帶來更大的傷害。所以我們會繼續糾正這個名稱誤用。

無論你做了什么貢獻,你有權重命名系統嗎?(#rename)
我們不是在命名所有的東西;我們自從1983年聲明以來,就一直叫該系統為“GNU”。那些將系統改稱為“Linux”的人本不該那么做。
強制人們叫它“GNU/Linux”系統不是錯誤嗎?(#force)
如果我們是強制,那么我們錯了;我們沒有那樣。我們稱該系統為“GNU/Linux”,并且我們也請求你這么做。
為什么不控告哪些叫整個系統為“Linux”的人?(#whynotsue)
控告沒有法律基礎,由于我們堅信言論自由,即使有理我們也不會訴之法律。我們請求人們稱系統為“GNU/Linux”是因為這是在做正確的事。
難道不能在GNU GPL中要求人們稱該系統為“GNU”嗎?(#require)
GNU GPL的目的是保護用戶的自由不受那些會把自由軟件變成專屬軟件的人的限制。雖然稱系統為“Linux”的人經常會做些限制用戶自由的事,比如在GNU/Linux中加入非自由軟件,甚至是為此開發非自由軟件,僅僅是稱系統為“Linux”本身并不剝奪用戶的自由。讓GPL限制人們對所用系統的名稱并不合適。
由于你曾經反對原始BSD許可證要求通過廣告致謝加利福尼亞大學,所以你現在要求致謝GNU工程不是虛偽嗎?(#BSDlicense)
把GNU/Linux這一名稱作為許可證要求也許是虛偽,而且我們沒有那樣做。我們只是請求你給予我們應得的榮譽。

請注意至少有兩種不同的BSD許可證。為了清晰起見,請不要在沒有明確是哪一個許可證時使用“BSD許可證”一詞。

由于你沒有在GNU GPL中要求人們稱該系統為“GNU”,所以事情就應該發生;為什么你現在又抱怨呢?(#deserve)
此問題假定了一個相當矛盾的一般道德前提:如果人們沒有強迫你公平對待他們,那么你就有權任意利用他們。換句話說,該問題認為這樣的假定是對的。

希望你和我們一樣不同意該假定。

如果你們不和這么多人作對,情況不是更好嗎?(#contradict)
我們不認為我們應該由于數目大的人群被誤導而跟隨他們。我們也希望你的決定是因為事實更重要。

如果我們沒有首先挑戰大多數人的信仰:專屬軟件是合理和可接受的,那么我們可能就永遠不能開發出一個自由的操作系統。

由于許多人都叫它“Linux”,不正說明這是正確的?(#somanyright)
我們認為將一個流行的錯誤當成事實是不對的。
把系統名稱按照大多數用戶已知的名稱來叫不是更好嗎?(#knownname)
用戶有學習的能力。由于“GNU/Linux”包含了“Linux”,他們會了解你指的是什么。如果你時不時地加上“(經常錯誤地被認為是‘Linux’)”,他們就全都明白了。
許多人在乎的是哪里方便或誰個獲勝,而不是誰是誰非。通過不同的方式不是能獲得更多的支持嗎?(#winning)
只在乎哪里方便或誰個獲勝是一個非道德的生活方式。非自由軟件就是這種非道德方式的例子,而且因之繁榮。所以,長期來看,我們接受該方式就是搬起石頭砸自己的腳。我們要繼續在正確和錯誤的框架下討論問題。

我們希望你是看重誰是誰非的一員。

譯注

  1. geek,極客。是指對某事、尤指電腦相關的事非常癡迷或了解的人。
最頂

[FSF 標志]“自由軟件基金會(FSF)是一個非盈利組織。我們的使命是在全球范圍內促進計算機用戶的自由。我們捍衛所有軟件用戶的權利。”

加入 購物

招财蟾蜍APP 在商场什么赚钱 老北京时时彩开奖结果 四川快乐12任选五遗漏 最新手机赚钱app 彩票6加1怎么玩 北京pk10六码全年可用 20选5复式中奖计算表 吉林时时彩遗漏数据 手机听歌赚钱软件哪个好 360快乐8 六合图库2018第五期 江苏快3新玩法 安徽快三一定牛开奖结果 1号彩票群 600万彩票苹果