GNU

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索
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)