OpenSolaris

OpenSolaris

OpenSolaris是一個由Sun Microsystems所發起的開放源代碼的項目,用來建立以Solaris作業系統為主的開發者社區,專案的適用對象主要是開發者(也就是軟體設計師、程序員)、系統管理者(資訊管理師、資管師、資管員)以及使用者(用戶),通過這些用戶期望能使Solaris獲得進一步的發展與強化。

簡介


OpenSolaris
OpenSolaris
OpenSolaris是Sun Microsystems創建的一個開源項目,其目的是建立一個圍繞Solaris操作系統相關技術的開發者社區。該項目針對的對象包括致力於開發和改進Solaris操作系統的開發人員,系統管理員和最終用戶。已有11,000多人註冊成為OpenSolaris.org的社區成員,其中9,900以上不是Sun公司的僱員。整個社區的核心價值 -- 開放,包容,尊重,誠實,品質,獨立 -- 都在社區和其領導者的言行以及如何引導社區發展技術的過程中得以體現。一個活躍的OpenSolaris User Group community正在世界範圍內蓬勃發展,opensolaris.org上已經湧現出眾多的OpenSolaris技術社區和項目。
此開放原碼專案已有超過12,000人上此項目的官方網站OpenSolaris.org並註冊成為社區會員,其中有超過11,000名會員都不是Sun Microsystems的員工(表示不是強迫自己公司同仁去充量註冊才造就為數眾多的會員),由此可知OpenSolaris的用戶社區(User Group Community)相當活躍,且仍在持續成長中,有愈來愈多來自全球各地的人加入響應。此外在官方網站上也有12個OpenSolaris的技術社區與項目已發起並正在進展。
Solaris源碼的開放是一個漸進的過程。首先公開的源代碼的是Solaris的動態跟蹤工具包(即DTrace),這是一個幫助系統管理員和開發者優化系統性能和利用率的跟蹤工具。DTrace代碼在2005年1月25日首先發布,一同亮相的還有opensolaris.org網站的雛形。同時,Sun公司宣布OpenSolaris的代碼將在CDDL (Common Development and Distribution License)許可下發布,並將成立一個社區指導小組( Community Advisory Board,簡稱CAB). 2005年6月14日,Solaris系統主體核心源代碼發布,少量代碼由於涉及到第三方的知識產權問題沒有公開,只以二進位的方式提供。OpenSolaris的源代碼事實上就是最新的正在開發過程中的Solaris源代碼。

歷史


實際上,OpenSolaris的計劃是從2004年初開始。一個受過多種訓練所組成的團隊從各種角度來考量此一專案:授權方式、商業模型、管理方式、協同開發程序、原始程式碼分析、原始程式碼管理、工具、市場行銷、網站應用設計,以及社群發展等。到了 2004年9月,由18位非昇陽電腦的社群成員共同成立了先期發展計畫(Program),之後參與人數逐漸增加,經過9個月的試行,外部共同參與者已達 145名。
接著,Solaris原始程式碼的開放程序逐漸加快,第一個開放(也稱:釋出)的部分是 Solaris的Dynamic Tracing Toolkit(動態追蹤工具套件,一般也稱為DTrace),這個追蹤工具可以協助程序員及資管師對系統(指電腦)進行以效能為取向或資源利用率為取向的最佳化調整。
DTrace已於2005年1月開放,同時昇陽也完成OpenSolaris.org網站的第一階段建置,並宣布OpenSolaris的原碼將依據CDDL(Common Development and Distribution License)授權方式來開放,同時打算成立社群指導委員會(Community Advisory Board,簡稱:CAB)。
到了開放當天(2005年6月14日)有大量的Solaris作業系統的原始程式碼被公開釋出,不過仍有部分不公開,而只提供二進位的執行程式碼,未公開的原因據說是這些程式的原碼涉及協力業者(也稱:第三方業者)的智慧財產權(簡稱:智財權),所以昇陽電腦方面也無權公開。至於釋出的OpenSolaris原碼,幾乎與正在使用與研發中的Solaris原碼相同。
到了2005年4月4日,昇陽電腦宣布了五名CAB的成員,其中兩名從先期計畫的社群中推選而來,另有兩名由昇陽公司指派,另一名則由昇陽公司自廣大開放原碼社群中選定。2005年、2006年間OpenSolaris的CAB成員有:Roy Fielding、Al Hopper、Rich Teer、Casper Dik,以及Simon Phipps。
2006年2月10日昇陽電腦簽署了OpenSolaris的章節,正式將 OpenSolaris社群推升成一個獨立團體,並由OpenSolaris管理委員會(OpenSolaris Governing Board,簡稱:OGB)來負責(詳見Sun的Blog),而首任的OGB人員也來自於之前的CAB,他們的工作是建立及確認OpenSolaris社群的管理,且這樣的階段性工作任務於2006年6月30日告結。工作的內容包括建立管理文件或“規章”,如今這些都已經進入程序(意思是:步上軌道了)。此後管理工作團隊(Governance Working Group)將由OGB與三名受邀者所共同組成,這三名受邀人士分別是:Stephen Hahn、Keith Wesolowski(昇陽電腦內Solaris單位的程序員),以及Ben ROCKWOOD(在OpenSolaris社群中表現卓越傑出的一員)。

授權方式


昇陽電腦已將Solaris的多數原碼以Common Development and Distribution License(CDDL,共有開發及散布授權)授權方式來開放,CCDL授權是以Mozilla Public License(MPL,Mozilla公共許可授權)1.1版為基礎所研擬成的新授權許可方式,所以CDDL與MPL相同,兩者都與普及的GNU General Public License(GPL,通用公共許可授權)不相容(或說:不兼容)。不過CDDL確實是屬於“開放原碼(源代碼)且可自由授權”的一類。CDDL是由昇陽公司所提創,之後將提案送交給開放原碼促進會(Open Source Initiative,OSI)審核,並在審議獲得通過(2005年1月)核准的一種新開放原碼授權法。關於“自由軟體授權”的定義,則以自由軟體基金會(Free Software Foundation,FSF)的敘述為依據。
此外要提醒的是,關於MPL授權法,自由軟體基金會也表示:"... So, a module covered by the GPL and a module covered by the CDDL cannot legally be linked together. We urge you not to use the CDDL for this reason." (詳見此)。意思是:若有一個軟體模組採行了GPL授權那麼就不能採行CDDL授權的軟體模組進行連結(link),若執意交混使用此兩種不同授權的軟體模組,則自由軟體基金會將對此向您發出抗議。
另外,Mozilla Application Suite(也稱:Mozilla Suite)及Mozilla Firefox已經改變他們的授權方式,允許使用者在在三種授權方式中任選其一:MPL、LGPL及GPL。

批評與非議


對昇陽電腦發起與推行Solaris的原碼開放(OpenSolaris),Linux的發創人:林納斯·托瓦茲在2004年12月22日接受CNET新聞網(CNET news.com)專訪時曾如此表示:沒人要用殘缺版的東西(指Solaris),另外我確信他們得花很多時間才能建立起具規模的社群。
同時他也指出OpenSolaris在裝置驅動程式(Device Driver,也簡稱:驅動程式、驅動程序)的支援上將是個問題,他認為OpenSolaris的社群在此方面的嘗試與努力將是個大磨難。關於此他說:如果您認為Linux的支援驅動程式不夠多,那您應該去試試x86版的Solaris。言下之意是:Solaris雖與Linux一樣都能在x86硬體上執行,但在驅動程式方面的支援上(Open)Solaris仍遠不及Linux。
不過,數個月後Tovalds的立場態度有些軟化,他在2005年2月的企業Linux峰會(Enterprise Linux Summit)時,對於軟體開發專案的許可授權方面認為CDDL有其未來性:
CDDL可就不同,以此方式授權軟體開發工作將可更良善,此外有許多人仍喜愛Solaris(假意的說法)。不過我仍會積極與他們(OpenSolaris社群)競爭,所以我希望他們掛去。

發行版


* SchilliX,Live CD型態的OpenSolaris
* Belenix,Live CD型態的OpenSolaris(Belenix網站)
* marTux,Live CD型態、Live DVD型態的OpenSolaris(第一個以支援SPARC硬體架構平台所發行、發布、散布的OpenSolaris)
* Nexenta,一個以Debian為基礎的發行版本,結合了GNU軟體及Solaris的SunOS核心。
* Polaris,將OpenSolaris的原始程式碼,以支援PowerPC硬體(也稱:硬體)架構平台來進行調整、修改,並重新編譯(Recompile)而成的OpenSolaris,簡單而言即是轉移、改寫(port)出一套供PowerPC硬體執行的OpenSolaris,而其名稱:Polaris即是將PowerPC的首字母“P”,再加上Solaris的“olaris”而成,不過Polaris在英文也是“北極星”的意思,然這只是巧合,如同培基程式語言:BASIC其實是五個字詞的首字母縮寫而成,並非原意就想取名為“基礎程式語言”。(Polaris網站)
* Portaris,一個非正式、非官方的移植改寫(port),將Gentoo的Portage轉移改寫到OpenSolaris上,2006年4月時仍處在外部測試(beta)階段。