lilujun.com

小李blog

当前位置: 主页 > 技術隨筆 >

FreeBSD簡要歷史

发表时间: 2007-09-21
Contributed by Jordan Hubbard.
  FreeBSD 項目起源於 1993 年早期, 部分作為 「Unofficial 386BSD Patchkit」 的副產物,patchkit 的最後 3 個協調維護人是:Nate Williams,Rod Grimes 和我。

  我們最初的目標是做出一份 386BSD 的測試版以修正一些 Patchkit 機制無法解決的錯誤(bug)。 很多人可能還記得早期的項目名稱叫做 「386BSD 0.5」 或者 「386BSD Interim」 就是這個原因。

  386BSD 是 Bill Jolitz 的操作系統, 到那時已被嚴重地忽視了一年之久。 由於 Patchkit 在過去的每一天裡都在急劇膨脹, 使得對其進行消化吸收變得越來越困難,因此我們一致同意應該做些事情並決定通過提供這個臨時的 「cleanup」 版本來幫助 Bill。然而,Bill 卻在事先沒有指出這個項目應該如何開展下去的情況下,突然決定退出這個項目,最終這個計劃只好被迫停止。

  沒過多久, 我們認為即便沒有 Bill 的支持, 項目仍有保留的價值, 因此,我們採用了 David Greenman 的意見,給其命名為 「FreeBSD」。在和當時的幾個用戶商量後,我們提出了最初的目標, 而這件事明朗化後, 這個項目就走上了正軌,甚至可能成為現實。為了拓展 FreeBSD 的發行渠道,我抱著試試看的心態, 聯繫了光盤商 Walnut Creek CDROM,以便那些上網不方便的用戶得到 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 月項目才完成這個轉換,這個時候才把 FreeBSD 2.0 通過網絡和 CDROM(在 12 月)發佈出來。儘管系統很多地方還很粗糙,這個版本還是取得了重大的成功, 接下來在 1995 年 6 月發佈了更強大和容易安裝的 FreeBSD 2.0.5 版本。

  我們於 1996 年 8 月發佈了 FreeBSD 2.1.5 版本, 它在 ISP 和商業團體中非常流行。 隨後, 2.1-STABLE 分支的另一個版本應運而生,它就是 FreeBSD 2.1.7.1,在 1997 年 2 月發佈並停止了 2.1-STABLE 的主流開發。現在,它處於維護狀態,僅僅提供安全性的增強和其他嚴重的錯誤修補的維護(RELENG_2_1_0)。

  FreeBSD 2.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。這之後發佈了許多的發行版本: 4.0-RELEASE 於 2000 年 3月發佈, 而最後的 4.11-RELEASE 則是在 2005 年 1 月發佈的。

  期待已久的 5.0-RELEASE 於 2003 年 1 月 19 日正式發佈。這是將近三年的開發的巔峰之作, 同時也標誌了 FreeBSD 在先進的多處理器和應用程序線程支持的巨大成就, 並引入了對於 UltraSPARCR 和 ia64 平台的支持。之後於 2003 年 6 月發佈了 5.1。 最後一個從 -CURRENT 分支的 5.X 版本是 5.2.1-RELEASE,它在 2004 年 2 月正式發佈。

  RELENG_5 於 2004 年 8 月正式創建, 緊隨其後的是 5.3-RELEASE, 它是 5-STABLE 分支的標誌性發行版。 最新的 5.5-RELEASE 是在 May 2006 發佈的。 RELENG_5 分支不會有後續的發行版了。

  其後在 2005 年 7 月又建立了 RELENG_6 分支。 而 6.X 分支上的第一個版本, 即 6.0-RELEASE, 則是在 2005 年 11 月發佈的。 最新的 6.2-RELEASE 發佈於 Jan 2007。我們還將繼續從 RELENG_6 發佈新的版本。

  目前, 中長期的開發項目繼續在 7.X-CURRENT (主幹, trunk) 分支中進行, 而 6.X 的 CDROM (當然, 也包括網絡) 快照版本可以在 快照服務器 找到。
栏目列表