先說結論,GNU是一個操作系統。
GNU操作系統
“GNU”是“GNU's Not Unix!”的首字母遞歸縮寫形式,發音類似普通話“哥怒”。
GNU於1983年由Richard Stallman(rms)發起,意在為所有軟件用戶能夠自由控制自己的計算機而構建一款由大家共同努力開發而成的操作系統。
由於沒有任何贊助僅靠大家共同努力開發一個操作系統是一件非常困難的事情,因此1985年Richard Stallman又創立了自由軟件基金會(Free Software Foundation)來為GNU計划提供技術、法律以及財政支持。
盡管有很多人為GNU做出貢獻,但是作為操作系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的內核尚未被開發成功。GNU的內核,稱為Hurd,是自由軟件基金會發展的重點,但是其發展尚未成熟。一個沒有內核的操作系統,就相當於沒有靈魂的軀殼,好在值得慶幸的是,GNU不必再等Hurd了,因為有了Linux,Linux實際上只是一個內核,這正是GNU系統的一個重要空白,而GNU系統也為Linux內核提供了非常多且必要的系統組件,人們把Linux和GNU系統結合起來組成一個完整的自由系統——一個帶有Linux的GNU系統。換句話說,就是GNU/Linux系統,比如工作中常用的Ubuntu就是GNU/Linux發行版中的一個。
所以說其實實際上每天都有許多計算機用戶使用一個被改動過的GNU系統,但是他們並沒有意識到。
在整個GNU/Linux系統中,GNU占了非常大的比重,我們都知道內核其實相對整個操作系統來說是很小的,如果你要根據誰的代碼多來命名系統,最合適的單個選擇是“GNU”。
但是實際情況是經過一系列的事件,現在被廣泛使用的GNU版本則經常被稱作“Linux”,而且許多用戶並不了解它基本上就是GNU系統,是由GNU工程開發的(除了內核以外)。
無論你是否使用GNU/Linux,請不要含糊不清地使用“Linux”這一名稱來混淆大眾。Linux是一個內核,是系統的主要基本部件之一。整個系統基本上是GNU系統,加上Linux。如果你說的是這個組合,請稱之為“GNU/Linux”。
GNU的所有含義
其實說到這里,GNU的含義就很寬泛了:
- 可以指代操作系統——GNU操作系統
- 可以指代軟件——GNU軟件
- 可以指代為了完成這個操作系統而發起的龐大的工程——GNU工程
- 或者是想要完成GNU系統/工程而聚集在一起的一幫人——GNU組織
甚至GNU是一種精神或者信仰(說起來有點類似些宗教的感覺......)