| 此條目需要更新。 (2013年6月) 請更新本文以反映近況和新增内容。完成修改後請移除本模板。 |
Apache Harmony是Apache軟件基金會主導的開放原始碼專案,是自由Java實作計劃(Free Java implementations)的一部份。基於Java SE 5與6,目標是以開放原始碼方式,實作出Java SDK。该项目已于2011年10月宣布停止开发。
这个项目的目标是营造一个大型的、健康的社区,这个社区由那些对运行时平台感兴趣的人组成。他们的任务是完成:
- 一个兼容的、独立的Java SE 5 JDK的实现,并根据Apache License v2发布;
- 一个由社区开发的模块化的运行时(包括Java虚拟机和类库)体系结构。
该项目期望支持尽可能多的不同平台。一个特定的平台是否被支持,主要取决于参与者能在这个平台上定期运行测试、报告编译安装的情况,以及为该平台除虫,等等。
历史
Apache Harmony项目建立于2005年5月。到2006年10月25日,Apache董事会投票决定Apache Harmony成为顶级项目。10月29日,Apache孵化器管理委员会(Incubator PMC)投票决定Harmony完成孵化,认为它符合孵化器对社区管理和IP监管的要求。
开发者
Apache Harmony拥有32名贡献者,其中28位处于活跃期。此外,还拥有大量的其他兴趣爱好者和开发人员。
最近发展
Apache Harmony一直在稳步前进:
- Apache Harmony已经发布了5个milestone build
- JRE可以运行一些流行的应用如Apache Tomcat, Eclipse, Maven, Derby, Ant
- 完成了99%的Java 5 API
- 超过125万行的代码
- Harmony类库于2007年底被Google Android采用为其类库
- 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兼容的)的发布版。
参考文献
外部链接