跳至內容

GNU

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
GNU
開發者社區
程式語言各種(特別是C語言以及匯編語言
作業系統家族類Unix系統
運作狀態運作中
原始碼模式自由軟件
市場取向個人計算機、流動裝置、嵌入式裝置、伺服器、大型機、超級計算機
支援平台IA-32Alpha, ARC英語Synopsys ARC, ARM, AVR32英語AVR32, Blackfin英語Blackfin, C6x, ETRAX CRIS英語ETRAX CRIS, FR-V英語FR-V, H8/300, Hexagon, 安騰, M32R英語M32R, m68k英語m68k, META英語Imagination META, MicroBlaze英語MicroBlaze, MIPS, MN103英語MN103, OpenRISC英語OpenRISC, PA-RISC, PowerPC, s390英語s390, S+core英語HyperScan, SuperH, SPARC, TILE64英語TILE64, Unicore32英語Unicore32, x86, Xtensa英語Xtensa(僅限Linux-libre內核)
內核類別微內核 (GNU Hurd中的GNU Mach內核)或整塊性核心 (Linux的分支,GNU Linux-libre)
用戶空間GNU
特許條款GNU GPLGNU LGPLGNU AGPLGNU FDL和少量寬鬆自由軟件特許條款[1][2]
官方網站https://www.gnu.org/

GNU是一個自由作業系統,其內容軟件主要以GPL方式釋出。這個作業系統是GNU計劃的主要目標,名稱來自GNU's Not Unix!遞歸縮寫,因為GNU的設計類似Unix,但它不包含具AT&T或任意專有著作權的Unix代碼。GNU的創始人,李察·馬菲·斯托曼,將GNU視為「達成社會目的技術方法」。

GNU計劃自己開發的內核Hurd,在上世紀曾是自由軟件基金會發展的重點;gnu.org聲稱如今GNU維護者主要出於技術上的興趣繼續發展此內核[3]。實際使用上,多半使用Linux內核作為系統核心。許多Linux作業系統包涵了Linux內核與GNU計劃的核心組件和軟件,對於這一類Linux發行版,gnu.org認為應該稱為GNU/Linux

歷史

[編輯]
李察·斯托曼, GNU計劃的建立者

GNU作業系統起源於GNU計劃,由李察·斯托曼麻省理工學院人工智能實驗室發起,希望發展出一套完整的開放原始碼作業系統來取代Unix,計劃中的作業系統,名為GNU。1983年9月27日,李察·斯托曼在 net.unix-wizards 和 net.usoft新聞群組中公布這項計劃。[4][5]。李察·斯托曼通過使用變化單詞的各種手法來選擇名稱,包括曲目The Gnu英語The Gnu[6]: 00:45:30

斯托曼的目標是成立一個完全自由的作業系統,他希望電腦用戶是能夠「自由使用」的。因為在20世紀60年代和70年代 - 大多數人都能自由學習軟件的原始碼,自由地與他人分享的軟件,可自由修改軟件的行為,自由發布軟件的修改後的版本。這種理念,在1985年3月出版的GNU宣言嶄露無遺。[5]

1984年1月5日,斯托曼正式開始編寫軟件,為了防止這些軟件將來可能被主張所有權,影響到自由軟件的發展,他辭去了在實驗室的工作。[7]。他還決定,將開發新的系統,並使用 CLisp作為系統程式語言。[8] 且GNU將與UNIX相容。[9] 當時,UNIX已經是一個流行的專有作業系統。而Unix的設計是模組化的,所以它可以被逐步分塊的實現。[10]

同年,開發者開始編寫GNU Emacs,次年GNU宣言公開發布。1989年,斯托曼發表GNU通用公眾特許條款。當時,GNU計劃中的其他部份,如編輯器、編譯器、shell等都已經完成,獨缺作業系統核心。1990年,自由軟件基金會開始正式發展Hurd,作為GNU計劃中的作業系統。根據湯馬士·布什內爾的回憶,最早自由軟件基金會使用Trix來開發作業系統,但在1986年放棄這個計劃。在此後,他們原希望以輕量化後的4.4BSD為基礎進行開發。1987年,李察·斯托曼決定以Mach微內核進行開發,認為可以藉此加速作業系統的開發,但因為一直不確定卡內基梅隆大學何時要將核心原始碼釋出,造成計劃延宕三年。他在之後承認這是個錯誤。[來源請求]

許多必要的軟件需要從零寫起,但已存在的第三方組件,如 TeXX Window System[5]被部分GNU軟件套件依賴並被認為是完整的GNU作業系統的一部分[來源請求][11] 除了上述的第三方組件外,大多數的GNU軟件是由許多志願者,在他們的空閒時間,或由公司、[12] 教育機構和非牟利性組織贊助下撰寫。1985年10月,李察·斯托曼建立自由軟件基金會 (FSF)。在1980到1990年代,他們僱用軟件發展工程師去轉寫GNU必須的軟件。[13][14]

1991年,Linux出現。1993年,FreeBSD釋出。所有GNU計劃中的用戶空間的軟件,都可以在Linux或FreeBSD上使用。許多開發者轉向於Linux或FreeBSD。其中,Linux成為常見的GNU計劃軟件運行平台。

由於GNU頗具知名度,有興趣的商家開始促進發展或出售GNU軟件和技術支援。其中最突出的和成功的,是Cygnus Solutions[12]後被紅帽公司收購。

組成

[編輯]

該系統的基本組成包括GNU編譯器套裝(GCC)、GNU的C函式庫(glibc)、以及GNU核心工具組(coreutils[15],另外也包含GNU除錯器(GDB)、GNU二進制實用程式(binutils[16]GNU Bash shell[11] 和GNOME桌面環境[17]等。其中GNOME作為一個整體曾是GNU軟件套件,但是GNOME基金會現今認為GNOME已不是GNU的一部分(見GNOME條目)。據gnu.org的觀點,GNU作業系統包含GNU軟件套件以及第三方的自由軟件[3]。開發人員已經將GNU應用程式和工具向Linux內核移植 ,現在也廣泛應用在其它作業系統中,如BSD變體的Solaris,和OS X[18]

許多GNU程式已經被移植到其他作業系統,包括專有的作業系統實現,如Microsoft Windows[19]和OS X。[20] 威斯康星大學麥迪遜分校電腦科學系在1995年發表的一個研究認為:GNU作為作業系統比他們的專有Unix對應更為可靠。[21]截至2024年7月底,gnu.org記載有459個GNU軟件包(正在維護的有387個)。[22]

GNU 變種

[編輯]

GNU項目的官方內核計劃是GNU Hurd,專案中的GNU Mach是微內核;而在2012年,Linux-libre內核正式成為GNU計劃的一部份,相較於上游的Linux,其開發者使用指令碼刪除了所有專有組件。[23]

像FreeBSD內核其他核心依然和GNU軟件合作,形成一個工作的作業系統。[24] FSF認為Linux核心,與GNU工具和實用程式使用時,應承認自己為GNU變種,並促進改成 GNU/Linux 的這類系統名稱(導致GNU/Linux命名爭議) 。[25][26][27] GNU工程已認可的Linux發行版,包含gNewSense (已停止開發),Guix SystemTrisquelParabola GNU/Linux-libre等。[28] 不使用Hurd或Linux作為核心的GNU的其他變種包括Debian GNU/kFreeBSD和Debian GNU/NetBSD,兩者均已停止維護[29]

圖標

[編輯]

代表GNU的牛羚頭圖示同時也是GNU計劃的商標,最初版本是Etienne Suvasa所設計。而今比較流行的粗體版本則是Aurelio Heckert所設計[30]

30周年商標是原商標的修改版本,是由自由軟件基金會創作,其目的為慶祝GNU計劃30周年。[來源請求]

參考文獻

[編輯]
  1. ^ GNU Licenses. [2019-04-25]. (原始內容存檔於2019-04-24). 
  2. ^ GNU FSDG. [2019-04-25]. (原始內容存檔於2015-12-08). 
  3. ^ 3.0 3.1 GNU操作系统和自由软件运动. gnu.org. 2025-09-06 [2025-09-07]. (原始內容存檔於2026-02-11) (中文(中國大陸)). 
  4. ^ Stallman, Richard. new UNIX implementation. Newsgroupcomp.unix.wizards. September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始內容存檔於2013-05-13). 
  5. ^ 5.0 5.1 5.2 Lambert, Laura. Poole, Hilary , 編. The Internet: A Historical Encyclopedia. Biographies, Volume 1. Santa Barbara, California: ABC-CLIO. 2005: 215–216 [2016-03-05]. ISBN 1-85109-664-7. (原始內容存檔於2016-04-16). 
  6. ^ Stallman, Richard. The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始內容存檔於2016-03-03). 簡明摘要. 
  7. ^ Holmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory. Inter/vention: Free Play in the Age of Electracy. MIT Press. March 2012: 69–71 [2016-03-05]. ISBN 978-0-262-01705-3. (原始內容存檔於2016-04-22). 
  8. ^ Timeline of GNU/Linux and Unix. [2016-03-05]. (原始內容存檔於2016-03-03). Both C and Lisp will be available as system programming languages. 
  9. ^ Seebach, Peter. Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source). November 2008: 177–178 [2016-03-05]. ISBN 9781430210436. (原始內容存檔於2016-04-13). 
  10. ^ DiBona, Chris; Stone, Mark; Cooper, Danese. Open Sources 2.0: The Continuing Evolution. October 2005: 38–40 [2016-03-05]. ISBN 9780596008024. (原始內容存檔於2016-04-05). 
  11. ^ 11.0 11.1 Kerrisk, Michael. The Linux Programming Interface: A Linux and UNIX System Programming Handbook. October 2010: 5–6 [2016-03-05]. ISBN 9781593272203. (原始內容存檔於2016-04-03). 
  12. ^ 12.0 12.1 Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates, Inc. January 1999 [2016-03-05]. ISBN 1-56592-582-3. (原始內容存檔於2014-08-27). 
  13. ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. The Software Industry. 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始內容存檔於2016-04-14). 
  14. ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127. 
  15. ^ St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3. 
  16. ^ GCC & GNU Toolchains - AMD. Developer.amd.com. [2015-09-02]. (原始內容存檔於2015-03-16). 
  17. ^ Sowe, Sulayman K; Stamelos, Ioannis G; Samoladas, Ioannis M. Emerging Free and Open Source Software Practices. May 2007: 262–264 [2016-03-05]. ISBN 9781599042107. (原始內容存檔於2016-04-07). 
  18. ^ Linux: History and Introduction. Buzzle.com. 1991-08-25 [2012-09-22]. (原始內容存檔於2017-12-11). 
  19. ^ McCune, Mike. Integrating Linux and Windows. December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始內容存檔於2016-04-01). 
  20. ^ Sobell, Mark G; Seebach, Peter. A Practical Guide To Unix For Mac Os X Users. 2005: 4 [2016-03-05]. ISBN 9780131863330. (原始內容存檔於2016-04-12). 
  21. ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services頁面存檔備份,存於互聯網檔案館) - October 1995 - Computer Sciences Department,University of Wisconsin
  22. ^ Software - GNU Project - Free Software Foundation. Free Software Foundation, Inc. 2024-07-31 [2025-09-12]. (原始內容存檔於2015-12-25). 
  23. ^ GNU Linux-libre. 2012-12-17 [2013-02-09]. (原始內容存檔於2013-02-28). 
  24. ^ Kavanagh, Paul. Open Source Software: Implementation and Management. 2004-07-26: 129 [2016-03-05]. ISBN 978-1-55558320-0. (原始內容存檔於2016-04-03). 
  25. ^ Welsh, Matt. Linux is a GNU system and the DWARF support. Newsgroupcomp.os.linux.misc. 8 September 1994 [3 February 2008]. (原始內容存檔於2012-11-10). RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel. 
  26. ^ Proffitt, Brian. Debian GNU/Linux seeks alignment with Free Software Foundation. ITworld. 2012-07-12 [2012-09-22]. (原始內容存檔於2012-09-17). 
  27. ^ 1.1. Linux or GNU/Linux, that is the question. SAG. TLDP. [2012-09-22]. (原始內容存檔於2012-08-16). 
  28. ^ List of Free GNU/Linux Distributions, GNU Project, Free Software Foundation (FSF), [2016-03-05], (原始內容存檔於2016-02-02) .
  29. ^ Proven, Liam. New Debian/Hurd follows closely behind new Debian Linux. The Register. 2025-08-18 [2026-03-16]. (原始內容存檔於2026-02-14) (英語). 
  30. ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始內容存檔於2011-07-28). 

參見

[編輯]

外部連結

[編輯]