3、Berkeley Software Distribution :
开源与闭源的校园之争
1975 年,KenThompson 获得了带薪休假一年的机会,他选择到加州大学伯克利分校访
学, 与他一起的,是他随身携带的最新的 Unix 第六版的源码磁盘 。伯克利对于 Ken 的到来欢
欣鼓舞, 早在 Unix 发布之时 Bob Fabry 教授便为伯克利争取到了一份拷贝并在校园内招募到
了一批有兴趣研究和改进这一系统的人,其中一名学生 Bill Joy 的表现尤为突出,他可以算是小
组的领导人之一。
1977 年,其他大学的人们也开始对伯克利的软件感兴趣,Bill Joy 便开始着手编译他们自
己的操作系统,正如早期的 Unix 一样,期间他们陆续有收到一些外界的代码改进和反馈,这些
也一并被包含其中,待到下一个版本中一起发布。
到了 1978 年 3 月完工时他们将捆绑了自家软件的改进过的第六版 Unix 以 1BSD(1st
Berkeley Software Distribution)的名称对外发布,一共分发出了 30 份左右的拷贝。
2BSD 于 1979 年 5 月时发布,这个版本除了一些软件的更新之外,最大的变化应该是 vi 编
辑器的加入,这一编辑器是今日依旧非常流行的 vim 编辑器的前身。同年,伯克利购置了一台
DEC 最新款 VAX 机器,为了充分发挥这台机器的性能,小组成员们继续埋头工作,于年底前发
布了 3BSD。
4BSD 于 1980 年底发布,次年发布了 4.1BSD。4.2BSD 带来了较大的功能更新,这也使
这一版本的开发周期延长到了 2 年,到 1983 年 8 月才正式发布。新版本添加了完全由伯克利开
发的 TCP/IP 协议栈,快速文件系统,以及对 NFS 文件系统的支持。BSD 最大的贡献大概要数
TCP/IP 了,在 Windows NT 中也依靠 BSD 的代码来实现。
1982 年,核心成员 Bill Joy 选择离开伯克利并创立了 Sun 微系统公司,他将之前自己领
导开发的 BSD 继续发展成为 SunOS 操作系统 (后来的 Solaris),与德州仪器合作设计了
Sparc 微处理器,在 90 年代依靠出售其高性能、平价的 Sparc 系列工作站狠狠赚了一笔。
再说说这几年间 Unix 的发展。
1979 年的 Unix 7 是最后一个广泛发布的研究型 Unix 版本,之后 Unix 的许可证开始禁
止大学使用 Unix 的源码,包括在授课中学习,80 年代相继发布的 8、9、10 版本只授权给了很
少的几家大学。
1981 年,AT&T 基于版本 7 开发了 Unix System Ⅲ 的第一个版本,这是一个仅供出售
的商业版本,不过其依然提供源代码。同时,为了解决市场上混乱的 Unix 版本情况,AT&T 综
合其他大学和公司的各种 Unix 和软件,开发了商业版 Unix System V Release 1 并于 1983
年发布,这一版本开始不再提供源代码。
补充说明
:
UNIX开始走向闭源。
回到伯克利,4.3BSD 于 1986 年 6 月发布,常规更新。由于此时各个版本的 BSD 都含有
Unix 代码,虽然 BSD 可以免费获取到,但作为衍生的产品,要使用 BSD 却不得不向 AT&T 支
付高昂的授权费。于是一个分支项目便应运而生,项目利用 BSD 自行开发、公布在网络上的那
部分代码开发了一个新的版本,于 1989 年 6 月公布,取名 Networking Release
1(Net/1)。由于 Net/1 去掉了私有部分的 Unix 代码,它并不是一个完整的操作系统而更像是
一个软件包。当然,人们并不会轻易放弃,Net/2 的计划很快被提上日程,这次的目标是把所有
私有 Unix 代码重写以形成一个完整的操作系统。时间一晃就是两年,1991 年 6 月 Net/2 发
布,尽管完全重写的目标是基本上实现了,不过这次依然不完整,由于 Unix 内核部分的 6 个文
件编写难度太大,小组的成员最后决定将缺少这 6 个文件的版本公布,希望外界能有大神级的开
发者帮助他们补齐为一个完整的系统。
过了半年多时间,Bill Jolitz 夫妇合作完成了缺失的 6 个文件,并将其源码公布于网上给
人下载,取名为 386BSD。后来 Jolitz 作为联合创始人加入了 Berkeley Software Design
Inc,继续改进这部分的代码,他们把补齐文件之后以 BSD/386(后改称 BSD/OS)命名的系
统以市场可以接受的价格($995)出售,取得了不错的销售成绩。
这对 Unix 的销量来说是一个很大的威胁,看不过眼的 AT&T 不久便将对方告上了法庭,时
间是 1992 年,理由是其销售的系统中含有私有的 Unix 代码,随后伯克利的师生也被卷入这场诉
讼当中。依据原告的申请,法院签署了禁止令,Net/2 及其派生的版本都被禁止在市面上传播,
期间由于法院的调查,BSD 的大部分开发工作也被搁置。这场官司旷日持久,闹得人心惶惶,学
生和教师以及校委员会被要求出庭作证,Net/2 的全部代码作为证据必须接受原告和法庭的仔细
审核以确保其中如伯克利所说的已不包含有 Unix 的私有代码。