跳至內容

Apache Harmony

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Apache Harmony
開發者Apache Software Foundation
目前版本5.0M15
6.0M3(2010年9月15日,​14年前​(2010-09-15
原始碼庫 編輯維基數據連結
程式語言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). 

外部連結