荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: saphires.bbs@bbs.chenguang.org (Linux8.0), 信区: Linux
标  题: Linux和GNU工程
发信站: 交大晨光 (Sun Oct 13 11:13:50 2002)
转信站: SZUBBS!news2.happynet.org!news.happynet.org!chenguang

Richard Stallman

每天都有许多计算机用户使用一个被改动过的GNU 系统 (18k 字节),但是他们并没有意

到它。 经过一系列的事件,现在被广泛使用的 GNU 版本则经常被称作“Linux”,可是

多用户并不了解与之相关的 GNU 工程。
Linux 确实存在;它是一个内核,许多人都在使用它。但是你不能仅使用内核本身。内

只有作为整个系统的一个部分才有用处。Linux 是和 GNU 操作系统结合在一起使用:系

本身是 GNU,与 Linux 作为内核一起工作。
许多用户没有并不完全了解 Linux 内核和被称作“Linux”的整个系统的区别。而不加

别地使用这个名字并不能对理解有帮助。
程序员一般都知道 Linux 是一个内核。但是因为他们也听到整个系统被称作“Linux”

他们回根据名字去想象历史。比如,很多人认为当 Linus Torvalds 完成了内核后,他

朋友四处寻找其他的自由软件,而且所有的可以被组装成一个类似 Unix 系统的程序都

现成的。
他们的发现不是巧合 -- 这就是 GNU 系统。可用的自由软件加在一起就组成了一个完整

系统,这是由于自 1984 年就开始的 GNU 工程一直在为此努力。GNU 宣言(31k 字节)

已设立了开发一个类似 Unix 的自由系统的目标,称作 GNU。GNU 工程的最初公告 也勾

了 GNU 系统的原始提纲。在 Linux 被编写时,这个系统几乎已经完成。
大多数自由软件的工程都是为了特定的工作开发特定的程序。比方说,Linus Torvalds

写类似 Unix 的内核(Linux); Donald Knuth 编写一个文本格式化工具(TeX); Bob
Schei
fler 开发一个窗口系统(X Windows)。对于这项工程编写的程序都作出了贡献,对这些

献进行评估是很自然的。
如果以这种方法来衡量对 GNU 工程的贡献,我们会得出什么结论?一个 CD-ROM的提供

发现在他们的“Linux 发行版”中,GNU 软件 占最大的比重,大约占全部源代码的
28%
,而且这还包括一些关键的部件,没有这些部件,系统就无法工作。Linux 本身占大约
3
%。所以如果你要根据程序的作者来选择一个名字的话,最合适的选择是“GNU”。
但是我们不认为这是一个解决问题的适当方法。GNU 工程以前不是,现在也不是一个开

某个软件包的工程。它不是一个 开发 C 编译器的工程, 尽管我们做了。它也不是一个

发一个文本编辑器的工程,尽管我们也做了。GNU 工程的目标是开发一个完全自由的类

 Unix 的系统: GNU。
许多人已经为系统中的自由软件作出了重大贡献,他们都应该获得荣誉。但 GNU 是一个

统而不是一些实用程序的组合的原因是,GNU 工程的最初目标就是做一个完整系统。我

曾经为完成一个完整的系统做了一个所需程序清单,而且我们有系统地寻找,编写这些

序,并且寻找别人编写清单上的每一个程序。我们编写了关键的但是十分枯燥的主要部

,比如汇编语言和连接器,因为这是系统所必需的。除了编程工具,一个完整的系统还

要更多的东西, Bourne Again SHell 程序, PostScript 解释器 Ghostscript, 和
GNU
C 库 同样是很重要的。
到了 90 年代初期,我们曾经把除了内核以外的东西放到一起组成了一个系统(我们同

也在做内核的工作)称为 GNU Hurd, 运行在 Mach 上)。开发这个内核比我们想象的要

得多,我们现在仍然在 为此工作。
庆幸的是,你不必再等了,因为 Linux 开发成功。当 Linus Torvalds 写成了 Linux,

填补了一个重要的空白。人们可以将 Linux 和 GNU 系统组成一个完整的自由系统:基

 Linux 的 GNU 系统(或简称为 GNU/Linux 系统)。
把它们组合到一起听起来很容易,但是这并不是一个简单的工作。 GNU C 库 (简称
glib
c) 需要作大量的修改。集成到一个完整的发行系统中也是一项很大的工作。它需要对如

安装和启动系统进行定位 -- 这个问题直到现在还在完善,因为我们还没有抓住要点。

些开发了不同的发行系统的人们作出了巨大贡献。
除了 GNU,还有一个独立进行的工程开发了一个自由的类似 Unix 的操作系统。这个系

被称为 BSD,它是由 UC Berkeley 开发的。 在 GNU 工程的鼓舞下,BSD 的开发者开始

行他们自己的自由软件的开发工作,并时常受到 GNU 人士的鼓励,但是他们的实际工作

 GNU 差别不大。今天 BSD 系统采用一些 GNU 软件,就象不同版本的 GNU 系统也采用
B
SD 的软件一样。总的说来,它们是两套独立开发的不同的系统。今天一个免费的操作系

几乎都是采用 GNU 或 BSD 系统的一个派生版本。
GNU 工程支持 GNU/Linux 系统,就象支持 GNU 系统一样 -- 包括资金的支持。我们为

写与 Linux 相关的 GNU C 库提供资金,以至于它们现在可以很好地集成在一起,直到

新版本的 GNU/Linux 仍在使用这个库而无需修改。我们也为早期 Debian GNU/Linux 的

发提供资金。
今天我们的绝大多数的工作都在基于 Linux 的 GNU 系统上完成,我们希望你也如此。

是请不要含糊地使用 Linux 而使公众迷惑。Linux 是内核,系统的关键部件之一。系统

多或少实际上都应该是 GNU 系统,再加上 Linux。当你在讨论到这个组合系统时,请使

 “GNU/Linux”。
如果要为 GNU/Linux 作链接,本页和
http://www.gnu.org/gnu/the-gnu-project.html
都是很好的选择。如果你想为 Linux(内核)作链接,http://www.kernel.org/是一个

好 URL。

--
※ 来源:·交大晨光 bbs.chenguang.org·[FROM: 202.112.149.214]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店