I was wondering, why do we (Java community) need Apache Harmony project, while there is already an OpenJDK project. Isn’t both are released under open source license?
I was wondering, why do we (Java community) need Apache Harmony project, while there
Share
It is the other way around. Harmony was formed BECAUSE Sun didn’t want to provide an open sourced version and got big code donations from IBM and others (HP if I recall correctly) while building on GNU Classpath.
Around the time Harmony got "good enough" Sun decided to put their implementation under the GPL under the name of OpenJDK.
These days, Harmony provides an important alternative to OpenJDK as they are under the Apache license instead of the GPL. They haven’t, however, passed the TCK-test to certify that they are compatible so it is not an official Java implementation.
EDIT: I believe also that Google built much of the Android stack on Harmony to avoid using code copyrighted by Sun (now Oracle).
EDIT: And since then IBM (according to rumors) got a perpetual Java license, and gave up on the Harmony project, which then almost instantly died.
2021 EDIT: Oracle has now chosen to change to a model where OpenJDK is the official development version, and Oracle Java is just one of now many distributions (where support can be licensed) one of which is https://adoptopenjdk.net/ which provides binaries both with the Oracle HotSpot JVM as well as the IBM j9 JVM.