網路農夫 --  Home 網路農夫 --  Home
網路農夫 --  Home
wait.....

1-1-9 讓 UNIX 自由 -- Networking Release 2

自從 UNIX 走出貝爾實驗室後,研究機構與學術界就扮演了繼承與發展的雙重角色。在 1979 到 1984 年這段期間,UNIX 的擁有者 AT&T,對於學術界的授權政策尚可用『大方』來形容;同時也對學術界做某種程度的資助與合作。當時的學術界,得助於 AT&T 的大方授權與分享程式原始碼,研習 UNIX 這個分時作業系統開始在學術界蔚為一股風氣,甚至可以說是一種潮流,一種流行。其中,像柏克萊 BSD 對 UNIX 的貢獻,就是一個公開的事實。但早期的 BSD 使用者,是必需向 AT&T 支付授權金的。這點,從產業界資助學術界的角度來看是一點也不值得驚訝的。因為資金的援助為了就是取得其成果。所以當時基於 AT&T 原始碼所發展的成果,均歸屬 AT&T 所有。也因而 AT&T 掌控了 UNIX 的所有權。到了 1984 年以後,AT&T 開始更積極地保護 UNIX 的原始碼;AT&T 甚至還要求各大學的使用人員簽訂保密條約,想藉此防堵 UNIX 的原始碼從學術單位流出,以影響到商業利益。

 

在 DARPA 資助柏克萊從事 BSD OS 發展的過程中,誕生了 TCP/IP 這項廣泛影響現今電腦與網際網路的通訊協定。由於 DARPA 對於資助開發的軟體專案有明文規定接受資助者必須無條件地釋出程式的原始碼,所以 TCP/IP 的原始碼與程式的版權並不屬於 AT&T 所有。這點在現今看來其意義是不凡的。也正因為有此一條件,柏克萊的 CSRG(Computer System Research Group)因應 BSD Vendors 需求,在 1989 年 6 月發表了 Networking Release 1,她包含了 TCP/IP source code 以及一些工具,提供給當時正開始起步發展的個人電腦製造業者使用。Networking Release 1 授權收費僅 1000 美元,而且不需要 AT&T 的商業授權,取而代之的是柏克萊大學的開放式授權。

 

農夫我看柏克萊授權方式,幾乎可以說是一種良心式授權方式,在實質的運用上她完全沒有限制。她允許原始碼或執行檔在任何情況下修改並且允許將修改後的程式從事商業行為而無須任何回饋,當然也沒有絕對要求開發者必須要釋出原始碼。如果你改都不改地加以販售,她也沒有意見。但有一點不可違反的限制,就是必須在衍生物的版權聲明上提到柏克萊的貢獻。這種做法在日後,也沒有多少改變,而這樣的授權方式也成為了柏克萊的授權精神。

 

Keith Bostic由於 Networking Release 1 所得到的回應實在遠超過 CSRG 成員的預估,這個不算差的成果,讓柏克萊的 CSRG 覺得有必要釋出更多屬於BSD的程式原始碼。於是激發 CSRG 的成員 Keith Bostic 開始組織志願工作者從事一項就算不能夠驚天也足以動地的程式寫作計劃,計劃的主要目的在當時還真讓人感到有點烏扥邦,農夫我個人喜歡戲稱她為『解放 UNIX 計劃』。

 

Marshall Kirk McKusick這項計劃大體上分成兩個部分,作業系統工具(Utility)與核心(kernal)。而且參與人員必須在完全沒有參考 AT&T UNIX source code 的情況下進行撰寫程式的工作。因為只有在這種條件下,寫出來的程式碼,才能擺脫 AT&T 的著作權束縛。當然這也絕對不是一件容易的事。Keith Bostic 四處奔走,組織了超過四百名熱心的軟體工程師,經過了長達十八個月的奮戰之後,作業系統主要的工具與程式庫才算改寫完成。Marshall Kirk McKusick 負責改寫當時的核心程式。但系統核心的部分,由於長期以來柏克萊與 AT&T 一直就彼此分享 UNIX 原始碼,所以各自所加上去的程式碼早已混雜難分了。為了徹底的釐清雙方各自撰寫的部分,他們下決心進行逐行比對。首先花了好幾個月的時間,將核心程式每一行每一個檔案都建立轉換比對的資料庫。然後接著進行移除來自 AT&T 32V 的程式碼並改寫她們。即使是如此,仍舊有 6 個核心程式讓他們束手無策,因而無法將核心程式徹底完整地改寫。最後,他們還是決定將他們所做的所有成果發表。授權的方式沿用 Networking Release 1 的授權方式,授權的磁帶依舊是 1000 美金。這個版本就是 Networking Release 2,也有人稱她為 4.3BSD NET/2。發表的時間在 1991 年 6 月。雖然這是個不完整的作業系統。但,在今日看來,卻有著劃時代的意義 -- UNIX OS 自由了。

 

版本:Beta-2001-05 -- 網路農夫