Lably
Skip to content

Apache Harmony

Java programming language Open source implementation

  • 7 min read
  • 4 chapters

Related on Lably

Through Open-source software, Java (software platform) and Google

On October 29, 2011 a vote was started by the project lead Tim Ellison whether to retire the project. The outcome was 20 to 2 in favor, and the project was retired on November 16, 2011.

History

Initiation

The Harmony project was initially conceived as an effort to unite all developers of the free Java implementations. Many developers expected that it would be the project above the GNU, Apache and other communities. GNU developers were invited into and participated during the initial, preparatory planning. Apache then decided not to use code from GNU Classpath because it wanted Harmony to be available under the Apache License v2. Apache developers would then write the needed classes from scratch and expect necessary large code donations from software companies. Various misunderstandings at the start of the project, and proposals from major companies like IBM to donate large amounts of existing code, led some people in the free Java community to view the project as a corporate consortium than an Apache project.

One major point of incompatibility between the GNU Classpath and Apache Harmony projects was their incompatible licenses: Classpath's GNU General Public License with the linking exception versus Harmony's Apache License.

Difficulties to obtain a TCK license from Sun

On April 10, 2007, the Apache Software Foundation sent an open letter to Sun Microsystems CEO, Jonathan Schwartz regarding their inability to acquire an acceptable license for the Java SE 5 Technology Compatibility Kit (TCK), a test kit needed by the project to demonstrate compatibility with the Java SE 5 specification, as needed by the Sun specification license for Java SE 5. What makes the license unacceptable for ASF is the fact that it imposes rights restrictions through limits on the "field of use" available to users of Harmony, not compliant with the Java Community Process rules.

Sun answered on a company blog that it intended to create an open source implementation of the Java platform under GPL, including the TCK, but that their priority was to make the Java Platform accessible to the Linux community under GPL as quickly as possible.

This answer triggered some reactions, either criticizing Sun for not responding "in a sufficiently open manner" to an open letter, or rather Apache Software Foundation; some think that ASF acted unwisely to aggressively demand something they could have obtained with more diplomacy from Sun, especially considering the timescale of the opening class library.

Sun released the OpenJDK in May 2007, along with a specific license to allow to run the TCK in the OpenJDK context for any GPL implementation deriving substantially from OpenJDK. This does not cover Apache Harmony, which is not GPL-licensed. On December 9, 2010, the Apache Software Foundation resigned from the Java Community Process Executive Committee, in protest over the difficulty in obtaining a license acceptable to Apache for use with the Harmony project.

Use in Android SDK

The virtual machine that is used in Google's Android platform (Dalvik up to version 4.4, and its successor, Android Runtime (ART)) uses a subset of Harmony for the core of its Class Library. However, Dalvik does not align to Java SE nor Java ME Class Library profiles (for example J2ME classes, AWT and Swing are not supported).

Android 7.0 "Nougat" replaced Harmony with OpenJDK.

End of the project

On October 11, 2010, IBM, by far the biggest participant in the project, decided to join Oracle on the OpenJDK project, effectively shifting its efforts from Harmony to the Oracle reference implementation. Bob Sutor, IBM's head of Linux and open source, blogged that "IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK". In March 2011, IBM's Tim Ellison announced that he resigned as Project Management Chair for Harmony After IBM's disengagement, the project's activity level greatly declined.

On October 29, 2011, a poll was started on the harmony-dev mailing list by the project lead Tim Ellison whether to retire the project. The outcome on November 3, was 20 to 2 in favor of retirement. On November 16, 2011, the Apache Software Foundation board of directors passed a motion to terminate the project. One director, Larry Rosen, cast a "no" vote, based on the timing rather than the merits of the proposal; it was otherwise unanimous. The project was retired on November 16, 2011.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication