RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Sun's Gosling: Already Plenty of Java 'Harmony' Under the Sun

The open source community may be looking for 'Harmony' but "Father of Java" James Gosling says enterprise Java customers would sooner go "screaming into the hills." Gosling talks to DevX about why Sun is ambivalent about Apache's Harmony, the future of the tools market, and the expectation for a language that will one day eclipse Java.

he Apache Software Foundation's proposal of an open source version of Java 2 Standard Edition (J2SE) has the "Father of Java" James Gosling puzzled. "It's often difficult to get a good picture from the open source community of what they actually object to in what we're doing," said the fellow and Chief Technology Officer of Sun's Developer Products group, who created the Java language, in an interview with DevX. "In what way could we be more open?

James Gosling

"Since day zero, 10 years ago, all of our sources have been open and available," he explained, adding that Sun has worked to establish a governance model (the Java Community Process or JCP), which is "very similar to how many projects in open source work."

The Apache proposal, called Project Harmony, got officially underway May 6, when Geir Magnusson, an Apache project chair, posted an overview of Harmony's need, objectives, and key participants to an "incubator" mailing list for Apache members. In it, Magnusson writes, "there is a clear need for an open-source version of J2SE runtime platform and there are many ongoing efforts to produce solutions (Kaffe, Classpath, etc.) [and] provide alternative approaches to execution of Java bytecode (GCJ and IKVM), but barriers exist which prevent these efforts from reaching a greater potential."

If Java turned into an open source project, the enterprise development community would go screaming into the hills.

The "clear need" that Magnusson cites is anything but clear to Gosling, who says Sun has received a negative response from the enterprise development community regarding the idea of open-source Java. "We've got several thousand man-years of engineering in [Java], and we hear very strongly that if this thing turned into an open source project—where just any old person could check in stuff—they'd all freak. They'd all go screaming into the hills."

Testing Is Hard. Not Testing Is Harder
Project Harmony would be available under the Apache License v2 rather than one of Sun's licenses, but Gosling doesn't buy into the theory that Harmony's need lies in alternate licensing, opening up what can be done with applications and code. He said, "For most users, we're actually pretty close to the Apache license. You can do an awful lot of stuff with our system before you run into license restrictions."

While he characterized the Sun licenses as "pretty liberal" Gosling conceded that the compatibility testing requirement in Sun's license is "where [it] gets sticky." Sun's J2SE licensee partners are required to satisfy all the tests in the Java technology Compatibility Kit (JCK) before they can release their implementations. This, he says, has proved a daunting requirement for many. "One of the things that has come out over and over again as an issue is that testing is hard. Our test suites have literally hundreds of thousands of test programs in them. It's not like there's one file you run through your compiler."

In the open source community, if you actually care about being legally clean, it's a nightmare.

Although testing may make adherence to Sun licenses difficult, thanks to the current licensing morass, using open source is no walk in the park either. Gosling said, "In the open source community, if you actually care about being legally clean, it's a nightmare. Most people don't actually read the licenses. Every day or two there's something about someone getting hammered for GPL violations, and most of the people who are doing it don't even know it."

For Sun, the stakes are too high to be loose with licensing, according to Gosling. The JCP employs the JSPA (Java Standards Participation Agreement) as a means of verifying that contributed ideas and concepts are "legally clean." Said Gosling, "We don't want something to get accepted as a standard and then afterwards [have a third party say] the standard that is now deployed all over the place is actually covered under my patent and you owe me a lot of money. And that happens in other standards venues all the time.

"We get hammered by some folks because we're not willing to be as cavalier as they would like us to be. But on the other hand, the majority of customers who really matter to us actually care very deeply about the fact that we are excruciatingly careful," he added.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date