« September 2006 | Main | January 2007 »

October 12, 2006

Apache Harmony

In the middle of 2005, the Apache Harmony project was started in the Apache Incubator, amidst a flurry of discussion and speculation.

Simply put, Harmony wants to build a Java JVM, a faster and more modular drop in replacement for the existing JVM's released by Sun, IBM and BEA.

Following the announcement of the project's beginnings, what followed was one of the most intense discussions on any open source project ever, and questions were raised as to whether it was all just talk, and no actual code. Slowly the noise died down, and Harmony plodded on.

Earlier today, I attended a talk by Geir Magnussen at ApacheCon 2006 where a summary was given of the project so far, and to be honest I am blown away.

Since the official launch in May of 2005, major sections of the JVM are nearing completion, in some cases with more than a single modular implementation of a component. Donations of both code and test cases from IBM and Intel, as well as contributions from many individuals has seen progress jump in leaps and bounds. The commit list sees almost 2000 commits per month.

Harmony runs Apache Tomcat and Eclipse, no mean feat.

The most impressive is the JAPI class libraries completeness test hosted here, which shows at this writing that 94% of the class libraries are complete.

The importance of the Harmony project and its place in the Java universe is probably under appreciated by most people in it. For the first time, a JVM will exist that can be ported to any platform, including embedded or future platforms, without the buyin of a major (and possibly competing) vendor. And in addition, Java can become as ubiquitous on platforms like Linux and FreeBSD as perl is today, without the need to navigate the legal minefield of the distribution licenses of the existing JVMs.

Despite the fact that Harmony has yet to graduate from the incubator, Harmony looks to be well on its way to becoming one of the ASF's key projects.