要了解 FreeBSD,首先要了解 BSD。本文介绍 BSD 的简要历史,通过了解 BSD 的发展历程,我们可以更好的理解 FreeBSD。
BSD是"Berkely Software Distribution"的缩写,意思是"伯克利软件发行版"。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。
BSD的出现要追溯到上个世纪的七十年代,当加州大学伯克利分校的学生Bill Joy在1971年完成了"Berkely Software Distribution"的合并以后(包括Pascal系统和一个编辑器ex),就算是BSD诞生了第一个发行版,并且发行了大约三十份免费的系统拷贝。
BSD的用户社团一直在不断扩大,到了1978年,软件发行版得到了更新和升级,结果产生了第二版的"Berkely Software Distribution",即2BSD,其中包括了增强的Pascal系统,vi和termcap(Unix用户一定会对vi和termcap这两个名词感到非常亲切)。2BSD的系统拷贝也是免费的,并且其最后一个版本2.11BSD至今还在世界的各个角落运行着。
VAX计算机的普及导致了1979年末3BSD的诞生。3BSD是Berkely的第一个VAX发行版,同样也是Joy发布的,包含了C Shell和2BSD发行版中的大量附加程序,以及虚拟内存内核和标准32/V(Bell实验室的最后一个Unix版本,运行在VAX上)实用程序。
到了1980年10月,Joy推出了一个焕然一新的发行版本,称为4BSD,其中包括Pascal编译器、Franz Lisp系统和邮件处理系统。4BSD支持DARPA网络,版权的控制是以大学为单位的,而不是以单台计算机为基础计算。
1980年,一个命名为CSRG(Computer System Research Group,计算机系统研究小组)的小组被组建起来负责BSD的发行工作,并于1981年6月发行了称之为4.1BSD的新版本。请注意,不是5BSD。由于AT&T觉得5BSD会使用户将它和AT&T Unix System V相混淆,Berkely同意改变BSD将来版本的命名规则,将版本号仅保留在4BSD上,以后只增加4后面的小版本号。
4.2BSD于1983年8月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。到了1986年6月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。
由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商要求Berkely将AT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。因此,到了1989年6月,一个完全没有AT&T Unix代码的BSD版本诞生了,称之为"Networking Release 1"。这是第一套由Berkely发布的自由可再发行(freely-redistributable)的代码,,它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向Berkely申报版税,唯一要求是在源代码文件中原封不动的保留Berkely的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。
1990年初,CSRG发行了4.3BSD-Reno,这是一个过渡版本,此后CSRG几乎重写了整个BSD发行版本的所有代码,除了6个内核程序。正是这六个程序导致了日后BSDI公司与USL(Unix系统实验室)的一场官司。重写的新版本被命名为Networking Release 2,于1991年6月推出,它的许可证条款与第一个版本完全相同,都允许自由可再发行。在这个版本发布后的6个月内,Bill Jolitz重写了那6个漏掉的内核程序,并很快发布了完整的可运行在386PC体系上的系统,它称之为386/BSD。
386/BSD版本发布后的几个月内,一群386/BSD用户组成了一个小组,他们开始维护和增强后续系统,这就是NetBSD。NetBSD侧重于支持尽可能多的平台,并继续按照CSRG所建立的研究风格进行开发工作。在NetBSD小组正式成立后几个月,FreeBSD小组成立了,其宗旨是仅支持PC体系并尽可能多的发行他们的系统(现在,作为一个相对独立的系统,FreeBSD已经能够支持Alpha和SPARC体系)。在90年代中期,从NetBSD小组中分离出OpenBSD小组,他们的目标是提高系统的安全性,并借助了许多FreeBSD发行版本的安装特性。至此,目前最主要的三大BSD小组完全成型。
在此以后,CSRG还继续发布了4.4BSD-Lite、4.4BSD-Encumbered以及4.4BSD-Lite, Release 2三个发行版本,并于1995年6月以后被解散,完成了对BSD发行的领导工作。
(注:本文数据参考了Marshall Kirk McKusick的文章"Twenty Years of Berkeley Unix --From AT&T-Owned to Freely Redistributable",McKusick是BSD发行的核心人物之一,同时也是BSD Daemon图标的版权所有者)