Apache Harmony

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Apache Harmony
開發者Apache Software Foundation
源代碼庫 編輯維基數據鏈接
編程語言C++ and Java
操作系統Windows and Linux
類型Java Virtual Machine and Java 類庫
許可協議Apache許可證2.0
網站http://harmony.apache.org

Apache HarmonyApache軟件基金會主導的開放原始碼專案,是自由Java實作計劃(Free Java implementations)的一部份。基於Java SE 5與6,目標是以開放原始碼方式,實作出Java SDK。該項目已於2011年10月宣布停止開發。

這個項目的目標是營造一個大型的、健康的社區,這個社區由那些對運行時平台感興趣的人組成。他們的任務是完成:

  1. 一個兼容的、獨立的Java SE 5 JDK的實現,並根據Apache License v2發布;
  2. 一個由社區開發的模塊化的運行時(包括Java虛擬機類庫)體系結構。

該項目期望支持儘可能多的不同平台。一個特定的平台是否被支持,主要取決於參與者能在這個平台上定期運行測試、報告編譯安裝的情況,以及為該平台除蟲,等等。

歷史

Apache Harmony項目建立於2005年5月。到2006年10月25日,Apache董事會投票決定Apache Harmony成為頂級項目。10月29日,Apache孵化器管理委員會(Incubator PMC)投票決定Harmony完成孵化,認為它符合孵化器對社區管理和IP監管的要求。

開發者

Apache Harmony擁有32名貢獻者,其中28位處於活躍期。此外,還擁有大量的其他興趣愛好者和開發人員。

最近發展

Apache Harmony一直在穩步前進:

  1. Apache Harmony已經發布了5個milestone build
  2. JRE可以運行一些流行的應用如Apache Tomcat, Eclipse, Maven, Derby, Ant
  3. 完成了99%的Java 5 API
  4. 超過125萬行的代碼
  5. Harmony類庫於2007年底被Google Android採用為其類庫
  6. 2007年,IBM宣布在其JDK6.0中使用了部分Harmony代碼

Android

Dalvik虛擬機, Google Android平台所使用的虛擬機,使用了Harmony部份的子集,作為它核心的類別函式庫。

TCK的紛爭

如果需要成為一個帶有Java logo標誌的,可以聲稱自己兼容Sun公司實現的JDK,需要通過JCP(Java Community Process)對其擁有的TCK(Technology Compatibility Kit)的測試。Apache Harmony項目一直在努力爭取獲得JCP的授權。

但是,由於Sun公司的態度,JCP並沒有給Harmony授予TCK許可,而且SUN發布OpenJDK之後,還規定只有衍生自OpenJDK的採用GPL協議的開源實現才能運行OpenJDK的TCK[2]

但Apache的Harmony是Apache協議的,與OpenJDK的GPLv2協議不兼容,Apache董事會和Harmony項目工作人員堅決反對這種帶有條件的授權,認為這種是在開源社區里不可接受的。因此,兩者談判破裂。直到現在,Harmony一直沒有獲得TCK的授權。有批評稱,Sun無視它簽署的JCP法律協定,這摧毀了全部的信任。[3]

但該項目參與者依然認為,即使沒有TCK,即無法「聲稱」自己兼容Sun的實現,他們依然可以做出一個好的產品並為業界所接受。

未來展望

Apache Harmony計劃每2個月做一個milestone的build,並計劃於今年正式發布一個5.0(即期望與Sun jdk 5.0兼容的)的發布版。

參考文獻

  1. ^ The end of (Apache) Harmony. The H. 4 November 2011 [2013-06-23]. (原始內容存檔於2013-07-05). 
  2. ^ OPENJDK COMMUNITY TCK LICENSE AGREEMENT V 1.1 (PDF). [2012-06-02]. (原始內容存檔 (PDF)於2012-08-26). 
  3. ^ 争论:JCP在Java的未来中将扮演什么角色?. [2008-04-14]. (原始內容存檔於2008-02-20). 

外部連結