1.3. 有關 FreeBSD 計劃

接下來我們告訴你 FreeBSD 計劃的背景,包含簡單的歷史,計劃的目標,以及 開發的模式。

1.3.1. FreeBSD 的簡短歷史

Contributed by Jordan K. Hubbard .

FreeBSD 計畫的想法是在 1993 年初所形成的, 那是源自於維護一組 "非官方的 386BSD 修正工具" 計畫的三個協調維護人 Nate Williams,Rod Grimes 和我。

起先的目標是做出一份適足以修正 386BSD 許多當時的修正工具(patchkit) 不容易修正的問題的暫時性版本。 或許有人記得當時本計畫的名稱是 "386BSD 0.5" 或是 "386BSD Interim" 便是這個原因。

386BSD 是 Bill Jolitz 的作業系統, 在當時就已經有約一年的分裂討論。 當該修正工具 (patchkit) 日漸變大得令人不舒服, 我們無異議的同意要作一些事了, 並決定以提供一份暫時性的 "清理過" 的版本來幫助 Bill。 由於 Bill Jolitz 忽然決定取消其對該計畫的認可, 且沒有明確指出未來的打算,所以該計畫便忽然地中斷了。

我們並沒有花去多少時間,便決定在沒以 Bill 的直持下, 該計畫仍然要走下去,最後我們採用 David Greenman 丟銅板決定的名字 "FreeBSD"。 我們在詢問了當時的若干使用者之後,決定了最初的目標, 當該計畫開始實施一切就要成真時,一切就變得更清楚了。 我跟 Walnut Creek CDROM 討論發行 CDROM 以讓那些並沒有辦法很容易上網路的人可以經由比較容易的管道取得 FreeBSD。 Walnut Creek CDROM 不只贊成以 CDROM 發行 FreeBSD 的想法,同時提供 了一台機器以及快速的網際網路的連接。 如果不是 Walnut Creek CDROM 幾乎是毫無前例的信任這個剛開始還是完全不知名計畫, 那麼很可能 FreeBSD 不會如此快速的有如今天這樣的規模。

第一次以 CDROM 以及透過網路發行的 FreeBSD 1.0 是在 1993 年十二月。 該版本是基於由 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 的財產 -- 事實上是當時不久前從 AT&T 取得的。 Berkeley 得到的是 Novell 對於 4.4BSD-Lite 的 "祝福" ,當最後 4.4BSD-Lite 終於發行之後,便不再是侵佔行為。 而所有現有 Net/2 使用者都被強烈建議更換新版本。 這包括了 FreeBSD,我們被要求於 1994 年 6 月底前停止散佈基於 Net/2 的產品。在此前提之下,本計畫被允許在期限以前作最後一次發行, 也就是 FreeBSD 1.1.5.1。

FreeBSD 便開始了這宛如從新發明一次的艱鉅工作 -- 從一個相對來說 是新的且較不完整的 4.4BSD-Lite。 這個 "Lite" 真的是比較鬆散,因為 Berkeley 之 CSRG 移去了許多在建立一個可以開機執行的系統所需要的程式碼 (基於若干法律上的要求), 同時該版本到 Intel 平台的移植是相對來說較為不完整的。 直到 1994 年 11 月本計畫才完成了這個轉移, 同時在該年 12 月底以 CDROM 以及網路的形式發行了 FreeBSD 2.0。 雖然該份版本在當時有點匆促,但仍是富有意義的成功。 隨之於 1995 年 6 月發行了更容易安裝,更好的 FreeBSD 2.0.5。

我們在 1996 年八月發行了 FreeBSD 2.1.5, 且似乎已有若干的 ISP 以及商業團體都有使用,很快地 2.1 這個分支就有了新的版本,也就是在 1997 年 2 月發行的 FreeBSD 2.1.7.1 -- 也作為 2.1 穩定分支的結束。 之後此分支便進入了維護模式, 亦即在此分支中只有系統安全方面的加強及若干關鍵性的錯誤修正。

1996 年 11 月 FreeBSD 2.2 從發展的主軸 ("-CURRENT") 分支出來成為 RELENG_2_2 分支. 進一步的版本是在 97 年夏秋之間發行的,最新的版本是在 1998 年十一月發行的 2.2.8 版. 第一個正式的 3.0 版本是於 1998 年十月發行, 亦即宣告 2.2 分支的結束。

1999 年 1 月 20 日再度分支。這產生了 4.0-CURRENT 以及 3.x-STABLE 兩個分支。 1999 年 2 月 15 日 3.1 版發行,同年 5 月 15 日 3.2 版發行。 目前這個分支的最新版本是在 1999 年 9 月 16 日發行的 3.3 版。

在 2000 年 3 月 13 日又有另外一個分支,產生了 4.x-STABLE 分支,現在被認為是「current -stable branch」 ,已經有許多版本從這個分支衍生出來: 4.0-RELEASE在 2000 年 5 月發行,4.1 在 2000 年 7 月發行,4.2在 2000 年 11 月發行。在 2001 年,4.2-stable(RELENG_4)這個分支下,將會有更多版本的發行。

長期的發展計劃將在 5.0-CURRENT 這個分支繼續,5.0 SNAPshot 光碟(當然網路上也有)將會持續的在 the snapshot server獲得

1.3.2. FreeBSD 計劃目標

Contributed by Jordan K. Hubbard .

FreeBSD 計畫的目標在於提供可作任意用途的軟體而不附帶任何限制條文。 我們之中許多人都對於本計畫或其中的軟體有相當深入的付出或研究。 我們並不在意些微的經濟上的補償, 但這並不意味者我們已經準備好長久堅持下去。 我們相信我們的 "任務" 是提供程式碼給任何一位或說全部的後來者, 無論為了任何理由, 能讓這程式碼得到最廣泛可能性的使用以及提供最廣泛可能性的利益。 我相信這就是我們熱情支持的自由軟體最根本的目標。

在我們整個程式碼中有若干是使用 GNU 公用軟體執照 (GPL) 或是 LGPL 的版權宣告的。 他們附帶有稍多的限制性文字於其中,但還好只是強迫人們可以取得該軟體, 而非一般限制性的版權宣告。由於使用 GPL 軟體在商業用途上會增加若干複雜性, 我們在適當的時機會讓這些軟體改用更寬鬆的 BSD 版權聲明。

1.3.3. FreeBSD 系統開發模式

Contributed by Satoshi Asami .

FreeBSD 系統開發是一個非常開放且具彈性的過程, FreeBSD 是由全世界數百人的供獻的軟體所建構而成的, 請看 list of contributors。 我們經常注意新的系統開發者及新的想法, 那些希望更進一步參與本計畫的人可以經由 FreeBSD technical discussions mailing list 與我們接觸。你也可以使用 FreeBSD announcements mailing list 來讓其他的 FreeBSD 使用者知道你的工作。

關於 FreeBSD 計劃發展的相關事項 (無論你是獨立工作者或是 比較密切的合作發展者):

CVS 倉庫

FreeBSD 程式碼是用 CVS (Concurrent Version System), 一個 FreeBSD 預設安裝,可以免費取得程式碼管制工具軟體。主要的 CVS 倉庫 是放在一台位於 Concord CA, USA 的電腦上。 其內容被複製到世界上相當數量的映射站台。 你可以由這些站台取得整個 CVS 的內容以及 -CURRENT-STABLE 程式碼並將之複製到你的機器上。 在 將你的程式原始碼同步 可以找到實做的方法。

Committers 列表

Committers 指的是那些對於 CVS 內容有 寫入 權限的人, 以及那些被授權可以修改 FreeBSD 原始程式碼的人。 ("committer" 這個詞來自於 cvs(1) commit 指令, 這個指令是用來對於 CVS 內容的改變寫入 CVS 倉庫中的) 提供意見給 committer 們最直接且簡單的方法便是使用指令 send-pr(1),如果該指令看起來有疑問的話, 你也可以直接寫信到

FreeBSD 核心小組

FreeBSD 核心小組 就等於董事會 -- 如果把 FreeBSD 看成是一家公司的話。 核心小組的主要職責在於確保此計畫有良好的架構, 並朝著正確的方向發展。 並邀請投入且負責的軟體開發者加入 committers 行列, 以在若干成員離去時得以補充新血。 目前的核心小組是在 2000 年 10 月 committers 候選人中選出來的,這個選舉每兩年會舉辦一次。

若干核心小組的成員還負責特定的 責任範圍, 意思是說他們必須盡力確保某個子系統如文件說明一般工作正常。

Note: 許多核心小組的成員都是自願加入 FreeBSD 開發行列,而且沒有從本計劃獲得任何經濟上得資助, 因此 "承諾" 不應該被解讀為 "支援保證。" 前面所述 "董事會" 之類比並非十分精確, 或許說他們是一群願意放棄他們的生活, 投注於 FreeBSD 計畫而非其個人其他領域成就的人! ;-)

其他的貢獻者

最後,但絕非最不重要的, 最大開發者族群便是那些持續提供回饋以及錯誤修正的系統使用者. 與 FreeBSD 非何核心開發者互動的主要方式便是透過訂閱 討論此類事務的 FreeBSD technical discussions mailing list 通信論壇.(請見 通信論壇資訊)

名單 這些曾經貢獻若干軟體到系統的原始碼人是越來越多, 你何不也立即給予 FreeBSD 一些回饋呢?

提供軟體碼並非唯一的回饋方式,對於 需要投入的工作之完整說明,請見本手冊中之 如何提出貢獻

簡言之,我們的系統開發模式好像是一組沒有拘束的同心圓。 這個集中式的開發模式是著眼於 使用者 的方便,同時讓他們能很容易地維護同一份軟體, 而非將潛在的貢獻分散開來! 我們的目標是提供一個包含有大量具一致性的 應用軟體, 使用者可以簡單的安裝並且使用且穩定的作業系統, 這個開發模式相當符合這個目標。

我們對於那些要加入我們的 FreeBSD 開發者的期待是, 具有如同其他人們一樣的投入,來確保其過去的成功!

1.3.4. 關於最新的版本的 FreeBSD

FreeBSD 是一個可以幾乎免費取得,基於 4.4BSD-Lite, 包含完整的原始程式碼, 在 Intel i386/i486/Pentium/Pentium Pro/ Celeron/Pentium II/Pentium III 或相容電腦, 以及以 DEC Alpha 為基礎的電腦上執行的作業系統。 它主要是根基於由 U.C. Berkeley's CSRG group, 以及來自於 NetBSD、OpenBSD、386BSD、以及自由軟體基金會的軟體。

自從 1994 年末,我們發佈了 FreeBSD 2.0 之後,系統的執行效率, 功能,和穩定性便有了戲劇性的改善。 最大的改變就是我們將記憶體與檔案系統的 cache 機制結合在一起。 這不只使得系統的表現變得更好, 並且使得 FreeBSD 系統最少的記憶體須求減少到 5MB。 其它的改進包括完整的 NIS cilent and server 功能支援, transaction TCP support、dial-on-demand PPP、整合的 DHCP 支援、 SCSI 子系統的改進、 ISDN 的支援,ATM、FDDI 以及乙太網路 (Ethernet、包括 100Mbit 和 Gigabit) 的支援,最新版本的 Adaptec 控制卡 驅動程式的改善以及數以百計的程式錯誤的更正。

我們也採用了來自於我們貼心的使用者所提供的看法和建議, 以及嘗試著提供更加合理且容易了解的安裝過程。 我們歡迎你對於這個逐漸演化的過程的任何建議!

除了最基本的系統軟體, 我們提供了一組上千個已經移植到 FreeBSD 的一般用途軟體。 在 2000 年十二月中旬,已經有超過 4000 個移植軟體了! 這些移植軟體中包括了從 http (WWW) 到電腦遊戲,程式語言,編輯軟體 等幾乎所有種類的軟體。 全部的移植軟體需要大約 50MB 的硬碟空間, 都只儲存與其原始程式碼有"變更"的部份。 這使的我們可以更容易的跟新這些移植軟體, 也大量的減少如舊的 1.0 版的移植軟體對於硬碟空間的需求。 要編譯一個移植軟體,你只需要進入該軟體的目錄, 輸入 make all,系統成功的完成編譯。之後再輸入 make install 這樣系統就會把軟體裝好。 完整的 port 原始碼可以在 FreeBSD 光碟片或是 ftp 站上找到, 你所需要的只是足夠的硬碟空間來編譯你要的 port 軟體。 幾乎每一個 port 都已事先被編譯成 "package", 如果你不想自己編譯這些軟你, 你可以用指令 pkg_add 來安裝這些軟體。

在你安裝以及始用 FreeBSD 的過程中,有許多有用的文件可以參考。 如果你安裝的是 FreeBSD 2.1 或更新的版本,你可以在 /usr/share/doc 找到許多文件。 你可以閱讀儲存在安裝好的 FreeBSD 上的 HTML 文件或是到下列網址:

你可以在下列網址找到其最新的版本 (也是更新最頻繁的版本) http://www.FreeBSD.org/.