GNU计划的简介

2024-05-14 01:07

1. 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自由文档许可证这两种协议条款。

GNU计划的简介

2. GNU计划的介绍

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

3. 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系统。

GNU工程的发展历程

4. GNU软件的发展过程

1983年,理察·马修·斯托曼(Richard Stallman)创立了GNU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的 Unix-like 操作系统。GNU 大量的产生或收集各种系统所必备的元件,例如:函式库(libraries)、编译器(compilers)、侦错工具(debugs)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unix shell)——除了执行核心(kernel)。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。 2008年,GNU庆祝25岁生日,放出纪念短片。

5. GNU操作系统的发展过程

1983年,Richard Stallman(RMS)推出GNU,作为一个操作系统,GNU可以将一起工作的所有用户联系起来,同时每个用户都可以自由地控制自己的计算机。 GNU工程创始于1984年,旨在开发一个完整 GNU 系统,GNU这个名字是 “GNU's Not Unix!” 的递归首字母缩写词,GNU 的发音为 g'noo,只有一个音节,发音很像 “grew”,但需要把其中的 r 音替换为 n 音,系统的名称,GNU是一个递归的缩写,意为GNU不是Unix的一种致敬Unix的技术思路,而在同一时间说GNU是不同的东西。 GNU 自己的内核 Hurd 仍在开发中,离实用还有一定的距离。因此,GNU 通常使用 Linux 内核。这样的组合即为GNU/Linux 操作系统,已经有上百万人在使用 GNU/Linux,但他们中的很多人把它误称为“Linux”。 当Linus Torvalds 写成了Linux,他填补了一个重要的空白,可以将 Linux 和 GNU 系统组成一个完整的自由系统:基于 Linux 的 GNU 系统(或简称为 GNU/Linux 系统)。把它们组合到一起听起来很容易,但是这并不是一个简单的工作。 GNU C 库 (简称glibc) 需要作大量的修改。集成到一个完整的发行系统中也是一项很大的工作。它需要对如何安装和启动系统进行定位 -- 这个问题直到现在还在完善,因为我们还没有抓住要点。那些开发了不同的发行系统的人们作出了巨大贡献。 (关于GNU操作系统产生的背景以及和自由软件之间的关系,可以阅读参考资料:    )

GNU操作系统的发展过程

6. 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产品的启发而制作的基于向量的绘图程序。

7. GNU计划的特性

GNU 将能够执行 Unix 的程序,但是不会和 Unix 完全一样,特别是GNU计划拥有支持更长文件名、文件版本号、一个不怕死机的文件系统,或许还要有自动文件名补全、与终端机无关的显示支持、可能最后还要有一个基于Lisp的视窗系统,以使好几个 Lisp 程序和普通的 Unix 程序能共享同一屏幕。C 和 Lisp 都将成为系统的程序语言。我们会设法支持 UUCP,MIT Chaosnet,及 Internet 的通讯协议。GNU 最初的目标是在有虚拟内存的 68000/16000 系列机器上开发,因为这样的环境是最容易开发程序来实现 GNU 的运行。剩下来让 GNU 能在其它较小的机器上运行的工作,将会留给那些希望能在这些机器上使用的人。GNU不是公共的,毫无约束的软件(public domain)。GNU计划允许每一个人修改及传播 GNU,但是绝不允许传播者对他传播的程序再加进其他的限制。也就是说,不允许将修改后的程序据为己有。GNU计划希望能确保 GNU 所有的版本都能保持自由。GNU的核心精神是自由与分享,和hacker精神有异曲同工之妙,虽不能说GNU精神就是hacker精神,不过很难把两者清楚的分开,实际上很多hacker都为GNU做出了巨大的贡献。对知识的渴求是支持他们探索的唯一动力。

GNU计划的特性

8. 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工程的开始声明。

最新文章
热门文章
推荐阅读