漫談Java開源5年:自由但帶著枷鎖
Java為何采用GPL
被稱為“Java 之父”的James Gosling曾表示采用GPL許可證開源Java,是為了讓開發者獲得更多免費的代碼。
“簡單的說,它運行的很好。”Gosling說,“Java的發展遠比我兩年前預想的要快的多。”
2006年11月13日,迫于外界的長期壓力,在大家的一致許可下,Java終于開源了。Sun在基于GPL許可協議下推出了Java HotSpot虛擬機和編譯器。在隨后的第二年Sun又發布了Class library的源代碼,同樣采用了此協議。
在開源社區,許可協議代表著一種契約,一種法律,一種政治。據Black Duck的統計表明,目前全球開源項目中有超過半數使用了GNU GPL許可協議。
Gosling表示:“選擇GPL和現有Java市場的規模使得出現多種不兼容的Java版本的可能性大大降低了。GPL具有強制性,通過讓所有業界創新成為可共享,會促使各種版本保持兼容。”
基于GPL協議發布OpenJDK
兩年后,Java在基于GPL許可證下發布了由Sun領導的***個版本OpenJDK項目,該版本可以交付使用自由和開放源代碼的一個Java開發套件。OpenJDK是一個主要致力于Java語言研究的開源項目,OpenJDK是Sun為著名的Java平臺構建的Java開發環境的開源版本,完全自由,開放源碼。而OpenJDK將會把這些資源和技術開放給開發者。
Sun的這一宣布是GPL許可下的***源代碼貢獻之一(GNU/Linux操作系統也是在GPL許可下發布的),也是業內最重大的、應用最廣泛的軟件平臺的開源舉措之一。
毫無疑問,Java采用GPL打擊了相當一部分廠商,但同時會獲得FOSS(免費與自由軟件社區)相當的好感。最顯著的一點改變就是,現在在任何Linux發布版中都可以包含Java代碼了,而在此之前,只有采用GPL的perl/python才可以。
Oracle收購Sun 大力發展OpenJDK
在2006年的JavaOne大會上Sun曾提出要開放Java語言源代碼,于2009年4月15日正式推出了OpenJDK。同年,2009年4月,Oracle斥資74億美元收購Sun,同時也獲得了Java技術。自Oracle收購Sun之后,OpenJDK歸Oracle管理。Oracle公司創始人Larry Ellison稱在Java發展藍圖中一直將OpenJDK視為核心發展項目。此后,OpenJDK獲得了頗具影響力的IBM和蘋果兩大平臺的支持。而有了這三大平臺的支持,勢必為OpenJDK的發展駐足馬力。
OpenJDK是開源的,當然也有盈利,有一點毋庸置疑的是,有那么多Java開發人員和社區做支持,Java至少會比掌控在Sun一家手里發展的更快。
在2007年之前,Sun頂著巨大壓力被迫開源Java。以IBM公司尤為突出,作為Sun的競爭對手,IBM公司的軟件系統在Java中間件中占據著巨大的市場份額。IBM曾發表了一份聲明:“建議Java走一條Apache之路,應當將Java的控制權交給Apache軟件基金會”。
此前,Java大部分是基于SCSL(Sun Community Source License )開源。SCSL是一個開源協議,試圖與官方標準相兼容同時也能確保Sun通過其他方式獲得盈利下。但使用該協議,大部份廠商并不滿意,Sun被迫做出改變。
2005年Sun旗艦級軟件產品Solaris是基于CDDL(Community Development and Distribution License)協議下開源的)。OpenSolaris是Sun發展史中的里程碑,也是Solaris社團和更廣泛的開放源社團的技術基礎。
作為FOSS(Free and Open Source Software自由及開源軟件)的主要貢獻者,Sun對Java開源社區發出了信號,一些公司稱,相比較JCP (Java Community Process)委員會,他們對Java開源沒有任何計劃。此時,Java開源一事受到業界的質疑,JCP的主管Onno Kluyt在2004年曾被問道:“你是如何看待Java開源的?能做到永遠開源嗎?”
Sun董事會主席及聯合創始人Scott McNealy在2004年提出了“開源模式”,Gosling稱并不是所有人都反對Java開源。2002年Java提出開源,2003年Java快速發展使這一爭論打破僵局。
編后語
開放Java的源代碼是多年來Sun內部爭論和外界呼吁的“產物”。過去,Sun一起拒絕開放Java的源代碼,理由是這可能會使市場上出現多個不兼容的Java版本。起初這一呼聲來自于開源社區的部分擁護者。作為OSI(Open Source Initiative)主席、《大教堂和市集》的作者Eric Raymond先生曾呼吁Sun公司將Java編程語言開源,不然這會損害Sun的長期利益,因為這種做法限制了開源社區對Java語言的廣泛接受,以至于讓其他腳本編程語言(如Python和Perl)對Java領域的不斷蠶食。
這么些年來,Java的成長與壯大離不開Gosling的功勞,隨著Sun被甲骨文收購,很多人對Java的命運很是擔憂。(夏夢竹/編譯)
英文出自:http://www.theregister.co.uk/2011/11/13/open_sourcing_java_five_year_anniversary/
原文鏈接:http://sd.csdn.net/a/20111201/308394.html
【編輯推薦】