发行版—简史

作者:Jes Fraser

Linux 发行版似乎和用于命名它们的字母表中的字母一样多。当然,总有一种口味可以满足几乎任何人的需求。然而,情况并非总是如此。这是怎么发生的?为什么 Linux 世界没有标准化为一个单一的发行版?

Linux 发行版的开端实际上始于 20 世纪 80 年代早期 Richard Stallman 和他新兴的自由软件基金会。GNU 操作系统正在开发中,旨在将类 UNIX 操作系统重新实现为自由软件。尽管许多 GNU 工具得到广泛使用,但该项目在寻找内核方面遭遇了各种挫折和延误。伯克利的一些人在使用 BSD 内核方面缺乏合作,并且 Mach(卡内基梅隆大学的微内核)存在许可问题。在这些问题得到解决并且 GNU 项目能够着手构建自己的内核之前,Hurd(另一个自由内核)变得可用。然后在 1991 年,以下消息出现在 Usenet 新闻组 groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b?pli=1

大家好,所有使用 minix 的人:

我正在做一个(免费的)操作系统(只是一个爱好,不会像 gnu 那样庞大和专业),用于 386(486) AT 克隆机。这从四月份开始酝酿,现在开始准备就绪。我想就人们喜欢/不喜欢 minix 的地方获得任何反馈,因为我的操作系统在某种程度上与它相似(文件系统的物理布局相同(由于实际原因)等等)。

目前我已经移植了 bash(1.08) 和 gcc(1.40),并且看起来可以工作。这意味着我将在几个月内得到一些实用的东西,并且我想知道大多数人想要什么功能。欢迎任何建议,但我不能保证我会实现它们 :-)

Linus

(PS. 是的 - 它不包含任何 minix 代码,并且它具有多线程 fs。它不是可移植的 [原文如此](使用 386 任务切换等),并且它可能永远不支持 AT 硬盘以外的任何东西,因为那是我拥有的全部 :-(

Linux 为 GNU 成为完整的操作系统所需的自由内核提供了权宜之计。由于 Linux 不多也不少只是一个内核,因此它同样需要像 GNU 和其他项目提供的工具才能被开发者以外的任何人使用。早期的爱好者将运行在 Linux 内核上的软件包捆绑在一起,创建了最初的发行版。这些早期的发行版大多由大学为内部使用而创建,其中一些将其成果发布给更广泛的社区。

随着 Linux 0.12 的发布,Linus 宣布他打算在 GNU GPL(通用公共许可证)下许可该内核。通过 Linux 0.99 的发布实现,这消除了之前对商业发行的限制,为即将到来的商业支持的发行版铺平了道路。

其中之一是 Soft Landing Systems 的 SLS Linux,它是最早被广泛使用的发行版之一。它可以通过软盘安装,并包含 TCP-IP 网络支持和 X Window 系统等尖端功能。SLS 在当时很受欢迎,但因其存在错误和不稳定而受到批评。当 Soft Landing Systems 宣布它将把默认二进制格式从 a.out 更改为 ELF 时,遭到了用户群的非常负面的回应。

Patrick Volkerding 是那些对 Soft Landing Systems 的决定感到不满的人之一,他随后创建了一个 SLS 的修改版本,他将其命名为 Slackware。第一个版本于 1993 年 7 月 16 日发布,Slackware 荣幸地成为目前维护时间最长的 Linux 发行版——领先几个月。

Ian Murdock 也对他在 SLS 中看到的缺陷感到非常沮丧,他于 1993 年 8 月 17 日在新闻组 comp.os.linux.development 上宣布 (groups.google.com/group/comp.os.linux.development/msg/a32d4e2ef3bcdcc6)

这只是为了宣布一个全新的 Linux 版本的即将完成,我称之为 Debian Linux Release。这是一个我基本上从头开始组装的版本;换句话说,我没有简单地对 SLS 进行一些更改并将其称为新版本。在运行 SLS 并普遍对其大部分内容感到不满之后,并且在对 SLS 进行大量修改之后,我决定从头开始更容易,这激发了我组装这个版本。

同年,Ian Murdock 发布了 Debian 宣言,详细说明了他对一个自由和开放的发行版的愿景,该发行版将由社区开发和维护。他认为这样的发行版是避免停滞不前的方式,这对于 Linux 在商业市场上的成功至关重要。自由软件基金会通过资助 Debian 开发一年来支持这些努力。

Debian 和 Slackware 的诞生都源于对 SLS 问题的失望,以及发行版的封闭性质阻止用户群提交任何改进。Ian Murdock 让许多人共同努力以实现高标准的解决方案至今仍然存在,尽管 Debian 的开发过程因其漫长的发布周期而受到批评。

虽然 Murdock 将他的解决方案建立在社区参与之上,但 Volkerding 的回应几乎是完全相反的。Slackware 团队确实发展到多名开发人员;然而,直到 2000 年,所有更改仍然需要由 Volkerding 亲自作为项目的“沙皇”签署。他被记录说过,这确保了“……高质量和一致性”(来自 http://slashdot.org/interviews/00/03/17/1120205.shtml)。

Red Hat Linux 是另一个成功的早期发行版。Marc Ewing 正在为 UNIX 平台开发软件,但转向 Linux,因为它比 UNIX 工作站更经济实惠。过了一段时间后,他发现与其从事他的主要项目,他大部分时间都在修复 Linux 的问题。Marc 最终决定将他最初的项目放在一边,并“……致力于组装一个更好的 Linux 发行版”(http://www.salon.com/tech/view/1999/10/04/marc_ewing)作为一项商业冒险。

他的第一个版本花费了大约一年半的时间,于 1994 年发布。Bob Young 为 ACC Corporation 购买了该发行版的大部分产品副本,ACC Corporation 是一家销售 Linux 和 UNIX 相关产品(包括发行版媒体)的邮购业务公司。不久之后,在 1995 年,Young 收购了 Ewing 的业务,并将其与 ACC 合并,成为 Red Hat Software。那一年,Red Hat 2.0 发布,其中包括当时新的 RPM 软件包管理系统。四年后,Red Hat 收购了 Cygnus 并与之合并,成为当时世界上最大的开源公司。

SuSE,在德语中代表 Software und System-Entwicklung(软件和系统开发),最初是一家软件开发和 UNIX 咨询公司,由其四位创始人 Roland Dyroff、Thomas Fehr、Burchard Steinbild 和 Hubert Mantel 组成。他们最初的商业计划没有成功,因此 SuSE 转而发行 Linux。首先,SuSE 提供了基于 SLS 的软件包和服务。一旦 Patrick Volkerding 创建了 Slackware,SuSE 就开始将其翻译成德语。

在一段时间内,SuSE 继续翻译和发行 Slackware,但出于与 Patrick Volkerding 和 Ian Murdock 对 SLS 感到沮丧的原因大致相同,SuSE 对 Slackware 感到不满。Slackware 的封闭式开发阻止 SuSE 接受其改进和更改。由于无法修复错误而感到失望,SuSE 决定创建自己的 Linux 发行版。

SuSE 团队确定了对易于使用的安装和配置工具的需求,并开始开发 YaST,现代 SuSE Linux 的核心。随着时间的推移,SuSE Incorporated 了 Red Hat Linux 的许多功能,包括 RPM 软件包系统和 Red Hat 风格的 rc 系统。

当然,Red Hat 和 SuSE 今天都以略有不同的形式存在。Red Hat 最终停止支持其操作系统的免费版本,转而专注于 Red Hat Enterprise Linux,而 Fedora 项目介入以维护以社区为中心的发行版。SuSE Linux 在被 Novell 收购后不久也经历了类似的变革,OpenSUSE 作为一种新的免费和开放的风格而兴起。Slackware 和 Debian 多年来或多或少地保持完整,Ian Murdock 对 Linux 商业成功的愿景并非在 Debian 本身中实现,而是在即将到来的人——Ubuntu 中实现。

这些只是最早的发行版,它们的影响仍然可以在 Linux 世界中清晰地看到,所有这些发行版都出现在 DistroWatch 的十大发行版列表中(尽管形式已经变形为 Fedora 和 OpenSUSE)。许多其他发行版没有那么成功,但也为塑造 Linux 的早期面貌发挥了作用——任何足够资深的 Linux 用户如果还记得 MCC 或 Yggdrasil 都会获得加分。

所有四个成功的发行版都有一个共同的特点,即提供经过改进且更易于使用的 Linux 发行版,并且此处讨论的所有四个发行版都对其为之前的项目做出贡献的努力感到沮丧。最终,我们无数 Linux 发行版背后的故事就像 Linux 本身的故事一样:每一个都由最务实的梦想家发起,他们可以可视化一种更好的方式,并拥有使该愿景成为现实的才能和动力。

Jes Fraser 是来自新西兰的 Linux 专家。

加载 Disqus 评论