GNU工程的简介

2024-05-12

1. GNU工程的简介

GNU工程 ,英文名:gnu project,又称自由软件基金会。FSF于1983年发表GNU工程而诞生。1996年8月,在加入一个内核之后,类似于UNIX的GNU诞生了。所谓自由共享指的是自由软件联盟在最初发行软件的时候要交费,但用户可以自己任意处理此软件。 GNU工程开发了一套与Unix向上兼容的名为“GNU”(GNU's Not Unix)的完全自由的软件系统。Richard Stallman在GNU工程的初始文档被称为GNU宣言(31k字节),它已经被翻译成多种语言。我们还有写于1984年的GNU工程的开始声明。

GNU工程的简介

2. GNU工程的发展历程

1983年GNU工程被构想为回归早期计算机社区中广泛存在的合作精神的一种方法 - 通过除去私有软件拥有者设置的障碍而使得合作再次成为可能。1971年Richard Stallman开始在MIT的生涯时,他在一个只使用自由软件的小组中工作。甚至计算机公司都经常发布自由软件。程序员们可以自由地相互合作,他们也经常这样作。到了二十世纪八十年代,几乎所有的软件都是私有的(18k字节),这意味着它具备了禁止和阻止用户合作的拥有者。这使得GNU项目成为必然。件以及其他很多别的东西。因此,写一个完全的操作系统是一项巨大的工作。它需要多年。操作系统与Unix兼容是,因为它的整体设计历经考验并且跨平台,而且还因为兼容性使得Unix的用户很容易从Unix上转移到GNU。一个自由的类Unix操作系统的初始目标已经达到了。到二十世纪九十年代,找到或者写出了除了内核以外的所有主要组件。接着Linus Torvalds开发了Linux - 一个免费的内核。将Linux与几乎完成的GNU系统的结合诞生了一个完全的操作系统:一个基于Linux的GNU系统。估计现在有上百万的人在使用基于Linux的GNU系统,包括Slackware、Debian、Red Hat和其它。然而,GNU工程并不限于操作系统。他们的目标是提供一个完全的软件系列,满足很多用户的任何要求。这包括应用软件。我们已经拥有了一个电子表格。在今后的时间里我们希望扩展GNU Emacs使之成为一个所见即所得的桌面出版系统。也希望为非计算机专家的用户提供软件。因此现在在开发一个图标拖放的桌面来帮助初学者使用GNU系统。

3. GNU计划的项目工程

Classpath 是一组支持JAVA语言的关键库。DotGNU是.NET策略的完全替代,由多个软体计划组成。Free Film Project 是一个套完整的工具集,当整合起来使用时可以形成一个完整的虚拟电影工作室。GPKCS-11 是PKCS#11的一个实现:加密介面标准。GNU Cobol是为COBOL语言创建一个编译程序的一个结果。Gnucomm 计划目的在于为一般的通讯问题提供更好的解决方案。GNU Enterprise 的宗旨是为各种商务需求开发一个完整的系统。GNU GLUE 目的在于建立一个分布式的群件应用框架,这些应用基于新出现的互联网标准。比如,XML WEBDAV和RTSP,并适用于同步和异步以及在线和离线操作。GNU Octal 计划目的在于建立一组自由组件,这些组件一起作为一个类UNIX系统的数位音乐工作站工作。GYVE代表``GNU向量编辑器(GNU Yellow Vector Editor)''。它是一个受到Adobe公司的Illustrator和Corel Draw产品的启发而制作的基于向量的绘图程序。

GNU计划的项目工程

4. GNU计划的简介

GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。 理查德·斯托曼最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。 GNU是“GNU's Not UNIX”的递归缩写,为避免与gnu(非洲牛羚,发音与“new”相同)这个单词混淆,斯托曼宣布GNU应当发音为“Guh-NOO”(/ˈgnuː/ (帮助·关于)),与“canoe”发音相似。 UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件,这些软件也被移植到其他操作系统平台上,例如Microsoft Windows、BSD家族、Solaris及MacOS。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都包含一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为‘公共版权’的概念。GNU也针对不同场合,提供GNU宽通用公共许可证(与GNU自由文档许可证这两种协议条款。

5. GNU计划的介绍

GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。

GNU计划的介绍

6. GNU软件的简介

GNU软件是GNU计划开发的软件,该软件可以充分利用计算机的硬件能力,比Unix中的同样的软件功能更强,因此非常流行,这些软件在GNU通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的Unix中,FreeBSD上也提供了很多GNU软件。  有一些GNU软件是由自由软件基金(Free Software Foundation)成员编写的,但大多数GNU软件是志愿者捐献的。有些捐献软件是由自由软件基金免费分发,但有一些软件由作者享有版权。  GNU软件使用copyleft保护,限制将GNU软 件本身用于牟利目的,而其他软件仍然可以使用copyright保护版权不被侵犯。Stallman进一步使用GNU 通用公共许可来详细阐述copyleft的观念,要求传播GNU软件必须同时传播其源代码。由于GNU通用公共许可十 分流行,因此很多非自由软件基金会的自由软件也使用GNU通用公共许可来保护自己软件,不被商业公司用于获利。 GNU软件许可相当宽松,有很多公司利用GNU软件进行商业活动,但只要同时提供了GNU软件的源代码,就没 有违反GNU软件许可。

7. GNU计划的发展历程

1985年,理查德·斯托曼又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions。到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核(称为HURD)。1991年,林纳斯·托瓦兹编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年,Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此,GNU计划自己的内核Hurd依然在开发中,目前已经发布Beta版本。)许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。GNU工程十几年以来已经成为一个对软件开发主要的影响力量,创造了无数的重要的工具,例如:强健的编译器,有力的文本编辑器,甚至一个全功能的操作系统。这个工程是从1984年麻省理工学院的程序员理查德·斯托曼的想法得来的,他想要创建一个自由的、和UNIX类似的操作环境。从那时开始,许多程序员聚集起来开始开发一个自由的、高质量、易理解的软件。

GNU计划的发展历程

8. gnu/linux的简介

由林纳斯·托瓦兹及其他人士开发的Linux并不是一个完整的操作系统,而仅仅是一个类Unix内核。事实上,Linux一开始是以完成Minix内核的功能为目标,Linus想做一个“比Minix更好的Minix”。而GNU计划始于1984年,终极目标是完成一套基于自由软件的完整作业操作系统。到1991年Linux的第一个版本公开发行时,GNU计划已经完成除了操作系统内核之外的大部分软件,其中包括了一个壳程序(shell),C语言程序库以及一个C语言编译器。林纳斯·托瓦兹及其他早期Linux开发人员加入了这些工具,而完成了Linux操作系统。但是尽管Linux是在GNU通用公共许可证下发行,它却不是GNU计划的一部分。正是由于Linux使用了许多GNU程序,Richard Stallman认为应该将该操作系统称为“GNU/Linux”比较恰当。