您查看的文章来源于http://www.oklinux.cn
Networking, Release 1
4.3BSD-Tahoe的发布时,所有的BSD用户必须事先得到AT&T的一份源代码的许可,因为Berkeley从来没有只发行二进的 BSD 系统;发行版本完全包含系统每个部分的原代码。Unix系统和BSD系统的历史显示原代码具有强大的威力。用户不是消极地使用系统, 而是积极地修改臭虫,改良性能和完善功能,甚至完全地增加新的特征。
随着AT&T原代码许可费用逐渐增加,那些想要用BSD 代码为PC市场开发仅以TCP/IP为基础的网络产品的厂商,发现为每个二进制版本付费是不可能的。因此,他们要求Berkeley把网络代码和实用工具分离出来,在许可条款下,提供该他们,而不再需要AT&T的原代码许可。显然易见,TCP/IP 网络代码不包含在32/V中,完全由Berkeley和它的支持者开发。BSD早期的网络代码和支持工具在1989年6月开始发布,即 Networking, Release 1,首次由Berkeley 发行的可自由再发布的代码。
那许可条款很宽泛。获得许可的人可以发行被修改的代码,不论是以源代码还是二进制的形式发行,Berkeley都不会计较。唯一的要求是源文件中必须包含完整的版权声明,在产品的文档中指明产品中包含来自来加州的大学和它的贡献者的代码。尽管这样,Berkeley还是对每盘磁带收取,000 费用,任何人都可以从已经得到磁带的人那里免费的到副本。的确,一些大的站点在其发布不久,就建立匿名ftp供人免费下载。由于许可条款很宽泛,大约有几百个组织购买了磁带,发行费用可以帮助进一步项目的发展,CSRG当然很高兴。
4.3BSD-Reno
同时,基础系统的发展仍在继续。虚拟内存系统接口第一次在4.2BSD体系描述文件中出现,最终的已实现。大多数情况下,CSRG总是试着寻找存在的代码然后整和,而不是从头写起。如此,并非设计一个新的虚拟存储系统,我们四处寻找存在的替代方案。我们的第一选择是在Sun公司的SunOS下出现的虚拟存储系统。虽然有关Sun公司对Berkeley贡献代码的一些讨论,但是还是不了而止。因此,我们的第二个选项,卡内基梅隆大学的Mach操作系统的虚拟存储系统被集成到系统中。Utah大学的Mike Hibler将Mach的核心技术同4.2BSD体系中的接口合并(也是被SunOS使用的接口)合并。
那时,在系统中,另一个主要附加的是同Sun公司兼容的网络文件系统(NFS)。CSRG再一次得以避免实际编写NFS代码,这次集成工作是由加拿大的Geulph大学的Rick Macklem完成的。
虽然我们仍然没有完成预发行版本4.4BSD的所有性能,但是CSRG决定发行一个过渡版本,目的是得到新系统的反馈和经验。这个许可过渡版本被叫做 4.3BSD-Reno,在1990年初发行。版本的名字来自内华达州一座大的赌博城市中的一个斜的记念物,提醒用户运行这个版本是一场赌博。
Networking, Release 2
在我们一次每周的团体会议上,Keith Bostic提出可再发布网络版本的普及性的主题,建议发行包含更多BSD代码的扩充版本。Mike Karels和我指出,发行系统的大部份是一件艰巨的工作,但是我们同意,如果他能够重新分类实现几百个实用程序和庞大的C语言库函数,那么我们会处理内核。事实上Karels和我私下里感觉讨论已经结束。
不过,这并没有阻碍Bostic在技术上的探索和大量网络基础上的开发工作。他还要求其他成员依据新发布的Unix实用程序。作为补偿,他们仅要求他们的名字和Berkeley贡献者的名字同时在实用程序中列出。工作进展很慢,而且大部分是一些琐细的实用程序。但是同样完成实用程序列表不断变大,而且 Bostic继续寻找贡献者(例如Usenix的公开场合),贡献者的人数继续增长。很快列表超过过了100多个公用程序,而且在18个月内几乎所有重要的使用程序都被完全重写。
后来,Bostic带着实用程序列表进入Mike Karels和我的办公室,想要知道我们正在核心上的工作进展。我们重新分配工作,Karels,Bostic和我花费以后的几个月详细察检查整个发行版本,一个文件一个文件地删除来自32/V版本的代码。当工作将近结束的时候,我们发现还有六个核心文件,且没有必要重写。我们考虑重写那六个文件,以便我们可以发行一个完全的系统。我们决定改为发行现有的系统,然而,我们需要得到大学行政部门高层人员的许可。经过内部讨论之后,并验证了我们对代码的所有权问题,我们提前发行了新版本。
我们起初的想法是,为我们的的第二个可自由再发行的系统起个全新的名字。然而,我们看到大学律师写的新版许可证,那样完全没有必要,而且可能浪费时间。因此,我们决定对Networking Release 1的许可证进行修订,并且以Networking Release 2来发行我们的系统。就这样,我们在1991年六月发行了扩展后的系统。这个版本的费用同第一版的一样。与以往相同,几百个个人和组织以每份拷贝 ,000的费用从Berkeley得到它的副本。
Networking Release 2和完整系统的差别不断减小,在发行的六月内,Jolitz已经重写了六个不太重要的文件。他随后就发行了完全编译基于PC体系,可启动的系统。 Jolitz的386/BSD完全在网络上发行。他搭建了匿名FTP,以便用户可以免费下载。在几个星期内,他有了大量的追随者。
不幸的是,由于全职工作的需要,Jolitz不能把所有的时间用于修改BUG和提高386/BSD系统性能。因此386/BSD发行几个月之内,一群热心的 386/BSD使用者形成了NetBSD用户组,汇集他们的资源,帮助维护和增强后来的系统。他们的发行的系统就是著名的NetBSD 分支。NetBSD团体选择尽可能地支持大量的体系,延续CSRG的研究风格来发展系统。直到1998年,他们的发布还仅仅限于网络;没有提供发行媒体。他们团体主要目标仍是核心技术用户。NetBSD项目的站点是http://www.netbsd.org。
FreeBSD团体在 NetBSD团体成立几个月之后成立,其宗旨是仅支持个人计算机体系,并追求数量更多(较少技术化)的改进,同Linux作法十分相象。他们精心的设计安装脚本,以低廉的价格的CD-ROM发行他们的系统。易于安装和疯狂的网络促销、以及在Comdex大会的表演导致快速的,大量的发行。不可否认, FreeBSD是所有Networking Release 2分支中发行最多的系统。
FreeBSD也曾为Linux的流行而苦恼,因此FreeBSD平台加入Linux模拟模式。这个特征允许FreeBSD使用者运行大量的 Linux程序。同时,也促进FreeBSD系统向更加健壮,高兼容性和高性能方向发展。最近,团体开设了一个FreeBSD商城,把FreeBSD社区的许多部份连接起来,包括商业服务、产品、书籍和新闻报道。
在1990年代中期,OpenBSD从NetBSD团体中分离出来。他们的技术上的宗旨瞄准增强系统的安全。他们的推广重点在使系统更容易使用和更广泛地获得。因此,他们开始生产并销售CD-ROM——这一FreeBSD最先采用的发行方式。关于OpenBSD项目的更多信息,可以在 OpenBSD.org找到。
诉讼
在一些组织免费地发放Networking Release 2的磁带的同时,成立了一家公司,Berkeley Software Design公司,主要从事发行提供商业支持的代码的事务(关于这家公司的详细情况清参考他们的网站http://www.bsdi.com)。和其他群体一样,他们开始追加缺少的那6个文件,像Bill Jolitz为386/BSD发行版作的那样。BSDI从1992年1月开始以5的价格出售他们的系统,包括源代码和编译好的代码。他们于是开始发布广告,吹捧他们的系统相对System V包含源代码的二进制系统之间99%的差价。有兴趣的读者可以拨打1-800-ITS-Unix。
BSDI开始他们的销售战之后不久,他们就收到了来自Unix系统实验室(USL, 一个基本上属于AT&T的,开发和销售Unix的机构)。这封信要求他们停止以“Unix”的名义推广他们的产品,包括他们“欺骗性的”电话号码。虽然电话号码很快被停用,而且他们的公告也解释了他们的产品和Unix只见的区别,USL仍然不满意,并且撰写了起诉书,要求禁止BSDI出售他们的产品。起诉书宣称BSDI出售的产品中含有属于USL的代码。USL同时要求在诉讼宣判之前,中止BSDI的销售,声称BSDI继续销售会给USL造成不可挽回的损失。
调查听证会中,BSDI指出他们只是简单地使用了来自加州大学的免费发行的代码,以及六个附加的文件。他们愿意就这六个文件展开调查,但不希望承担加州大学发行的代码的责任。法官同意了BSDI的主张,并通知USL他们需要修改他们的起诉书,否则将驳回起诉。认识到针对六个文件的起诉将没有意义, USL决定重新撰写起诉书,起诉BSDI和加州大学。和他们先前作的一样,USL要求加州大学停止发布Networking Release 2,当然,也包括BSDI公司的商业产品。
由于禁令的迫近,人们开始积极地准备。CSRG的所有成员和BSDI几乎所有的雇员都宣誓作证。律师们针锋相对,互不相让。Keith Bostic和我不得不亲自撰写材料,我自己也不得不为各种陈词写上几百页的材料。
1992年12月,美国众议院新泽西州选区法官Dickinson R. Debevoise受理了关于发布禁令的要求。尽管法官通常会立即发布禁令,但他认为这样的禁令需要经过深思熟虑。六周后的一个星期五,他签署了一份四十页的意见,表示他拒绝禁令,并驳回除两条之外的其他主张。余下的两条诉求被局限于最近的版权和可能泄漏商业机密的问题。他建议这一案件应当在联邦法院之前被州立法院系统受理。
加州大学根据这一决定,立即在周一提出对USL的反诉。除了加利福尼亚州之外,大学还为联邦法庭的诉讼进行了准备。宪法要求所有州的文件必须在一个州准备,以防止诉讼者自己带着厚重的提包为准备50份材料——每州一份。其结果是,如果USL希望在联邦法庭对大学提起诉讼,他们必须在加州,而不是新泽西做同样的事情。
大学的诉讼声称USL没有尽到作为BSD代码作者尽到的责任,因为System V中BSD代码的署名权已经在先前的许可证中规定了。如果这项主张被证明是有效的,那么大学要求USL重印他们所有的手册,并在主要出版物,如华尔街时报、财富杂志刊登整夜的广告以通知整个商业界。
其后不久,USL被Novell从AT&T买走。Novell的CEO, Ray Noorda,公开表示他宁可在市场上,而不是在法庭上进行较量。1993年夏谈判开始,然而不幸的是,双方都已经陷得很深,以至于谈判进行的异常缓慢。最后,USL一边在Ray Noorda的领导下在一些关键问题上做出了让步,最终于1994年1月达成了协议,其结果是组成Networking Release 2的18,000个文件中的3个被删除,并对其他一些文件进行了细微的修改。同时,加州大学同意在大约70个文件中加入USL的版权,尽管他们仍然被免费分发。
4.4BSD
曲折之后,一个新版本4.4BSD-Lite在1994年6月发布。其许可条款同 Networking releases一样。特别地,条款允许以源代码和二进制的形式自由发行,只要完整保留加洲大学版权声明,并且其他人使用时也能得到这个版权声明。同时,发行完全的系统4.4BSD-Encumbered版本, 仍然需要使用者有一份USL源代码许可。
纠纷结果还规定:USL不得控告任何使用4.4BSD-Lite作为他们系统的基础的组织。如此,那时所有发行BSD的团体,包括BSDI, NetBSD 和FreeBSD,必须以4.4BSD-Lite作为他们的代码来源,然后整合系统,提高系统性能。虽然这次重新以4.4BSD-Lite为基础延误了各个团体开发系统的时间,但更幸运的是,Networking Release 2发行三年内,如同CSRG一样,各个分支团体的开发工作必须重新同步。
4.4BSD-Lite, Release 2
由 4.4BSD-Encumbered 和 4.4BSD-Lite release版本发行得到的经费,用来赞助一个兼职的工作人员,来修改臭虫和提高系统性能。这样长达二年的工作,持续到臭虫的比率一直下降和性能已不能提高为止。最终的改变促成4.4BSD-Lite版本在1995年6月发行。这些大多数的变化都是以后其他系统的源代码的基矗
4.4BSD-Lite第二版的发布以后,CSRG同时也被解散。在领航BSD的二十多年中,我们感觉应该让其在新思想和无限的热情中生存和发展。当它可能有单一集中的权威监督系统发展像是最好的时候,用一些团体不同的特许状的主意确定那许多不同的接近将会被尝试。因为系统被以来源代码形式发行, 最好的结果就是它能够容易地被其他团体接受。如果某些改变特别地有效,他们可能最后变成占优势的系统。
今天,开源软件运动正在得到更多的注意和尊敬。虽然Linux系统非常有名,但是其中大约一半以上的程序都来自BSD的发行版本。Linux发布很严重地依赖编译器、调试器以及其他由自由软件基金会所写的开发工具。
总而言之,CSRG,自由软件基金会(Free Software Foundation)和Linux内核开发者已经投身开源软件运动,并以此建立了基础平台。我很骄傲有机会提倡开源软件运动。我盼望有一天,无论身处何处的用户和公司在开发和购买软件的时候都愿意采取这种方式。