Linux 和 GNU 工程

Richard Stallman

 [image of a Baby GNU] [ 加泰罗尼亚语 | 简体中文 | 繁体中文 | 捷克语 | 英语 | 法语 | 意大利语 | 日语 | 朝鲜语 | 波兰语 | 葡萄牙语 | 俄语 | 塞尔维亚-克罗地亚语 | 斯洛文尼亚语 ]

每天都有许多计算机用户使用一个被改动过的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 Scheifler 开发一个窗口系统(X Window System)。 对于这项工程编写的程序都作出了贡献,对这些贡献进行评估是很自然的。

如果以这种方法来衡量对 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 库 (简称 glibc) 需要作大量的修改。集成到一个完整的发行系统中也是一项很大的工作。它需要对如何安装和启动系统进行定位 -- 这个问题直到现在还在完善,因为我们还没有抓住要点。那些开发了不同的发行系统的人们作出了巨大贡献。

除了 GNU,还有一个独立进行的工程开发了一个自由的类似 Unix 的操作系统。这个系统被称为 BSD,它是由 UC Berkeley 开发的。 在 GNU 工程的鼓舞下,BSD 的开发者开始进行他们自己的自由软件的开发工作,并时常受到 GNU 人士的鼓励,但是他们的实际工作与 GNU 差别不大。今天 BSD 系统采用一些 GNU 软件,就象不同版本的 GNU 系统也采用 BSD 的软件一样。总的说来,它们是两套独立开发的不同的系统。今天一个免费的操作系统几乎都是采用 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。


返回 GNU 主页

请将有关自由软件基金会(FSF) & GNU 的查询 & 问题发送到 gnu@gnu.org。 也可以通过 其他联系方法 联系自由软件基金会(FSF)。

请将有关网页的建议发送到 webmasters@gnu.org, 其他问题发送到 gnu@gnu.org

Copyright 1997, 1998 Richard Stallman

中文翻译:白若玉
翻译校正:刘昭宏

全文在保证完整性的前提下可以在任意媒体转载 - 须保留此标注。

Updated: 30 Nov 2000 paulv


mirror powered by triplemind.com - Portugal, Bundesliga, Rom Attraktionen, W鰎terb點her, Blog Blogs anlegen, Spanish language schoolSpanish language school, Wellnesshotel Bayerischer Wald Fotoservice Handy Infos Winterurlaub ski holidays Yachtcharter Kroatien Ferienwohnung Harz Sejour Ski Hotelbewertungen Deutschland Ferienwohnungen weltweit Stellenangeboteland Webdesign Flyerdesign Tourismusland Webkatalog Haus Wohnung kaufen verkaufen Preisvergleich Club Urlaub Cluburlaub g黱stig buchen Bauernhof Ferienwohnungen, Ferienwohnung und Ferienhaus Guide, Cheap Ski Holidays, Ferie Zimowe, Settimana Bianca, Di鋞, Grosshandel, Ferienwohnung Ostsee