GNU
此条目的语调或风格或许不适合百科全书。 (2026年1月13日) |
| 开发者 | 社区 |
|---|---|
| 编程语言 | 各种(特别是C语言以及汇编语言) |
| 作业系统家族 | 类Unix系统 |
| 运作状态 | 运作中 |
| 源码模式 | 自由软件 |
| 市场取向 | 个人计算机、移动设备、嵌入式设备、伺服器、大型机、超级计算机 |
| 支援平台 | IA-32和Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, 安腾, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa(仅限Linux-libre内核) |
| 内核类别 | 微内核 (GNU Hurd中的GNU Mach内核)或整块性核心 (Linux的分支,GNU Linux-libre) |
| 使用者空间 | GNU |
| 许可证 | GNU GPL、GNU LGPL、GNU AGPL、GNU 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计划,由理查·斯托曼在麻省理工学院人工智能实验室发起,希望发展出一套完整的开放原始码作业系统来取代Unix,计划中的作业系统,名为GNU。1983年9月27日,理查·斯托曼在 net.unix-wizards 和 net.usoft新闻群组中公布这项计划。[4][5]。理查德·斯托曼通过使用变化单词的各种手法来选择名称,包括曲目The Gnu。[6]: 00:45:30
斯托曼的目标是成立一个完全自由的操作系统,他希望电脑用户是能够“自由使用”的。因为在20世纪60年代和70年代 - 大多数人都能自由学习软件的源代码,自由地与他人分享的软件,可自由修改软件的行为,自由发布软件的修改后的版本。这种理念,在1985年3月出版的GNU宣言崭露无遗。[5]
1984年1月5日,斯托曼正式开始编写软体,为了防止这些软体将来可能被主张所有权,影响到自由软体的发展,他辞去了在实验室的工作。[7]。他还决定,将开发新的系统,并使用 C 和Lisp作为系统编程语言。[8] 且GNU将与UNIX兼容。[9] 当时,UNIX已经是一个流行的专有操作系统。而Unix的设计是模块化的,所以它可以被逐步分块的实现。[10]
同年,开发者开始编写GNU Emacs,次年GNU宣言公开发布。1989年,斯托曼发表GNU通用公共授权条款。当时,GNU计划中的其他部份,如编辑器、编译器、shell等都已经完成,独缺作业系统核心。1990年,自由软体基金会开始正式发展Hurd,作为GNU计画中的作业系统。根据汤玛斯·布什内尔的回忆,最早自由软体基金会使用Trix来开发作业系统,但在1986年放弃这个计画。在此后,他们原希望以轻量化后的4.4BSD为基础进行开发。1987年,理查德·斯托曼决定以Mach微内核进行开发,认为可以借此加速作业系统的开发,但因为一直不确定卡内基梅隆大学何时要将核心原始码释出,造成计划延宕三年。他在之后承认这是个错误。[来源请求]
许多必要的软体需要从零写起,但已存在的第三方组件,如 TeX、X 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 System, Trisquel和Parabola GNU/Linux-libre等。[28] 不使用Hurd或Linux作为核心的GNU的其他变种包括Debian GNU/kFreeBSD和Debian GNU/NetBSD,两者均已停止维护[29]。
-
采用Linux-libre内核的Guix System,运行着Xfce桌面环境
图标
[编辑]-
GNU 30周年纪念图标
-
上色版本
-
粗体版本
代表GNU的牛羚头图标同时也是GNU计划的商标,最初版本是Etienne Suvasa所设计。而今比较流行的粗体版本则是Aurelio Heckert所设计[30]。
30周年商标是原商标的修改版本,是由自由软体基金会创作,其目的为庆祝GNU计划30周年。[来源请求]
参考文献
[编辑]- ^ GNU Licenses. [2019-04-25]. (原始内容存档于2019-04-24).
- ^ GNU FSDG. [2019-04-25]. (原始内容存档于2015-12-08).
- ^ 3.0 3.1 GNU操作系统和自由软件运动. gnu.org. 2025-09-06 [2025-09-07]. (原始内容存档于2026-02-11) (中文(中国大陆)).
- ^ Stallman, Richard. new UNIX implementation. Newsgroup: comp.unix.wizards. September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始内容存档于2013-05-13).
- ^ 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).
- ^ Stallman, Richard. The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始内容存档于2016-03-03). 简明摘要.
- ^ 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).
- ^ Timeline of GNU/Linux and Unix. [2016-03-05]. (原始内容存档于2016-03-03).
Both C and Lisp will be available as system programming languages.
- ^ 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).
- ^ 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.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.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).
- ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. The Software Industry. 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始内容存档于2016-04-14).
- ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127.
- ^ St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3.
- ^ GCC & GNU Toolchains - AMD. Developer.amd.com. [2015-09-02]. (原始内容存档于2015-03-16).
- ^ 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).
- ^ Linux: History and Introduction. Buzzle.com. 1991-08-25 [2012-09-22]. (原始内容存档于2017-12-11).
- ^ McCune, Mike. Integrating Linux and Windows. December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始内容存档于2016-04-01).
- ^ 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).
- ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services (页面存档备份,存于互联网档案馆) - October 1995 - Computer Sciences Department,University of Wisconsin
- ^ Software - GNU Project - Free Software Foundation. Free Software Foundation, Inc. 2024-07-31 [2025-09-12]. (原始内容存档于2015-12-25).
- ^ GNU Linux-libre. 2012-12-17 [2013-02-09]. (原始内容存档于2013-02-28).
- ^ Kavanagh, Paul. Open Source Software: Implementation and Management. 2004-07-26: 129 [2016-03-05]. ISBN 978-1-55558320-0. (原始内容存档于2016-04-03).
- ^ Welsh, Matt. Linux is a GNU system and the DWARF support. Newsgroup: comp.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.
- ^ Proffitt, Brian. Debian GNU/Linux seeks alignment with Free Software Foundation. ITworld. 2012-07-12 [2012-09-22]. (原始内容存档于2012-09-17).
- ^ 1.1. Linux or GNU/Linux, that is the question. SAG. TLDP. [2012-09-22]. (原始内容存档于2012-08-16).
- ^ List of Free GNU/Linux Distributions, GNU Project, Free Software Foundation (FSF), [2016-03-05], (原始内容存档于2016-02-02).
- ^ Proven, Liam. New Debian/Hurd follows closely behind new Debian Linux. The Register. 2025-08-18 [2026-03-16]. (原始内容存档于2026-02-14) (英语).
- ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始内容存档于2011-07-28).