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 GPL、GNU LGPL、GNU AGPL、GNU FDL、GNU FSDG[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计划,由理查·斯托曼在麻省理工学院人工智能实验室发起,希望发展出一套完整的开放原始码作业系统来取代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]因此,会议决定,将开发新的系统,并使用 C 和Lisp作为系统编程语言。[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微内核进行开发,认为可以借此加速作业系统的开发,但因为一直不确定卡内基梅隆大学何时要将核心原始码释出,造成计划延宕三年。他在之后承认这是个错误。
许多必要的软体需要从零写起,但已存在的第三方组件,如 TeX、X 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发行版,如gNewSense , TRISQUEL和Parabola GNU/Linux-libre。[27] 不使用Hurd作为核心的GNU的其他变种包括的Debian GNU / kFreeBSD和Debian GNU / NetBSD的,将得以对BSD的核心实现GNU的早期计划。
商标
[编辑]-
GNU 30周年纪念商标
-
上色版本
-
粗体版本
GNU的商标是一个牛羚头。
原先版本是Etienne Suvasa所设计,而今比较流行的粗体版本则是Aurelio Heckert所设计。
[28]
GNU商标出现在GNU的电子文件中,也是自由软体基金会的元素。
30周年商标是原商标的修正版本,是由自由软体基金会创作,其目的为庆祝30周年。
参考文献
[编辑]- ^ GNU Licenses. [2019-04-25]. (原始内容存档于2019-04-24).
- ^ GNU FSDG. [2019-04-25]. (原始内容存档于2015-12-08).
- ^ Stallman, Richard. new UNIX implementation. Newsgroup: net.unix-wizards 请检查
|newsgroup=
值 (帮助). September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始内容存档于2013-05-13). - ^ 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.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.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.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).
- ^ 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).
- ^ 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.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).
- ^ 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. 2016-01-13 [2022-01-21]. (原始内容存档于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).
- ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始内容存档于2011-07-28).