Apache Harmony seeks to create an open source (Apache licensed) implementation of the J2SE 5 specification. The current state of the project runs on both Windows and Linux, with more than 95% of the Java 5 API implemented and able to run common programs like Tomcat and Eclipse.
Harmony's point of contention is the presence of "field of use" restrictions in the JCK license:
A "field of use" restriction is a restriction that limits how a user can use a given piece of software, either directly or indirectly. To give a concrete example from the Sun / Apache dispute, if Apache accepted Sun's terms, then users of a standard, tested build of Apache Harmony for Linux on a standard general purpose x86-based computer (for example, a Dell desktop) would be prevented from freely using that software and that hardware in any application where the computer was placed in an enclosed cabinet, like an information kiosk at a shopping mall, or an X-ray machine at an airport.InfoQ was unable to obtain a copy of the JCK license for direct review, but in an interview with Magnusson, confirmed that "field of use" restrictions were the Harmony project's only issue. To clarify the flavor of those restrictions, he wrote:
I think if you read Sun's [JDK license] carefully, they do have a restrictive FOU:Sun appears to have been surprised at Harmony's announcement and posted a preliminary response: "Sun has only just received this letter and since Sun had previously considered this matter private, we need some time to consider it before we provide a more detailed response."
http://java.sun.com/javase/6/jdk-6u1-license.txt
For example [from paragraph 1]: "Programs" mean Java applets and applications intended to run on the Java Platform, Standard Edition (Java SE) on Java-enabled general purpose desktop computers and servers.
(Notice that technically speaking, you can't run this on a laptop. Clearly this is an oversight.)
Response in the community has been mixed, with a larger portion of support falling in Harmony's camp. Sam Ruby was supportive of Harmony and wrote:
I sincerely hope that Jonathan quickly intervenes as he is in a unique position to assess the trade-off between the short term benefits in the credit column against the intangible costs in the debit column of (1) actively destroying the community that Sun has taken so much time and effort to foster, (2) mortgaging the future of Java, and (3) undermining Sun’s own open standards efforts.In contrast, Tom Ball felt that this was a marketing ploy on Harmony's part:
This request/ultimatum seems to have come out of left field. Is Apache Harmony so close to completion that it's ready to officially pass the JCK? Not according to its project page, which states it has 95% of the Java API complete but not necessarily compatible. Now, 95% of the Java platform is a big milestone for which the Apache Harmony engineers deserve a lot of credit for their hard work, but how useful would several thousand JCK errors be to them at this point in the project cycle?
I just looked at my calendar and noticed that thirty days from today is smack in the middle of JavaOne, two days after Jonathan Schwartz's keynote. Mystery solved! This isn't about the Apache Harmony team's ability to work effectively -- it's instead a classic JavaOne slimy marketing ploy Java engineers have to endure each year. With the JavaOne schedule moved up I guess the mud had to start being thrown sooner.