跳转到内容

GNU

本页使用了标题或全文手工转换
维基百科,自由的百科全书
GNU
开发者社区
编程语言各种(特别是C语言以及汇编语言
作业系统家族类Unix系统
运作状态当前
源码模式自由软件
市场取向个人计算机、移动设备、嵌入式设备、伺服器、大型机、超级计算机
支援平台IA-32(仅限Hurd内核)和Alpha, ARC英语Synopsys ARC, ARM, AVR32英语AVR32, Blackfin英语Blackfin, C6x, ETRAX CRIS英语ETRAX CRIS, FR-V英语FR-V, H8/300, Hexagon英语Qualcomm Hexagon, 安腾, M32R英语M32R, m68k英语m68k, 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)或整块性核心 (Linux的分支,GNU Linux-libre)
使用者空间GNU
许可证GNU GPLGNU LGPLGNU AGPLGNU FDLGNU FSDG英语GNU Project#GNU Free System Distribution Guidelines[1][2]
官方网站https://www.gnu.org/

GNU是一个自由作业系统,其内容软体完全以GPL方式释出。这个作业系统是GNU计划的主要目标,名称来自GNU's Not Unix!递回缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人,理察·马修·斯托曼,将GNU视为“达成社会目的技术方法”。

作为作业系统,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英语The Gnu[5]00:45:30

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

1984年1月5日,正式开始开发软体,为了防止这些软体将来可能被主张所有权,影响到自由软体的发展,斯托曼辞去了在实验室的工作。[6]。理查·斯托曼使用不兼容分时系统英语Incompatible Timesharing System (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. ^ GNU Licenses. [2019-04-25]. (原始内容存档于2019-04-24). 
  2. ^ GNU FSDG. [2019-04-25]. (原始内容存档于2015-12-08). 
  3. ^ Stallman, Richard. new UNIX implementation. Newsgroupnet.unix-wizards 请检查|newsgroup=值 (帮助). September 27, 1983 [August 18, 2008]. Usenet: [email protected]. (原始内容存档于2013-05-13). 
  4. ^ 4.0 4.1 4.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). 
  5. ^ 5.0 5.1 Stallman, Richard. The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始内容存档于2016-03-03). 简明摘要. 
  6. ^ 6.0 6.1 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). 
  7. ^ 7.0 7.1 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). 
  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. ^ 10.0 10.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). 
  11. ^ 11.0 11.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). 
  12. ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. The Software Industry. 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始内容存档于2016-04-14). 
  13. ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127. 
  14. ^ St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3. 
  15. ^ GCC & GNU Toolchains - AMD. Developer.amd.com. [2015-09-02]. (原始内容存档于2015-03-16). 
  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). 
  17. ^ Linux: History and Introduction. Buzzle.com. 1991-08-25 [2012-09-22]. (原始内容存档于2017-12-11). 
  18. ^ McCune, Mike. Integrating Linux and Windows. December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始内容存档于2016-04-01). 
  19. ^ 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). 
  20. ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services页面存档备份,存于互联网档案馆) - October 1995 - Computer Sciences Department,University of Wisconsin
  21. ^ Software - GNU Project - Free Software Foundation. Free Software Foundation, Inc. 2016-01-13 [2022-01-21]. (原始内容存档于2015-12-25). 
  22. ^ GNU Linux-libre. 2012-12-17 [2013-02-09]. (原始内容存档于2013-02-28). 
  23. ^ Kavanagh, Paul. Open Source Software: Implementation and Management. 2004-07-26: 129 [2016-03-05]. ISBN 978-1-55558320-0. (原始内容存档于2016-04-03). 
  24. ^ 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. 
  25. ^ Proffitt, Brian. Debian GNU/Linux seeks alignment with Free Software Foundation. ITworld. 2012-07-12 [2012-09-22]. (原始内容存档于2012-09-17). 
  26. ^ 1.1. Linux or GNU/Linux, that is the question. SAG. TLDP. [2012-09-22]. (原始内容存档于2012-08-16). 
  27. ^ List of Free GNU/Linux Distributions, GNU Project, Free Software Foundation (FSF), [2016-03-05], (原始内容存档于2016-02-02) .
  28. ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始内容存档于2011-07-28). 

参见

外部链接