GNU

GNU是一个自由操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人,理察·马修·斯托曼,将GNU视为「达成社会目的技术方法」。

GNU
开发者社区
编程语言各种(特别是C语言以及汇编语言
操作系统家族类Unix系统
运作状态当前
源码模式自由软件
市场取向个人计算机、移动设备、嵌入式设备、服务器、大型机、超级计算机
支持平台IA-32(仅限Hurd内核)和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)或整块性内核 (Linux的分支,GNU Linux-libre)
用户空间GNU
许可证GNU GPLGNU LGPLGNU AGPLGNU FDLGNU FSDG[1][2]
官方网站https://www.gnu.org/

作为操作系统,GNU的发展仍未完成,其中最大的问题是具有完备功能的内核尚未被开发成功。GNU的内核,称为Hurd,是自由软件基金会发展的重点,但是其发展尚未成熟。在实际使用上,多半使用Linux内核FreeBSD等替代方案,作为系统内核,其中主要的操作系统是Linux的发行版。Linux操作系统包涵了Linux内核与其他自由软件计划中的GNU组件和软件,可以被称为GNU/Linux(见GNU/Linux命名争议)。

历史

理查·斯托曼, GNU计划的创建者

GNU操作系统起源于GNU计划,由理查·斯托曼麻省理工学院人工智能实验室发起,希望发展出一套完整的开放原代码操作系统来取代Unix,计划中的操作系统,名为GNU。1983年9月27日,理查·斯托曼在 net.unix-wizards 和 net.usoft新闻群组中公布这项计划。 [3][4]。理乍得·斯托曼通过使用变化单词的各种手法来选择名称,包括曲目The Gnu[5]00:45:30

斯托曼的目标是成立一个完全自由的操作系统,他希望电脑用户是能够“自由使用”的。因为在20世纪60年代和70年代 - 大多数人都能自由学习软件的源代码,自由地与他人分享的软件,可自由修改软件的行为,自由发布的软件的修改后的版本。这种理念,在1985年3月出版的GNU宣言崭露无遗。[4]

1984年1月5日,正式开始开发软件,为了防止这些软件将来可能被主张所有权,影响到自由软件的发展,斯托曼辞去了在实验室的工作。[6]。理查·斯托曼使用不兼容分时系统 (ITS)[6](一种早期的操作系统,使用汇编语言撰写,因其所运行的称为 PDP-10的电脑系统架构停止发展而变得过时)的经验,导致了需要一种可移植系统的决定。[5]00:40:52[7]因此,会议决定,将开发新的系统,并使用 CLisp作为系统编程语言。[8] 且GNU将与UNIX兼容。[9] 当时,UNIX已经是一个流行的专有操作系统。而Unix的设计是模块化的,所以它可以被逐步分块的实现。[7]

1984年,开始发展编辑器Emacs等软件。1985年,发表GNU宣言。1989年,发表GNU通用公共授权条款。GNU计划中的其他部份,如编辑器、编译器、shell等都已经完成,独缺操作系统内核。1990年,自由软件基金会开始正式发展Hurd,作为GNU计划中的操作系统。根据汤玛斯·布什内尔的回忆,最早自由软件基金会使用Trix来开发操作系统,但在1986年放弃这个计划。在此后,他们原希望以轻量化后的4.4BSD为基础进行开发。1987年,理乍得·斯托曼决定以GNU Mach微内核进行开发,认为可以借此加速操作系统的开发,但因为一直不确定卡内基梅隆大学何时要将内核原代码发布,造成计划延宕三年。他在之后承认这是个错误。

许多必要的软件需要从零写起,但已存在的第三方组件,如 TeXX Window System[4]Mach微内核等等组成了 GNU Hurd 的内核.[10] 除了上述的第三方组件外,大多数的GNU软件是由许多志愿者,在他们的空闲时间,或由公司、[11] 教育机构和非营利性组织赞助下撰写。1985年10月,理查·斯托曼创建自由软件基金会 (FSF)。在1980到1990年代,他们雇用软件发展工程师去转写GNU必须的软件。[12][13]

1991年,Linux出现。1993年,FreeBSD发布。所有GNU计划中,运行于用户空间的软件,都可以在Linux或FreeBSD上使用。许多开发者转向于Linux或FreeBSD。其中,Linux成为常见的GNU计划软件运行平台。理乍得·斯托曼主张,Linux操作系统使用了许多GNU计划软件,应正名为GNU/Linux,但没有得到Linux社群的一致认同,形成GNU/Linux命名争议

由于GNU颇具知名度,有兴趣的商家开始促进发展或出售GNU软件和技术支持。其中最突出的和成功的,是Cygnus Solutions[11]现在红帽公司的一部分。

组成

该系统的基本组成包括GNU编译器套装(GCC)、GNU的C函数库(glibc)、以及GNU内核工具组(coreutils[14],另外也是GNU调试器(GDB)、GNU二进制实用进程(binutils[15]GNU Cash shell中[10] 和GNOME桌面环境。[16] GNU开发人员已经向GNU应用进程和工具的Linux 移植 ,现在也广泛应用在其它操作系统中使用,如BSD变体的Solaris,和OS X作出了贡献。[17]

许多GNU进程已经被移植到其他操作系统,包括专有软件,如Microsoft Windows[18]和OS X.[19] GNU计划已经被证明是比他们的专有Unix更为可靠。[20] 截至2022年1月,GNU主办的官方网站共有457个GNU软件包(包括已停止维护的73个 )。[21]

GNU 变种

GNU项目的官方内核是GNU Hurd;然而,截至2012年,Linux内核正式以Linux-libre为名成为GNU计划中的一部份,并删除了所有专有组件的变种。[22]

像FreeBSD内核其他内核依然和GNU软件合作,形成一个工作的操作系统。[23] FSF认为Linux内核,与GNU工具和实用进程使用时,应承认自己为GNU变种,并促进改成 GNU/Linux 的这类系统名称(导致GNU/Linux命名争议) 。[24][25][26] GNU工程已认可的Linux发行版,如gNewSenseTRISQUELParabola GNU/Linux-libre[27] 不使用Hurd作为内核的GNU的其他变种包括的Debian GNU / kFreeBSD和Debian GNU / NetBSD的,将得以对BSD的内核实现GNU的早期计划。

商标

GNU的商标是一个牛羚头。
原先版本是Etienne Suvasa所设计,而今比较流行的粗体版本则是Aurelio Heckert所设计。 [28] GNU商标出现在GNU的电子文档中,也是自由软件基金会的元素。

30周年商标是原商标的修正版本,是由自由软件基金会创作,其目的为庆祝30周年。

参考文献

  1. . [2019-04-25]. (原始内容存档于2019-04-24).
  2. . [2019-04-25]. (原始内容存档于2015-12-08).
  3. Stallman, Richard. . Newsgroup: net.unix-wizards 请检查|newsgroup=值 (帮助). September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始内容存档于2013-05-13).
  4. Lambert, Laura. Poole, Hilary , 编. . Santa Barbara, California: ABC-CLIO. 2005: 215–216 [2016-03-05]. ISBN 1-85109-664-7. (原始内容存档于2016-04-16).
  5. Stallman, Richard. . Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始内容存档于2016-03-03). 简明摘要.
  6. Holmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory. . MIT Press. March 2012: 69–71 [2016-03-05]. ISBN 978-0-262-01705-3. (原始内容存档于2016-04-22).
  7. DiBona, Chris; Stone, Mark; Cooper, Danese. . October 2005: 38–40 [2016-03-05]. ISBN 9780596008024. (原始内容存档于2016-04-05).
  8. . [2016-03-05]. (原始内容存档于2016-03-03). Both C and Lisp will be available as system programming languages.
  9. Seebach, Peter. . November 2008: 177–178 [2016-03-05]. ISBN 9781430210436. (原始内容存档于2016-04-13).
  10. Kerrisk, Michael. . October 2010: 5–6 [2016-03-05]. ISBN 9781593272203. (原始内容存档于2016-04-03).
  11. . O'Reilly & Associates, Inc. January 1999 [2016-03-05]. ISBN 1-56592-582-3. (原始内容存档于2014-08-27).
  12. Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. . 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始内容存档于2016-04-14).
  13. . O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127.
  14. St. Amant, Kirk; Still, Brian. . ISBN 1-59140999-3.
  15. . Developer.amd.com. [2015-09-02]. (原始内容存档于2015-03-16).
  16. Sowe, Sulayman K; Stamelos, Ioannis G; Samoladas, Ioannis M. . May 2007: 262–264 [2016-03-05]. ISBN 9781599042107. (原始内容存档于2016-04-07).
  17. . Buzzle.com. 1991-08-25 [2012-09-22]. (原始内容存档于2017-12-11).
  18. McCune, Mike. . December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始内容存档于2016-04-01).
  19. Sobell, Mark G; Seebach, Peter. . 2005: 4 [2016-03-05]. ISBN 9780131863330. (原始内容存档于2016-04-12).
  20. Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services 页面存档备份,存于 - October 1995 - Computer Sciences Department,University of Wisconsin
  21. . Free Software Foundation, Inc. 2016-01-13 [2022-01-21]. (原始内容存档于2015-12-25).
  22. . 2012-12-17 [2013-02-09]. (原始内容存档于2013-02-28).
  23. Kavanagh, Paul. . 2004-07-26: 129 [2016-03-05]. ISBN 978-1-55558320-0. (原始内容存档于2016-04-03).
  24. Welsh, Matt. . 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.
  25. Proffitt, Brian. . ITworld. 2012-07-12 [2012-09-22]. (原始内容存档于2012-09-17).
  26. . SAG. TLDP. [2012-09-22]. (原始内容存档于2012-08-16).
  27. , , Free Software Foundation (FSF), [2016-03-05], (原始内容存档于2016-02-02).
  28. . Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始内容存档于2011-07-28).

参见

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.