一个新项目还是一个 GNU 项目?

作者 Mark Bolzern

每个人都知道 Linux 操作系统大约在四年前从头开始创建的,对吧? 实际上,虽然 Linux 项目本身只有四年历史,但重要的是要记住,您桌面上 Linux 系统的很大一部分要古老得多。

Linux 不是一个完整的操作系统,而是一个操作系统内核。 任何 Unix 或类 Unix 操作系统内核都需要大量的实用程序才能完成整个操作系统。 从历史上看,Unix 内核分发时带有许多文本处理工具、C 语言编译器、编程库以及所有(或几乎所有)实用程序和库的在线文档。 所有这些加在一起构成了操作系统。

一些历史

在 Linux 启动之前的几年,程序员们对标准版本 Unix 实用程序中的错误和限制感到厌烦,开始编写自己的版本并将其贡献给自由软件基金会的“GNU”项目。 多年来,程序员们慢慢注意到几乎所有 Unix 实用程序中的错误和限制,并编写了它们的替代品,使用户不必依赖软件供应商来始终保持完美。

这些替代品被移植到大多数可用的“版本”的 Unix 中——但它们仍然需要商业内核,用户仍然依赖他们的 Unix 软件供应商来修复内核中的错误和消除限制。 自由软件基金会(称为 FSF)开始着手开发替代内核(现在称为“Hurd”),但工作进展缓慢,最初的努力遇到了法律挑战,尽管法律问题早已解决,但 Hurd 仍未公开发布。

更多近期历史

1991 年春天,芬兰的大学生 Linus Torvalds 开始为他的 386 编写 32 位终端仿真器。 他使用汇编语言和 C 语言相结合的方式编写了它,为了更多地了解 386 芯片,他使仿真器完全独立于 DOS 或任何其他操作系统。 在接下来的几个月里,他学到了足够的知识,将他的终端仿真器变成了类 Unix 内核的雏形。

为了编译他的代码,Linus 使用了 FSF 的 gcc C 编译器和汇编器。 作为 shell,他使用了 FSF 的 bash(“bourne again shell”)。 对于 make 程序,他使用了 FSF 的 GNU make。 简而言之,他和迅速聚集在他周围的团队使用了几乎所有 FSF 的 GNU 程序来补充 Linux 内核并组装一个完整的操作系统。

这些经过预先测试和改进的实用程序在一夜之间将类 Unix 内核变成了类 Unix 操作系统。 许多不太熟悉自由软件基金会实用程序套件的用户都认为,整个 Linux 操作系统是在过去四年中完全从头开发的。 实际上,Linux 利用(用现在的流行语来说)了大量的经过测试的优质代码,几乎在一夜之间将内核变成了操作系统——GNU 项目使 Linux 操作系统得以风靡全球。 真正新的大部分是名称和内核——其余大部分是 GNU。

不是 在贬低内核。 它庞大而复杂,很少有人具备编写(尤其是维护)内核所需的素质组合。 这仅仅指出,Linux 实际上不是一个四岁的初学者,而是 Unix 用户一个值得尊敬的、成熟的选择。

FSF 的 GNU 实用程序和 Linux 内核这种新的强大组合反过来又提高了 GNU 实用程序的质量。 因为 Linux 用户完全依赖 GNU 实用程序,所以当他们在 GNU 实用程序中发现错误时,他们不能简单地退回到使用系统附带的实用程序版本。 这意味着更多的人正在努力修复 GNU 实用程序中仍然存在的那些错误,使它们比以前更加稳定。 这些错误修复(和增强功能)通常会按适当的方式回馈给 FSF。

其他贡献者

Linux 使用的并非所有实用程序都来自 GNU 项目。 加州大学伯克利分校有一个长期运行的项目,该项目产生了 Unix 的伯克利软件发行版,简称为 BSD。 由于许多 Unix 网络软件是由 Bed 的 Unix 发行版开发和为其开发的,因此 BSD 网络实用程序仍然定义了标准,因此许多 Linux 网络实用程序都是经过时间考验的 BSD 实用程序。 另一个例子:由于 MIT 和 X 联盟的企业成员所做的工作,Linux 在项目启动后不到一年就拥有了经过充分测试、受人尊敬的 GUI。

真正的创新

Linux 虽然具有创新性,但它是从“现成的”技术创建的——它站在巨人的肩膀上快速而长远地发展。 它(在很大程度上)采用了成熟的技术,为用户提供了真正开放的操作系统。

Linux 为用户提供的最重要的创新不是代码,而是许可证。 因为 Linux 是在 FSF 的 GNU 通用公共许可证下获得许可的,所以用户拥有控制权,并且不受供应商的束缚。 这为支持创造了市场,对他们获得的支持不满意的用户可以选择更换支持提供商。 不仅存在支持市场,而且如果用户愿意,他们还可以自己修复问题并增强软件。

对于不包含源代码的操作系统,这两种选择都不真正存在; 这些选择证明了 Linux 的真正创新。

Mark Bolzern 是 WorkGroup Solutions, Inc 的总裁,也是 Linux International 的董事会成员。

加载 Disqus 评论