GNU

維基百科,自由的百科全書
跳至導覽 跳至搜尋
GNU
File:Heckert GNU white.svg
File:Kde-plasma-on-guix.png
QEMU中運行的GNU Guix System(使用GNU Linux-libre內核),桌面環境為KDE Plasma 6
開發者社區
編程語言各種(特別是C語言以及匯編語言
作業系統家族類Unix系統
運作狀態支持中
源碼模式開放源代碼
當前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    市場取向個人計算機、移動設備、嵌入式設備、伺服器、大型機、超級計算機
    支援平台Linux-libre內核:IA-32, x86-64, Alpha, 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, Xtensa英語Xtensa
    Hurd(GNU mach內核):AArch64[1], IA-32和x86-64 [2]
    內核類別微內核 (GNU Hurd中的GNU Mach內核)或整塊性核心 (Linux的分支,GNU Linux-libre)
    使用者空間GNU
    許可證GNU GPLGNU LGPLGNU AGPLGNU FDL和少量寬鬆自由軟件授權條款[3][4]
    官方網站https://www.gnu.org/
    倉庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)

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

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

    歷史[編輯]

    File:Richard Stallman - Fête de l'Humanité 2014 - 010.jpg
    理查·斯托曼, GNU計劃的建立者

    1982年,麻省理工學院(MIT)從自己實現的不兼容分時操作系統(ITS)轉向了DEC公司的專有TOPS-20操作系統。[7][8][9][註 2]此外,MIT人工智能實驗室新安裝的施樂打印機軟件原理不開放無法上傳寫好的卡紙提醒程序。[10]斯托曼輾轉找到了一位施樂的前員工,但是因為該員工簽署了NDA,他最終也未能得到打印機固件的源代碼。[11]斯托曼決定做些什麼來減緩奪走程序員代碼分享權利的這樣一種趨勢[9],並重現黑客文化[9][10]

    1983年9月27日,斯托曼在net.unix-wizards和net.usoft新聞群組中公布了GNU計劃。[12][13]該計劃由斯托曼在MIT人工智能實驗室發起,希望發展出一套完整的同名自由軟件作業系統來取代Unix。在一次採訪中自述取名為GNU是因為對「gnu」一詞做的文字遊戲本來就較多;他向採訪者舉了曲目The Gnu英語The Gnu的例子。[14]: 00:45:30[15]

    1984年1月5日,斯托曼正式開始編寫計劃內的軟體,為了防止這些軟體將來可能被主張所有權,影響到自由軟體的發展,他辭去了在人工智能實驗室的工作。[9]他還決定,將使用CLisp作為系統編程語言。[16] 且GNU將與UNIX兼容。[17] 當時,UNIX已經是一個流行的專有操作系統。因UNIX的設計是模塊化的,所以它可以被逐步分塊的(重新)實現。[18]

    同年,開發者開始編寫GNU Emacs,次年GNU宣言公開發布。[10][19]1989年,斯托曼首次發表GNU通用公共授權條款[20]當時,GNU計劃中的其它部份,如編輯器、編譯器、shell等都已經完成,獨缺作業系統內核。GNU計劃最早的內核基於TRIX開發,斯托曼在宣言中提到這一內核仍然需要添加許多功能來完整模擬Unix[21]

    此後,GNU的開發人員又希望以4.4BSD-Lite的內核為基礎進行開發[21]。Hurd項目早期的負責人湯瑪斯·布什內爾回憶到:「斯托曼當時是個非常信奉代碼重用的人……」。[22]托馬斯的第一選擇是4.4BSD-Lite,他也更熟悉這個內核的代碼。因為GNU和加州大學伯克利分校的那部分BSD開發者最後沒有合作成功;「斯托曼告訴自己:『Mach已經是一個完全能夠使用的內核了,4.4-Lite只是部分可用的,我們選擇Mach內核進行開發吧』」。[22]

    根據托馬斯自己的描述,儘管他當時極力反對這個決定,但是最終決定權並不在他手上。他只能盡最大努力在開發Mach的基礎上做些新東西。[22]1987年,斯托曼決定以Mach微內核進行開發,但因為一直不確定卡內基梅隆大學何時要將內核原始碼以合適的軟件許可證釋出,造成計劃延宕三年。[21]1990年,以Mach作為微內核的GNU Hurd立項。[21]

    許多必要的軟體需要從零寫起,但已存在的第三方組件,如 TeXX Window System被部分GNU軟件包依賴並被認為是完整的GNU操作系統的一部分。[6][13]除了上述的第三方組件外,大多數的GNU軟體是由許多志願者,或由公司、[23] 教育機構和非營利性組織贊助下撰寫。1985年10月,斯托曼和其它四人建立自由軟體基金會 (FSF)。[24][25]在1980到1990年代,FSF雇用軟體開發工程師去編寫GNU必需的軟體。[26][27]

    組成[編輯]

    該系統的基本組成包括GNU編譯器套裝(GCC)、GNU的C函式庫(glibc)、以及GNU核心工具組(coreutils[28],另外也包含GNU除錯器(GDB)、GNU二進制實用程序(binutils[29]GNU Bash shell[30] 和GNOME桌面環境[31]等。其中GNOME作為一個整體曾是GNU軟件包,但是GNOME基金會現今認為GNOME已不是GNU軟件包(見GNOME條目)。據gnu.org的觀點,GNU操作系統包含GNU軟件包以及第三方的自由軟件[6]。截至2024年7月底,gnu.org記載有459個GNU軟件包(正在維護的有387個)。[32]

    實際應用[編輯]

    1991年,Linux公開發布。[33]1993年,FreeBSD 1.0釋出。[34]GNU計劃開發的許多軟件就是為了在類Unix操作系統上運行所設計的。[35]開發者在Linux或FreeBSD上運行GNU的軟件。[36]其中,Linux成為常見的GNU計劃軟體運行平台。現在GNU的軟件包也廣泛應用在其它操作系統中,如BSD變體的Solaris,和OS X[37][38],以及Microsoft Windows[39]

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

    威斯康星大學麥迪遜分校計算機科學系在1995年發表的一個研究認為:GNU作為操作系統比他們的專有Unix對應更為可靠。[41]

    GNU 變種[編輯]

    GNU計畫的官方內核項目是GNU Hurd,項目中的GNU Mach是微內核;而在2012年,Linux-libre內核正式成為一個GNU軟件包,相較於上游的Linux,其開發者使用腳本刪除了所有專有組件。[42][43]

    gnu.org認為Linux內核,與GNU工具和實用程序協同使用作為一整套作業系統時應承認自己為GNU變種,並促進改稱 GNU/Linux(導致GNU/Linux命名爭議) 。[44][45][46] gnu.org根據自由系統發布指南(FSDG)認可的針對個人電腦的Linux發行版,包含DragoraDyne:bolic、Guix SystemTrisquelHyperbola_GNU/Linux-libreParabola GNU/Linux-libre[47] 不使用Hurd(GNU Mach)或Linux作為內核的GNU的其他變種包括Debian GNU/kFreeBSD和Debian GNU/NetBSD,兩者均已停止維護。[48]

    圖標[編輯]

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

    注釋[編輯]

    1. ^ 後文根據其全名首字母縮寫稱RMS;或省去其中間名,稱理查德・斯托曼;或直接使用其家族名斯托曼
    2. ^ Inter/vention: Free Play in the Age of Electracy(MIT Press) 一書中認為1982年MIT AI Lab換上了DEC的專有的VAX操作系統,但是根據Sam對RMS更詳細的傳記Free As in Freedom(O'Reilly)1982年 AI Lab換上的是DEC的TOPS-20操作系統(無論是第一版還是RMS本人修改過的第二版)

    參考文獻[編輯]

    1. ^ Holwerda, Thom. GNU Hurd ported to AArch64, and more Hurd news – OSnews. OSnews英語OSnews. 2024-04-11 [2026-05-01]. 
    2. ^ Larabel, Michael. GNU Hurd On Guix Is Ready With 64-bit Support, SMP Multi-Processor Support "Soon". Phoronix. 2026-03-01 [2026-05-01] (English). 
    3. ^ GNU Licenses. [2019-04-25]. (原始內容存檔於2019-04-24). 
    4. ^ GNU FSDG. [2019-04-25]. (原始內容存檔於2015-12-08). 
    5. ^ Stallman, Richard, KTH, Philosophy (speech), GNU, Stockholm, Sweden: FSF, 1986 (English) .
    6. ^ 6.0 6.1 6.2 GNU操作系统和自由软件运动. gnu.org. 2025-09-06 [2025-09-07]. (原始內容存檔於2026-02-11) (中文(中國大陸)). 
    7. ^ Williams, Sam. Chapter 7: A Stark Moral Choice. Free as in freedom: Richard Stallman's crusade for free software. Sebastopol, Calif. : Farnham: O'Reilly. 2002. ISBN 978-0-596-00287-9. 
    8. ^ Williams, Sam. Chapter 7: A Stark Moral Choice. Free as in Freedom (2.0): Richard Stallman and the Free Software Revolution (PDF). 波士頓: 自由軟件基金會. ISBN 978-0-9831592-1-6. 
    9. ^ 9.0 9.1 9.2 9.3 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). 
    10. ^ 10.0 10.1 10.2 Bustillos, Maria. The GNU Manifesto Turns Thirty. The New Yorker. 2015-03-17 [2026-05-03]. ISSN 0028-792X (en-US). 
    11. ^ Williams, Sam. Chapter 1: For Want of a Printer. Free as in freedom: Richard Stallman's crusade for free software. Sebastopol, Calif. : Farnham: O'Reilly. 2002. ISBN 978-0-596-00287-9. 
    12. ^ Stallman, Richard. new UNIX implementation. Newsgroupcomp.unix.wizards. September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始內容存檔於2013-05-13). 
    13. ^ 13.0 13.1 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). 
    14. ^ Stallman, Richard. The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始內容存檔於2016-03-03). 簡明摘要. 
    15. ^ Winkle, William Van. Technically Speaking – An Interview With Richard Stallman, Inventor Of The GNU OS. Computer Power User. [2026-05-05]. (原始內容存檔於2007-09-27) (en-us). 
    16. ^ Timeline of GNU/Linux and Unix. [2016-03-05]. (原始內容存檔於2016-03-03). Both C and Lisp will be available as system programming languages. 
    17. ^ 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). 
    18. ^ 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). 
    19. ^ Biagioli, Mario; Jaszi, Peter; Woodmansee, Martha (編). Making and unmaking intellectual property: creative production in legal and cultural perspective. Chicago: University of Chicago Press. 2011: 138. ISBN 978-0-226-90708-6. 
    20. ^ 葛冬梅. 另一項新的嘗試:GPL 第三版. 自由軟體鑄造場. 2005-10-13 [2026-05-01] (中文(臺灣)). 
    21. ^ 21.0 21.1 21.2 21.3 Gee, Sue. GNU Hurd 0.6 Released. www.i-programmer.info. 2015-04-16 [2026-05-01] (English). 
    22. ^ 22.0 22.1 22.2 Salus, Peter. Chapter 16. The Hurd and BSDI. The Daemon, the Gnu, and the Penguin. Reed Media Services. 2008. ISBN 978-0-979-03423-7. 
    23. ^ 23.0 23.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). 
    24. ^ Articles of Organization (PDF). 2025-01-10 [2025-09-14] –透過Free Software Foundation (English). 
    25. ^ Cardoza, Christina. Free Software Foundation celebrates 35 years in the free software fight. SD Times. 2020-10-08 [2025-09-14] (en-US). 
    26. ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. The Software Industry. 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始內容存檔於2016-04-14). 
    27. ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127. 
    28. ^ St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3. 
    29. ^ GCC & GNU Toolchains - AMD. Developer.amd.com. [2015-09-02]. (原始內容存檔於2015-03-16). 
    30. ^ 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). 
    31. ^ 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). 
    32. ^ Software - GNU Project - Free Software Foundation. 自由軟件基金會. 2024-07-31 [2026-05-01]. (原始內容存檔於2026-04-02). 
    33. ^ 謝旻. Module:Wikidata第446行Lua錯誤:attempt to index field 'wikibase' (a nil value) Linux操作系统 - 中国百科网 請檢查|url=值 (幫助)需要付費訂閱. 中国大百科全书. 第三版網絡版. 北京: 中國大百科全書出版社. 2025-04-30 [2026-05-01] (中文(中國大陸)). 
    34. ^ 王波. FreeBSD使用大全. 機械工業出版社. 2002. ISBN 9787111102861. 
    35. ^ 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). 
    36. ^ Kavanagh, Paul. Open source software: implementation and management. Amsterdam ; Boston: Elsevier Digital Press. 2004. ISBN 978-1-55558-320-0. 
    37. ^ Linux: History and Introduction. Buzzle.com. 1991-08-25 [2012-09-22]. (原始內容存檔於2017-12-11). 
    38. ^ 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). 
    39. ^ McCune, Mike. Integrating Linux and Windows. December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始內容存檔於2016-04-01). 
    40. ^ ZDNET. 开源开发工具GCC将大翻修 性能有望全面提升_业界_科技时代_新浪网. 新浪. 2005-03-25 [2026-05-01] (中文(中國大陸)). 
    41. ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services頁面存檔備份,存於網際網路檔案館) - October 1995 - Computer Sciences Department,University of Wisconsin
    42. ^ GNU Linux-libre. 2012-12-17 [2013-02-09]. (原始內容存檔於2013-02-28). 
    43. ^ Byfield, Bruce. The Linux-libre Project » Linux Magazine. Linux Magazine. [2026-05-01] (en-US). 
    44. ^ 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. 
    45. ^ Proffitt, Brian. Debian GNU/Linux seeks alignment with Free Software Foundation. ITworld. 2012-07-12 [2012-09-22]. (原始內容存檔於2012-09-17). 
    46. ^ 1.1. Linux or GNU/Linux, that is the question. SAG. TLDP. [2012-09-22]. (原始內容存檔於2012-08-16). 
    47. ^ List of Free GNU/Linux Distributions, GNU Project, 自由軟件基金會, [2026-05-02], (原始內容存檔於2026-04-26) .
    48. ^ Proven, Liam. New Debian/Hurd follows closely behind new Debian Linux. The Register. 2025-08-18 [2026-03-16]. (原始內容存檔於2026-02-14) (English). 
    49. ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始內容存檔於2011-07-28). 

    參見[編輯]

    外部連結[編輯]

    • Module:Official_website第90行Lua錯誤:attempt to index field 'wikibase' (a nil value)

    Module:Authority_control第183行Lua錯誤:attempt to index field 'wikibase' (a nil value)