最近,在Apache Harmony的PMC内部发起了一项名为“Move Apache Harmony to the Attic”的投票,结果以20比2的绝对票数通过该项动议。这意味着,作为Apache开源Java实现的Harmony项目已经正式终结,将迁移到Apache Attic上。
Apache Harmony是Apache软件基金会主导的Java开源实现项目。根据Harmony自己介绍,该项目有两个目标:一是构建一个完全兼容的开源的JSE实现;另一个是建立一个由社区开发的模块化的运行时(包括java虚拟机和类库)体系结构。
Apache Harmony项目起初的主要倡导者是IBM,在该项目最初希望创建一个自由许可的JDK版本上发挥了重大作用。2007年,IBM即宣布在其 JDK6.0中使用了部分Haromny代码,IBM还让其多个开发团队积极参与Harmony项目。此外,在Google Android系统的Dalvik虚拟机中也使用了Harmony的类库。
Harmony是Java的开源实现,但由于许可上的纠纷,Harmony项目永远不可能自称为Java VM或是Java核心语言库的实现。Harmony项目也一直在努力争取获得JCP(Java Community Process)的授权。但是,由于Sun公司的态度,JCP仅仅允许授权给Harmony一个带有限制条件的TCK,即仅仅能使用在J2SE,而不是所 有Java实现上(包括J2ME和J2EE)。两者之间自始发生冲突。当Oracle掌权Java后,这一冲突继续延续。
由于不满Oracle限制第三方使用TCK演示Java实现与标准的兼容性,2010年12月,Apache软件基金会宣布退出JCP。而同年10月,IBM加入OpenJDK,宣布与Oracle一道来推动Java发展,并将主要开发精力从Apache Harmony转移到OpenJDK上。Harmony项目的参与量日渐减少。
2011年3月,长期以来担任Harmony项目PMC主 席的Tim Ellison宣布辞职,在辞职信中他曾写道,“我认为将Harmony迁至Apache Attic还为时尚早”。不过显然,这一时刻已经来了。