RealTime IT News

Middle Ground Sought for Open Source Java

The goal of open sourcing parts of Java inched closer to reality this week thanks to some vigorous discussion by technology leaders.

Executives at Sun Microsystems have not ruled out the possibility of opening the programming language they steward, but some of the proposals they've seen do give them pause.

While the company is considering open sourcing Java, even through models based on Cafi or GNU Classpath, it claims it's stuck between competitors who want to destroy Java's value proposition by advancing their own implementations, and developers who want Sun to "give up control."

But hold on, said BEA Systems , which has a proposal before the Java Community Process that could allow more wiggle room between Sun's concerns and the hopes of the Free and Open Source Society.

BEA CTO Scott Dietzen resurrected his company's plan during a panel discussion at O'Reilly's Open Source Convention this week.

"I would like to propose a middle ground based on control of the Java namespace and brand," Dietzen said.

Open source guru Eric Raymond, CollabNet founder and CTO Brian Behlendorf, and moderator/publisher Tim O'Reilly, all of whom comprised the panel, supported the proposal. Even Sun Java evangelist Simon Phipps and Bruno Souza -- known as the No. 1 Java evangelist in Brazil -- nodded in approval. However, both were quick to point out that they are not the official word of Sun.

The conclusion: Java is nowhere open enough for the open source community now, and BEA's plan might just hold the key to making all parties happy.

"Open source developers don't trust tools that someone else has an exclusive lock on," Raymond said. "This is the result of bitter past experience."

The other big stumbling block centers on Technology Compatibility Kits (TCK) for Sun's Java technology specifications. Sun suggests that a complete open source Java would allow for untrustworthy testing beds and unstable versions of standard Java, as well as allow enterprise Java to run wild.

"Notice that IBM sells WebSphere, not Java Application Servers," Souza said. "It is true that we've seen them provide [standard widget toolkits] outside of the JCP system. When you hear IBM telling customers that they can ship a Java Virtual Machine without Swing, which will be faster, that's a problem for [write-once-read-anywhere]."

Open Java proponents suggest unleashing the language would result in a Java that could flourish exponentially across multiple platforms.

Currently, the JSPA (Java Specification Participation Agreement) version associated with JCP (Java Community Process) 2.5, which Apache signed, allows for open source Java-compatible re-implementations. Behlendorf said the Apache movement sees incompatibility as a bug to be fixed but not necessarily regulated by legal means.

He said around the same time JCP 2.5 was being implemented, Sun promised that Apache would not be required to pass compatibility requirements downstream. Recently, Apache has noticed that its TCK license has a clause in it that doesn't work with the open source definition, meaning that code created in open source at Apache can't be redistributed without testing against and passing the TCK.

"We are still discussing the issue and still believe that, through discussion, we'll reach an amicable solution," Behlendorf told internetnews.com. "We feel close. We hear encouraging things. This is an issue for Geronimo. When Geronimo is ready for final testing and certification, which should be a matter of a few months, that sets an outside on resolving the issue."

Behlendorf said Apache is now trying to convince Sun that this isn't about them versus the world and that Sun has nothing to fear. The group said that seeing Java become both ubiquitous and remain a reliable platform is very encouraging.

When asked how open source and Java developers could help thaw relations between the two sides, the panel suggested downloading the free software/Open Source Software version of Java and use it. Then contribute to enhance it.

"Programmers join libraries together these days, so virtual machines are sort of irrelevant," Phipps said. "There is still time to work out how to get Java open."