« ANNOUNCE : Axis 1.2 RELEASE | Main | Apache Harmony : The good, the bad and the ugly »

Apache Harmony - J2SE 5 Project

Project Harmony


There is a clear need for an open-source version of Java 2, Standard
Edition (J2SE) runtime platform, and there are many ongoing efforts
to produce solutions (Kaffe, Classpath, etc). There are also efforts
that provide alternative approaches to execution of Java bytecode
(GCJ and IKVM). All of these efforts provide a diversity of
solutions, which is healthy, but barriers exist which prevent these
efforts from reaching a greater potential.


We propose that we create a new Apache project, Harmony, that will
achieve the following goals :

1) create a Compatible, independent implementation of J2SE 5
under the Apache License v2

2) create a community-developed modular runtime (VM and class library)
architecture to allow independent implementations to share runtime
components, and allow independent innovation in runtime components

In doing so, we intend to create a broad, collaborative community of
contributors, implementors and users of the modular platform

To begin, we propose the following as a basic architectural blueprint
as a starting point for our discussion :


We will create directly, via inclusion of independent third-party
code, or through contribution :

a) a freely implementable specification of a modular VM
and class library that allows for multiple, independent

b) a test suite for interoperability testing of the modules

c) an implementation under the Apache License of the modular VM

d) a class library under the Apache License compatible with
the J2SE 5 specification that implements the defined interfaces

We will start with this mechanism because we desire to :

- have a simple plan upon which coding can immediately begin

- ensure that we have a focal point to begin the conversation
among interested members of the community

- have a clearly defined set of technical needs to allow
potential contributors, either code contributors or
individual participants, a basis for consideration

- ensure that this is a community effort - together we will
architect and implement via fresh new code or donation

- produce a set of specifications/designs allowing multiple
interoperable implementations that allow for sharing,
extension and innovation

We propose that the following people are considered the starting
participants. This set represents members from across the community,
this diversity a factor we wish to start with and preserve as we grow.

These individuals have expressed an interest in participating in the
architecture and design work. The information in parenthesis
indicates other community participation or relevant experiences of
that individual :

Guy Churchward (individual w/ commercial VM experience)
Joakim Dahlstedt (individual w/ commercial VM experience)
Jeroen Frijters (IKVM)
Geir Magnusson Jr. (Apache)
Ricardo Morin (individual w/ commercial VM experience)
Georges Saab (individual w/ commercial VM experience)
Bruno Souza (SOUJava)
Davanum Srinivas (Apache)
Dalibor Topic (Kaffe)
Tom Tromey (GCJ)
Weldon Washburn (individual w/ commercial VM experience)
Mark Wielaard (Classpath)

and the following individuals have expressed interest in
participating as committers for the Apache-licensed implementation :

Jeroen Frijters (IKVM)
Ben Laurie (Apache)
Geir Magnusson Jr. (Apache)
Ricardo Morin (individual w/ commercial VM experience)
Bruno Souza (SOUJava)
Davanum Srinivas (Apache)
Dalibor Topic (Kaffe)
Tom Tromey (GCJ)
Weldon Washburn (individual w/ commercial VM experience)

These individuals will participate as Incubator Mentors :

Noel Bergman
Ben Laurie
Geir Magnusson Jr.
Stefano Mazzocchi
Sam Ruby
Leo Simons
Davanum Srinivas

The following Apache Members will be the sponsoring members :

Noel Bergman
Jason Hunter
Ben Laurie
Ted Leung
Geir Magnusson Jr.
Stefano Mazzocchi
Sam Ruby
Leo Simons
Davanum Srinivas

The following community members support this effort :

Danese Cooper
Brian Goetz
Doug Lea

Operating Considerations

0) We have established a list for discussions. Unless your comment
is directed to the general Incubator community or the Incubator PMC,
please post everything to :


You can subscribe by sending an email to


Until this proposal has been accepted by the Apache Incubator PMC,
these lists are provisional.

1) Due to the various known and unknown risk factors of this project,
we propose that in addition to the required Individual Contributor
License Agreement (ICLA) we shall require that any committer to
Harmony will have a Corporate Contributor License Agreement (CCLA),
when appropriate, on file with the ASF Secretary, and will keep that
document current with respect to current employer to preserve
committer status. We do this in order to help protect the community,
both contributors and users, from unauthorized incorporation of code
or other intellectual property.

2) Historically, there has been wide exposure to VM and class-library-
specific source code that is the property of Sun Microsystems as well
as others, as it is common for commercial J2SE implementations to be
based on licensed Sun code. We wish to make every effort to ensure
that the licenses and rights of external projects and efforts is
properly respected. To that end, we will explore additional ways to
work with the Apache Incubator to ensure that all IP is carefully
monitored and tracked as it enters the project.


TrackBack URL for this entry:

Post a comment