Open source Java project wants code donations

The Apache Harmony project is asking for help to prevent Java from remaining a 'second class citizen' among the Linux community

Apache Harmony, a project which plans to create an open source implementation of Java, has called on the Java business community to donate software.

Geir Magnusson, a board member at Apache Software Foundation, said developing open source implementations of all parts of the Java platform will be difficult, but he hopes to speed things along by persuading companies and free software projects to contribute code.

"We don't want to reinvent this stuff. There are a couple of candidates for re-use — the GNU Classpath [a free software project that implements some Java class libraries], existing production JVM [Java Virtual Machine] vendors. There's a lot of software we're hoping could be donated," said Magnusson, speaking at a session at the JavaOne conference last week.

The hardest task will be implementing the Java class libraries, according to Magnusson, describing this task as a "massive amount of work". Developing the Java Virtual Machine and the just-in-time compiler (JIT) — the code generator that converts Java bytecode into machine language instructions — will also be difficult as it is "sophisticated computer science", said Magnusson. There are a number of commercial implementations of the JVM and JIT, including BEA JRockit, IBM JVM and the JVM in Macromedia ColdFusion MX.

Developing an open source implementation of Java is important to increase the adoption of Java in the open source community, which may otherwise use Mono — an open source platform that can run .NET or Java programs, according to Magnusson.

"We want to provide an acceptable open and free Java platform for the Linux and BSD communities. Java is a second class citizen in Linux right now because it isn't under an open source licence," he said. "The open source community is also looking at Mono…We have a better alternative than Mono — Java. If we can give them the choice, I think they'll take it."

There is also a risk that developing countries may avoid Java as it is not open source, said Magnusson. For example, Brazil plans to mandate the use of open source software in government agencies, which could theoretically prevent the use of Java in Brazil.

The open source community and companies that work with the open source community, such as IBM , have called on Sun to open source its own Java implementation. Sun has resisted until now, warning that making Java open source could threaten Java's compatibility .

Magnusson denied that creating an open source implementation would result in an incompatible version of Java, as it plans to test the product using Java's Technology Compatibility Kit (TCK). "It has to pass the TCK as no-one would use it otherwise," he said. He said he hopes that the Apache Harmony project will put an end to the ongoing debate over whether Sun should open source Java.

Sun is "cautiously supportive" of the Apache Harmony project, according to Magnusson. However, it has been reported that James Gosling, one of the creators of Java and now a senior Sun executive, is sceptical about Apache Harmony, although he seems to be more supportive of the idea of simply opening up the source code of Java itself.

In an interview last week he said: "Sun is a democracy, and some believe it [open sourcing Java] could work and some people don't. Right now there are more nays than yeas... More often than not I'm in the yea category. But I have to admit I go back and forth."