歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix資訊

從Solaris到illumos

今天看了現任 Joyent 工程副總裁 Bryan Cantrill 的演講:Fork Yeah! The Rise and Development of illumos,講述 illumos 項目的來龍去脈,披露了不少關於 Sun 、 Oracle 以及開源社區的信息,據說 Cantrill 在做這個演講的時候,與會者很「動容」。而其中的陳年往事咀嚼起來很是值得思考。

首先說說這位 Bryan Cantrill ,「他曾榮登 MIT 《科技創業》35位35周歲以下頂尖技術專家榜,並被 InfoWorld 評為年度傑出創新家。在加盟 Joyent 團隊之前,Cantrill 是Sun公司的傑出工程師。他在Sun公司花了十多年的時間研究了系統軟件,包括從內核到浏覽器客戶端代碼,以及和內核相關的多種組件。最有名的便是 Cantrill 聯合設計並實現了DTrace。」(refer) 在 Oracle 收購 Sun 之後,Cantrill 於 2010 年 7 月離開的 Oracle,加入了 Joyent 。

在 Bryan Cantrill 的演講中,他先是從個人的角度回顧了一下「歷史」:從 SunOS 4.x 到 Solaris 的轉換過程中,有很多優秀的工程師離開,導致這個問題的主要原因是引入了不成熟的 SCM 工具,Network Software Environment (NSE) -- 可見,技術官僚的錯誤決定在哪裡都是極有破壞性的。NSE 的糟糕引來了工程師的「逆襲」,Larry McVoy 干脆開發了一套 NSE 輕量級的變種,NSElite。通過 NSElite 以及後來的 Teamware , Roger Faulkner、Tim Marsland、Joe Kowalski 以及 Jeff Bonwick 等人領導的 Solaris 2.3 項目基本達到了還可以的並行開發的效率,不過到了 Solaris 2.4 就無能為力了,質量再次滑坡。

Solaris 2.5 的開發則是背水一戰,只許成功,不許失敗。這個時候,Sun 有了新的硬件 UltraSPARC-I 。為確保開發質量,工程師們進行了「接管」: Jeff Bonwick 擔當起代碼看門人的角色,堅持「if it's broken, rip it out」的原則,確保了 Solaris 2.5 按時發布,並且確保了軟件質量。經此一役,工程師們再也不願意失去對操作系統開發上的控制。

到了 1990 年代中期,一個無法回避的論斷是 Unix 必將死於 Windows NT 之手,而令人無法相信的是,Sun 居然是唯一一家意圖對抗 Windows NT 的操作系統開發商。新一代「Bonwick Youth」的加入,天才們互相吸引,期待給操作系統帶來革新,就像當年的 Xerox PARC 實驗室那樣。到了 2001 年年中,新的激進的開發開始了,這些新的操作系統功能包括:DTrace、ZFS、Zones、FMA、SMF 等。這些激動人心的特性並非由市場或是管理層驅動,而完全是工程師的想法。

ZFS,號稱「終極文件系統」,首席設計師即為 Jeff Bonwick。

而這個時候,Linux 以及開源運動已經興起,對 Sun 不可能沒有沖擊,內部也在反思。但是出於知識產權方面的限制,討論了未有定論。2005 年,時任 CEO 的 Jonathan Schwartz 做出決定將操作系統開源,先是 Dtrace 開源,然後是 OpenSolaris ,時間是 2005 年 6 月。遺憾的是,有些小的但是至關重要的軟件則無法開源(比如有些驅動程序含有第三方知識產權),為此 Sun 制定了 CDDL 許可協議,不過與 GPL 不兼容。

2007 年開始,Sun 決定創建一個全新的基於 OpenSolaris 的發布,名字仍然叫做 OpenSolaris,接下來的幾年,Sun 與 OpenSolaris 管理委員會(OGB) 陷入了諸多摩擦,相互牽制。OpenSolaris 發展緩慢。

隨著 2009 年 Oracle 宣布收購 Sun,到 2010 年收購完成收購。OpenSolaris 的命運已經很清楚了:Oracle 對此毫無興趣。

Illumos Logo

2010 年的夏天,存儲廠商 Nexenta 的 Garrett D'Amore 在 Rich Lowe、Jason King 等人的幫助下,發起了 illumos 項目, D'Amore 等人針對版權限制的軟件,或是從頭寫代碼,或是從 BSD 系統移植,2010 年 8 月 3 日,illumos 正式可用。「Illumos」這個詞來自 Illuminare,也即拉丁語的 Illuminate,「照明、照亮」的意思,可謂深有用意。

illumos 項目的最終目標有兩個:一是使用開源代碼取代所有仍在 OpenSolaris 使用的專有代碼,二是圍繞之前的OpenSolaris 代碼庫建立一個獨立的社區。嚴格來說,並非 OpenSolaris 的分支項目。

2010 年 8 月 13 日,星期五,Oracle 內部洩露出來的郵件寫到「在企業版Solaris系統完整發布後,我們將會向得到許可的 CDDL 或其他開源授權發布更新。通過這種方式,技術創新將會首先出現在我們發布的版本中。我們將不再實時發布整個Solaris系統的源代碼。」

Oracle 的對待 OpenSolaris 的冷漠乃至不作為導致了 Solaris 團隊的大范圍流失,比如前文提到的 Jeff Bonwick 也在 2010年 9 月 30號 離職。在不到 90 天內,DTrace 團隊全部成員離開 Oracle,其他關鍵特性的開發人員亦紛紛離職。好消息是,這些離開的工程師全部加入了支持 illumos 項目的公司,比如 Nexenta、Joyent 、Delphix 等。關於 DTrace、ZFS 、Zones 等操作系統特性的創新將由 illumos 傳承,但不會再次出現在 Solaris 上。illumos 軟件庫將成為記錄操作系統技術危機的一個活標本。

從 Oracle 離開的 OpenSolaris 工程師們絕大多數活躍於 illumos 社區,給 ZFS 、DTrace、Zones 等帶來了更多激動人心的特性。基於 illumos 的發布包括 OpenIndian、SmartOS、illumian 等,這些發布版面向不同用戶群,互為補充,發展勢頭不錯。

但是,發展中的 illumos 項目依然矛盾重重,去年 LWN 雜志的一篇題為 Illumos: the successor to the OpenSolaris community 的文章揭示了開源社區的一些明爭暗斗。開發者 Stamos Tolias 抨擊 illumos 項目的「思維狹隘,ZFS中心獨裁以及大教堂式的開發模式」,並且企圖另建分支。Illumos 的發展被認為不夠開放,缺乏獨立性,而 Oracle 的潛在訴訟也正在威脅 illumos 的命運。誰都知道 Oracle 公司打官司的「威力」。

也正是因為 illumos 項目由幾家商業公司支持,暫時來看,怕是很難擺脫「大教堂」模式的開發弊病,而這引起了技術社區的批評。在這裡,只能期待這些支持 illumos 項目的商業公司不要短視。祝願 illumos 在將來能有更好的發展吧。

如諸君所見,illumos 項目寄托了一代技術精英的夢想。從 SunOS 到 Solaris ,從 OpenSolaris 再到 illumos ,期間發生的故事不知道有多少,關於 Sun 跌宕起伏的命運,關於技術權力抗爭、開源以及夢想的故事,或許將來能有人詳細如實的記錄下來,一定非常有借鑒意義。

Copyright © Linux教程網 All Rights Reserved