1.3. 关于FreeBSD计划

下面介绍有关这个计划的背景信息,包括简要的历史,计划的目标,以及这个计划的开发模式。

1.3.1. FreeBSD的简要历史

提供Jordan Hubbard.

FreeBSD 计划开始于1993年的早些时候,部分地源于一组``非正式的386BSD Patchkit计划 '',它的三个 协调人是:Nate Williams,Rod Grimes和我。

我们最初的想法是做一个386BSD的测试版以修正许多patchkit 无法解决的问题。你们中的一些人或许 记得这个计划的最初名称是``386BSD 0.5'' 或者``386BSD Interim'', 就是因为如此。

386BSD was Bill Jolitz's operating system, which had been up to that point suffering rather severely from almost a year's worth of neglect. As the patchkit swelled ever more uncomfortably with each passing day, we were in unanimous agreement that something had to be done and decided to assist Bill by providing this interim ``cleanup'' snapshot. Those plans came to a rude halt when Bill Jolitz suddenly decided to withdraw his sanction from the project without any clear indication of what would be done instead.

没过多久,我们认为在没有Bill的支持下,项目仍有保留的价值。因此,我们采用了David Greenman的意见,给其命名为 `` FreeBSD ''。在和当时的几个系统的用户商量后,我们提出了最初的目标。一旦这件事明朗化后,这个计划就走上 了正轨,甚至可能成为现实。为了增加FreeBSD的发行渠道,我抱着试试看的心态,联系了光盘商Walnut Creek CDROM,以便那 些上网不方便的用户得到FreeBSD。Walnut Creek CDROM不仅支持发行FreeBSD光盘版的想法,还为这个计划提供了所需的计算机 和高速网络接入。在那时,没有Walnut Creek CDROM对一个完全未知的计划的空前信任,FreeBSD不太可能像它今天这样,影响如此 深远,发展如此快速。

FreeBSD 的第一张光盘版FreeBSD 1.0于1993年10发布。这个版本是基于加州大学伯克利分校的4.3BSD-Lite (``Net/2'') 磁带的。同时,386BSD和自由软件基金会也为其提供了很多组件。对于第一次发行,这算是相当成功了。在1994年5月,我们发布了更加 成功的FreeBSD1.1版。

大约那时,一些意外的事情发生了。Novell和加州大学伯克利分校决定就伯克利Net/2磁带的归属权问题打一场马拉松式的官司。判决的结果 是,加州大学伯克利分校承认Net/2很大一部分代码是``侵占来的''且这些代码归Novell公司所拥有。这些代码是Novell不久前从 AT&T 买来的。伯克利得到了来自Novell的 ``祝福'':4.4BSD-Lite发行后,将不认为是侵权,且强烈建议现存的Net/2的用户更换新版。这也包括 FreeBSD,我们的计划被要求在1994年6月底停止发行基于Net/2的产品。在此协议允许的时间内,本计划被允许发行最后一版,也就是FreeBSD1.1.5.1。

FreeBSD then set about the arduous task of literally re-inventing itself from a completely new and rather incomplete set of 4.4BSD-Lite bits. The ``Lite'' releases were light in part because Berkeley's CSRG had removed large chunks of code required for actually constructing a bootable running system (due to various legal requirements) and the fact that the Intel port of 4.4 was highly incomplete. It took the project until November of 1994 to make this transition, at which point it released FreeBSD 2.0 to the net and on CDROM (in late December). Despite being still more than a little rough around the edges, the release was a significant success and was followed by the more robust and easier to install FreeBSD 2.0.5 release in June of 1995.

我们于1996年8月发布了FreeBSD 2.1.5版,它在ISP和商业团体中非常流行。FreeBSD 2.1.7.1版顺着2.1-STABLE 分支应运而生,它发布于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月发布 出来。1998年10月发布了正式的3.0版,它代替了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年10月20日,3.5发布于2000年6月24 日。不久后,3.5版经过很少的修补升级至3.5.1版,它加入了对Kerberos安全性方面的修补。3.5.1版是3.X分支的最后一版。

到了2000年3月13日,又出现了一个分支,为4.X-STABLE分支。现在,采用``current-stable分支方法''。迄今为止, 已经发行了好几个4.X-STABLE版本。4.0-RELEASE于2000年3月发布,and the most recent 4.9-RELEASE came out in October 2003. 沿着4.X-stable (RELENG_4)分支将有后续版本,直到2003年。

2003年1月19日公布了被期待已久的5.0-RELEASE。它是将近三年工作的顶点。这个版本使FreeBSD有了对多处理器和多线程 的支持,引进了对UltraSPARC®和64位 平台的支持。5.0版的下一版是5.1版,它发布于2003年6月。除了许多新特性, 5.X版还包括许多系统体系结构的主要发展。然而,随同这些先进的机制,带给系统非常大数量的新的且没有经过全面测试的代码。因此, 当4.X 系列作为``产品'' 版时,5.X版只能称作``新技术''。5.X将很快地被发布为stable版,我们将着手下一版 6.0-CURRENT的开发。

现在,对5.X-CURRENT (trunk)分支的长期开发计划在继续着。5.X的测试版光盘(当然还有在网络上的)一直在生产, 当项目取得进展时你可以从 测试版服务器 下载它。

1.3.2. FreeBSD Project Goals

提供Jordan Hubbard.

FreeBSD 计划的目标是提供软件,这些软件可以供那些不管出于什么目的和不要限制的人使用。 我们中的许多人对代码(和计划)都有非常大的投入和研究,当然也不介意一些资金上的补偿,不管是 现在或着是将来。但是,我们确定不准备坚持这么做。我们认为我们的首要``使命''是为任 何人和新来者提供代码,不管他们出于什么目的。以便代码能得到最大限度的利用,带给使用者最大的 好处。我认为这是自由软件和我们的狂热支持者的一个最基本的目标。

That code in our source tree which falls under the GNU General Public License (GPL) or Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software we do, however, prefer software submitted under the more relaxed BSD copyright when it is a reasonable option to do so.

1.3.3. FreeBSD的开发模式

提供Satoshi Asami.

FreeBSD的开发是一个非常开放且有有伸缩性的过程,就像你从我们的贡献者列表 看到的,它是完全由来自 全世界的数以百计的贡献者发展起来的。FreeBSD的开发基础结构允许数以百计的开发者通过互联网协同工作。我们 经常关注新的开发者和新的想法,那些有兴趣更进一步参与FreeBSD计划的人可以通过邮件列表freebsd-hackers@FreeBSD.org与 我们进行交流。那些希望使其他FreeBSD用户了解他们的工作领域的人也可以使用邮件列表freebsd-announce@FreeBSD.org。

无论是独立地工作或者封闭式的团队工作,了解FreeBSD计划和它的开发过程都是有益的:

CVS仓库

FreeBSD的中央源代码树是由CVS (并行版本控制系统)来维护的。 CVS是与FreeBSD捆绑发行的可自由获得的源代码控制工具。主CVS 仓库放置在美国加利福尼亚州Santa Clara的一台机器上,它被复制到全世界的大量镜像机器上。CVS树包括了-CURRENT-STABLE 树,它同样可以很容易地复制到你的机器上。 请查阅 同步你的源代码树这部分来获取更多信息。

维护者列表

维护者是那些对CVS树有修改权力的人,他们被批准修改FreeBSD的源代码( the term ``维护者'' 可以对CVS仓库进行修改,这个词来自于commit 这个命令)。通过维护者列表提交修正最好的方式是使用send-pr命令。如果在提交建议的过程中遇到问题, 也可以发电子邮件与cvs-committers@FreeBSD.org联系。

FreeBSD核心团队

如果把FreeBSD计划看作一个公司,那么FreeBSD核心团队就是懂事长。FreeBSD核心团队的主要任务是,确保该计划作为一个整体,有好的总体规划和正确的发展方向。当有成员离开,需要增加新的核心团队成员时,邀请那些勇于献身和有责任心的开发者加入我们的维护者队伍是核心团队的主要职责之一。当前的核心团队是在2002年6月从很多维护者候选人中选举出来的。此选举每两年举行一次。

一些核心团队成员还负责特定的责任范围,也就是说,他们有义务确保系统里某一大部分运行如所宣称的那样。FreeBSD开发者的完整列表和他们的责任范围,请参见贡献者列表

Note: 所有的核心团队成员都没有接受经济上的援助,而是以志愿者身份加入FreeBSD的开发的。因此, ``义务''同样不该被误解为 ``有保证的支持。''前面所述 ``董事会'' 的类推并不十分准确。或许更好的说法是,他们是一群愿意放弃他们的生活,投身于FreeBSD计划而非选择其个人更好的生活的人!

外围贡献者

事实上,最大的开发团队正是为我们提供反馈和错误修补的用户自己。与FreeBSD更加非集中开发方式保持联系的最主要的方法是订阅邮件列表freebsd-hackers@FreeBSD.org,在那里可以讨论很多事情。请看Appendix C来获得更多FreeBSD邮件列表的信息。

FreeBSD 贡献者列表 是长的而且在不断增长中,为什么不加入它来为FreeBSD做贡献呢?

提供代码不是为这个计划做贡献的唯一方式。有一个更完整的需要做的事情的列表,可以参见 FreeBSD计划的官方网站.

总的来说,我们的开发模式被组织成一组没有限制的同心圆。集中式的开发模式是为了FreeBSD的用户 的使用方便,同时提供了一种简单的方式使他们容易维护中心源代码,以不把潜在的贡献者排除在外!我们的愿望是提供一整套连贯的易于用户安装和使用的应用程序的稳定操作系统。这种模式在完成目标的过程中工作很有效。

我们对于那些想要加入,成为FreeBSD开发者的期待是:具有如同当前其他人一样的投入,来确保持续的成功!

1.3.4. 当前的FreeBSD发行版

FreeBSD是一个免费使用且带有完整源代码的以4.4BSD-Lite为基础的系统,它支持 Intel i386、i486、pentium Pentium pro, Celeron, Pentium II, Pentium III, Pentium 4(或者兼容系统), Xeon,DEC Alpha™ 和Sun sparc这些基本的计算机系统。它以加州大学伯克利分校CSRG的软件为基础,并加入了NetBSD, OpenBSD, 386BSD和自由软件基金会的增强部分。

自从1994年FreeBSD2.0发布以来,FreeBSD的性能,功能,稳定性都有了显著的提高。 最大的变化是通过集成VM/file高速缓存技术更新了虚拟内存系统,不仅提升了性能,而且减少了FreeBSD对内存的需要,使得5MB内存成为最小的配置。其他的改进包括完整的NIS客户端和服务器端的支持,事务TCP协议支持,按需拨号的PPP,集成的DHCP支持,改进的SCSI子系统,ISDN的支持,ATM,FDDI,快速Gigabit以太网(1000Mbit)支持,提升了最新的Adaptec控制器的支持和修补了很多的错误。

除了最基本的系统软件,FreeBSD还提供了一组拥有数以千计的一般性且广受欢迎的程序组成的软件。到本书付印时,已有超过10,000 软件!这些软件包扩http (WWW) 服务器,游戏,程序语言,编辑器和在其中的所有的东西。完整的ports收集大约需要300 MB 的存储空间。所有软件只提供对原始代码的修正。从老版本1.0 ports collection开始,我们可以容易的升级软件,还可以极大限度地减少磁盘占用空间。如果你想要编译该软件,只要到你希望安装的程序目录下,执行make install,剩下的就留给系统解决了。你要编译的每一个程序完整的原始代码可以从CDROM或本地FTP站检索到。你只需要足够的磁盘空间就可以。几乎每一个软件都提供了预先编译的``package'',可以使用一个简单的命令(pkg_add)来安装,而不要自己来编译源代码。关于packages和ports 的更多信息可以查阅Chapter 4

在最新版的FreeBSD机器里的/usr/share/doc 目录里,有许多对安装和使用FreeBSD有帮助的附加文档。可以使用HTML浏览器来查阅本地安装手册,地址如下:

你也可以访问FreeBSD的主站(总是频繁的更新) 来获取信息。 http://www.FreeBSD.org/.