Apache Software Foundation Proposes Open-source Version of J2SE

The Apache Software Foundation yesterday said it is proposing to create a new project called Harmony that will lead to the development of an open-source version of Java 2, Standard Edition (J2SE) runtime platform.

According to Geir Magnusson Jr., who chairs Apache’s Jakarta Project, the goals of Harmony will be to create a compatible, independent implementation of J2SE 5 under the Apache License v2; 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; and to create a broad, collaborative community of contributors, implementers and users of the modular platform specification.

In the proposal, the project’s incubators also say Harmony will include a test suite for interoperability testing of the modules, an implementation under the Apache License of the modular VM and a class library under the Apache License compatible with the J2SE 5 specification that implements the defined interfaces.

Sun has declined to release the source code for J2SE under an open-source license. In a related FAQ, Magnusson says the project is not an attack on Sun: “Sun has been a longtime supporter of Apache and Apache projects, and Apache has a wide variety of projects that are implementations of Java specifications, such as Apache Geronimo, Apache Tomcat, Pluto, taglibs etc.,” Magnusson writes.

Respecting Sun’s intellectual property is an important concern of the project, Magnusson says. “We shall ask any person that would be a committer to declare what kind of non-open-source class library or VM source code they have been exposed to, and allow us to keep them from participating in the related parts of the codebase where they may inadvertently violate the IP rights of someone else,” he says.

“We shall require that any code contribution that isn't a new, original work of authorship created expressly for the Apache Harmony project be subject to the standard Apache process for provenance and licensing to ensure that we have an accurate record of every contribution that wasn't created expressly inside the Apache Harmony project,” Magnusson continues.

“We would like to perform continuous surveillance on the codebase we are building, and compare to class libraries and VMs from elsewhere, like Sun, IBM, BEA, Kaffe etc. to ensure that no code from those efforts become part of Apache Harmony without our knowledge,” Magnusson concludes. “We do this to protect ourselves, our users and of course those other efforts. We don't know yet how to do this but are exploring ideas such as having a third party such as Black Duck or an existing licensee (or Sun!) do this for us. This, like all the topics herein, are open for discussion and change by the community.”

For more from the Project Harmony FAQ, go to:[email protected]%3E