gnu

生活百科 2023-01-26 08:56生活百科www.aizhengw.cn

gnu

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
  • 发起时间1983年9月27日
  • 发起人Richard Stallman
  • 代表项目Emacs、GCC、nano

解释

GNU是“GNU is Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业作业系统的名称。由于GNU将要实现UNIX系统的接口标準,GNU计画可以分别开发不同的作业系统部件。GNU计画採用了部分当时已经可自由使用的软体,例如TeX排版系统和X Window视窗系统等。不过GNU计画也开发了大批其他的自由软体。
Stallman

历史

1985年Richard Stallman又创立了自由软体基金会(Free Software Foundation)来为GNU计画提供技术、法律以及财政支持。儘管GNU计画大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程式设计师帮助编写。当GNU计画开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最着名的就是之后被Red Hat兼併的 Cygnus Solutions。
到了1990年,GNU计画已经开发出的软体包括了一个功能强大的文字编辑器Emacs。GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的程式语言编译器。以及大部分UNIX系统的程式库和工具。唯一依然没有完成的重要组件就是作业系统的核心(称为HURD)。
GNU作业系统的核心Linux
1991年Linus Torvalds编写出了与UNIX兼容的Linux作业系统核心并在GPL条款下发布。Linux之后在网上广泛流传,许多程式设计师参与了开发与修改。1992年Linux与其他GNU软体结合,完全自由的作业系统正式诞生。该作业系统往往被称为“GNU/Linux”或简称Linux。(儘管如此GNU计画自己的核心Hurd依然在开发中,已经发布Beta版本。)
许多UNIX系统上也安装了GNU软体,因为GNU软体的质量比之前UNIX的软体还要好。GNU工具还被广泛地移植到Windows和Mac OS上。
GNU 包含3个协定条款,
GPLGNU通用公共许可证(GNU General Public License)
LGPLGNU较宽鬆公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library General Public License (GNU 库通用公共许可证);
GFDL GNU自由文档许可证(GNU Free Documentation License )的缩写形式。
这里指的自由,并不是价格免费,这和价格无关而是使用软体对所有的用户来说是自由的。GPL通过如下途径实现这一目标
Linux核心的缔造者Linus Torvalds
1.它要求软体以原始码的形式发布,并规定任何用户能够以原始码的形式将软体複製或发布给别的用户。
2.如果用户的软体使用了受 GPL 保护的任何软体的一部分,那幺该软体就继承了 GPL 软体,并而成为 GPL 软体,也就是说必须随应用程式一起发布原始码。
3.GPL 并不排斥对自由软体进行商业性质的包装和发行,也不限制在自由软体的基础上打包发行其他非自由软体。
由于GPL很难被商业软体所套用,它要求调用它的库的代码也得GPL,全部开放,并且一同发布,不能直接连线。所以后来GNU推出了LGPL许可证
在GPL与LGPL许可证保护下发布原始码的结果很相似,对旧代码所做的任何修改对于想知道这些代码的人必须是公开的,唯一真正的不同之处在于私人着作权代码是否可以与开放原始码相互连线,LGPL允许实体连线私人代码到开放原始码,并可以在任何形式下发布这些合成的二进制代码。只要这些代码是动态连线的就没有限制。(使用动态连结时,即使是程式在运行中调用函式馆中的函式时,应用程式本身和函式馆也是不同的实体)

许可证

GNU 认为任何软体都应当以 自由软体 发布。要让一个软体成为自由软体,您需要把它以自由软体许可证发布。我们通常使用 GNU 通用公共许可证 (GNU GPL) 发布软体,但有时我们也使用 其它自由软体许可证 发布软体。在 GNU 软体包中,GNU 只使用与GNU GPL兼容的许可证。
自由软体的文档应当是 自由文档 ,以便人们可以随着软体的改进去更新它或是重新发布它。若要把文档以自由文档的形式发布,您需要使用自由文档许可证。我们通常使用 GNU 自由文档许可证 (GNU FDL) ,但少数情况下我们也使用 其它的自由文档许可证 。
如果您开展了一个新的项目,但不太确定应该选用何种许可证,那幺 “如何为您的作用选择一个许可证” 一文可以以一种简单且容易遵循的方式给您以帮助。我们正在进一步修订我们的文档许可证,欢迎听到您对提案的建议。请访问 许可证更新网站 阅读最新的草案并参与到修订过程中。

组成

主条目GNU软体包列表
该系统的基本组成包括GNU编译器套装(GCC)、GNU的C库(glibc)、以及GNU核心工具组(coreutils),也是GNU除错器(GDB)、GNU二进制实用程式(binutils)的GNU Cashshell中和GNOME桌面环境。GNU开发人员已经向GNU应用程式和工具的Linux移植,现在也广泛套用在其它作业系统中使用,如BSD变体的Solaris,和OS X作出了贡献。
许多GNU程式已经被移植到其他作业系统,包括专有软体,如Microsoft Windows和OS X.GNU计画已经被证明是比他们的专有Unix更为可靠。截至2015年11月,全国共有466 GNU软体包(包括退役,但不包括383 )主办的官方GNU开发的网站。

GNU 变种

主条目GNU variants
GNU项目的官方核心是GNU Hurd;,截至2012年,Linux核心正式以Linux-libre为名成为GNU项目中的一部分,并删除了所有专有组件的变种。
像FreeBSD核心其他核心依然和GNU软体合作,形成一个工作的作业系统。FSF认为Linux核心,与GNU工具和实用程式使用时,应承认自己为GNU变种,并促进改成GNU/Linux的这类系统名称(导致GNU/Linux命名争议) 。GNU工程已认可的Linux发行版,如gNewSense,TRISQUEL和Parabola GNU/Linux-libre。不使用Hurd作为核心的GNU的其他变种包括的Debian GNU / kFreeBSD和Debian GNU / NetBSD的,将得以对BSD的核心实现GNU的早期计画。

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有