FreeBSD的历史演绎
FreeBSD项目起源于1993年早期,部分作为 “Unofficial 386BSD Patchkit” 的副产物,patchkit 的最后 3 个协调维护人是:Nate Williams,Rod Grimes 和我。
我们最初的目标是做出一份 386BSD 的测试版以修正一些 Patchkit 机制无法解决的错误(bug)。您们中的一些人可能还记得早期的项目名称叫做 “386BSD 0.5” 或者 “386BSD Interim” 就是这个原因。
386BSD是BillJolitz的操作系统,一直到忍受了激烈的将近一年的忽视。 由于Patchkit的急剧膨胀,使得很难每天都能够消化吸收,我们一致同意应该做些事情并决定通过提供这个临时的“cleanup”版本来帮助Bill。然而,Bill却在事先没有指出这个项目应该如何开展下去的情况下,突然决定退出这个项目,最终这个计划只好被迫停止。
没过多久,我们认为在没有Bill的支持下,项目仍有保留的价值,因此,我们采用了DavidGreenman的意见,给其命名为“FreeBSD”。在和当时的几个用户商量后,我们提出了最初的目标,而这件事明朗化后,这个项目就走上了正轨,甚至可能成为现实。为了增加FreeBSD的发行渠道,我抱着试试看的心态,联系了光盘商WalnutCreekCDROM,以便那些上网不方便的用户得到FreeBSD。 Walnut Creek CDROM 不仅支持发行FreeBSD光盘版的想法,还为这个计划提供了所需的计算机和高速网络接入。 在那时,没有 Walnut Creek CDROM对一个完全未知的项目的空前信任,FreeBSD不太可能像它今天这样,影响如此深远,发展如此快速。
第一个 CDROM (以及在整个互连网范围内发行的) 发行版本是 FreeBSD 1.0,于 1993 年 10 月发布。这个版本基于 U.C. Berkeley 的 4.3BSD-Lite(“Net/2”)磁带, 也有许多组件是 386BSD 和自由软件基金会提供的。 对于第一次发行,这算是相当成功了。 在 1994 年 5 月,我们发布了更加成功的 FreeBSD 1.1 版。
然而此后不久,发生了一些意外的情况。 Novell 和 U.C. Berkeley 决定就 Berkeley Net/2 磁带的归属权问题打的那场马拉松式的官司达成和解。 判决的结果是, U.C. Berkeley 承认 Net/2 很大一部分代码是“侵占来的” 且这些代码归 Novell 公司所拥有。这些代码是 Novell 不久前从 AT&T 买来的。 Berkeley 得到了来自 Novell 的 “祝福”: 4.4BSD-Lite 发行后,将不认为是侵权,且要求现存的Net/2的用户更换新版。这也包括FreeBSD,我们的项目被要求在 1994 年 6月底停止发行基于Net/2的产品。在此协议允许的时间内,本项目被允许发行最后一版,也就是 FreeBSD 1.1.5.1。
于是 FreeBSD 开始艰苦的从全新的而且不完整的 4.4BSD-Lite 中重新整合自己。“Lite”版本是不完整的,因为Berkeley的CSRG已经删除了大量的构建可启动运行的系统所需要的代码 (因为各种各样的版权问题),事实上 4.4 的 Intel port 是非常不完整的。 直到 1994 年11月项目才完成这个转换,这个时候才把FreeBSD2.0通过网络和CDROM(在12月)发布出来。尽管系统很多地方还很粗糙,这个版本还是取得了重大的成功, 接下来在 1995 年 6 月发布了更强大和容易安装的 FreeBSD 2.0.5 版本。
我们于1996年8月发布了FreeBSD2.1.5版本,它在ISP和商业团体中非常流行。随后, 2.1-STABLE 分支的另一个版本应运而生,它就是 FreeBSD 2.1.7.1,在 1997 年 2 月发布并停止了2.1-STABLE的主流开发。现在,它处于维护状态,仅仅提供安全性的增强和其他严重的错误修补的维护(RELENG_2_1_0)。
FreeBSD2.2版作为RELENG_2_2分支,于1996年11月从开发主线 (“-CURRENT”)分出来。 它的第一个完整版(2.2.1)于 1997 年 4 月发布出来。 97 年夏秋之间,顺着 2.2 分支的更进一步的版本在开发。 其最后一版(2.2.8)于 1998 年 11 月发布出来。 第一个官方的 3.0 版本出现在 1998 年 10 月, 意味着 2.2 分支结束的开始。
1999 年 1 月 20 日又出现了新的分支,就是 4.0-CURRENT 和 3.X-STABLE 分支。从 3.X-STABLE 起,3.1 在 1999 年 2 月 15 日发行,3.2 在1999 年 5 月 15 日,3.3 在 1999 年 9 月 16 日,3.4 在 1999 年 12 月 20 日,3.5 在 2000 年 6 月 24 日,接下来几天后发布了很少的修补升级至 3.5.1,加入了对 Kerberos 安全性方面的修补。 这是 3.X 分支最后一个发行版本。
2000 年 3 月 13 日,有了另一个分支, 看到了 4.X-STABLE 分支的曙光,现在,采用了 “current -stable 分支方法”。从那时迄今为止已经有了几个发行版本: 4.0-RELEASE 在 2000 年 3 月发布, 最新的 4.10-RELEASE 在 May 2004 发布。沿着 4.X-stable(RELENG_4)分支还会有几个后续版本,直到 2003 年。
期待已久的5.0-RELEASE在2003年1月19日发布。它是将近三年工作的顶点,这个版本开始了 FreeBSD 对高级多处理器和应用程序线程的支持,并加入了对 UltraSPARC? 和 ia64 平台的支持。这个版本接下来就是 2003 年 6 月发布的 5.1 版。除了许多新的特性,5.X 版本也包含了许多正在进行的系统结构方面的主要进展。然而,随着这些先进的机制,带给系统极大数量的新的未经过广泛测试的代码。因为这个原因,5.X版本被看作是“新技术展示”版本,而4.X系列则作为“生产”版本。5.X 会被及时的公布为 stable 并开始着手下一个开发分支,6.0-CURRENT。
现在,对 5.X-CURRENT(trunk)分支的长期开发计划仍在继续着。5.x 的SNAPshot版本CDROM(当然,还有网络)一直作为工作进程在 the snapshot server 上制作。