以開發開放源碼 Java 實作為目標的 Apache Harmony,已經被分派至 Apache Attic,進到該處的都是停止開發的專案。日前在 Harmony 郵件列表上,公佈了 Harmony 專案管理委員會 (project management committee) 的投票結果,在 20 比 2 的多數決之下,該專案的程式碼庫將被保存於 Attic。
Harmony 是 Apache 軟體基金會 (Apache Software Foundation, ASF) 為了發展出採取 Apache 授權的相容、獨立 Java Standard Edition 實作,所做出的努力。自 2005 年發起後,該專案聚焦於創造由社群開發的模組化虛擬機器和類別程式庫架構,以允許獨立實作共享執行時期元件,並在其上進行獨立創新。
Apache Harmony 的主要贊助者是 IBM,最初的訴求是開發許可式授權版本的 Java 開發套件 (Java Development Kit)。然而,在 2010 年 10 月,IBM 宣佈與 Oracle 一起支持 OpenJDK 專案,並且將開發工作從 Apache Harmony 轉向 OpenJDK。Forrester 分析師 John R. Rymer 曾表示,IBM 此舉已經宣告了 Harmony 的結束。
外界普遍認為,既然主要贊助者 IBM 已經轉而支持 OpenJDK ,Harmony 也不再有開發動作,關閉該專案只是反映其現有狀態。
從 2006 年開始,Harmony 專案因為無法自 Sun Microsystems 取得測試相容性套件 (Technology Compatibility Kit,TCK),與該公司發生衝突。TCK for Java 採取封閉且限制性的授權,不允許用戶測試可在一般用途電腦以外之裝置執行的 Java 實作。在沒有 TCK 授權的情況下,Harmony 無法針對 Java 標準進行測試與認證。
到了 2010 年 12 月,儘管 Sun 有了新擁有者 Oracle,此一爭議卻未獲得解決。最後 Apache 軟體基金會更在 Java Community Process 執行委員會投票通過該基金會反對的 Java SE 7 時,決定退出該執行委員會。
Harmony 的參與日漸減少,今年 3 月其專案管理委員會主席 Tim Ellison 下台時曾表示,要讓該專案進入 Apache Attic 時間還太早。不過,顯然現在時間已經到了。儘管如此,進入 Apache Attic 並不表示專案就一定到此結束,有些專案在退役後仍然持續存在,例如 iBatis 變成了 Google Code 上的 MyBatis。
專案分支是離開 Apache Attic 的三種方式之一,其他兩種則是回到 Apache Incubator 或為專案重新成立專案管理委員會。
鑑於 OpenJDK 在 Oracle、IBM、Apple、Twitter 等公司支持下,已經是正式的 Java SE 7 參考實作,Harmony 退役也意味著整個社群能集中力量在單一的開放源碼 Java 實作上。
此外,Apache Lucene 與 Solr 專案提交者與專案管理委員會成員之一的 Uwe Schindler 表示,Google 的回應值得觀察,畢竟該公司在 Android 上使用了部份的類別程式庫。至於他的 Apache Lucene 專案也在內部程序用到了從該程式庫分支出來的部份程式碼。因此,該專案仍然是 JDK 若干演算法開放源碼實作的良好來源,儘管整個專案不幸要告一段落。