历史上的今天
首页> 1983> 9月27日> “革奴计划”GNU计划启动

“革奴计划”GNU计划启动

\
  1983年9月27日GNU计划启动。
  GNU计划有的译为『革奴计划』,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统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自由文档许可证这两种协议条款。
  发展历程
  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类似的操作环境。从那时开始,许多程序员聚集起来开始开发一个自由的、高质量、易理解的软件。
  软件开发
  到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境,是Linux 能够诞生的基础之一。以至于目前许多人都将Linux 操作系统称为"GNU/Linux"操作系统。
  一个利用 Lisp 编写的Emacs文本编辑器,一个原码级的调试器,一个与 yacc 兼容的语法分析器,一个连接器,和大概 35 个应用程序。有一个 shell (命令解释器)已经接近完成。一个新的、具可移植性的、有优化功能的C编译器已经可以自我编译,并应可以在今年发布。还有一个初具规模的内核但是需要更多的特性以模拟 UNIX。当内核和编译器工作完成后,我们就能够发布一个适合软件开发的 GNU 系统。我们会使用 TeX 作我们的文本编辑器,但是也正在编写一个 nroff。我们也会用免费的、具可移植性的 X 视窗系统。之后我们会加一个可移植的 Common Lisp、一个 Empire 游戏、一个电子表格软件、和其他各式各样的东西,以及在线的文档。
  开源项目:GNU系列:GNU Emacs,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做出了巨大的贡献。对知识的渴求是支持他们探索的唯一动力。

历史上的今天

选择月份 1 2 3 4 5 6 7 8 9 10 11 12

9

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31