Thursday, August 16, 2007

Sun lowers barriers to open-source Java

Sun Microsystems is making it easier for open-source programmers to ensure their Java versions meet the company's compatibility requirements, but the deal extends only to those involved in Sun's own open-source Java project.

Sun plans to announce on Thursday a program that grants access to its Java Technology Compatibility Kit to anyone with an open-source Java project that is based substantially on Sun's open-source Java software and governed by the General Public License (GPL). Programmers need access to the test kit to prove that a project is in compliance with the Java specification.

Projects that pass Sun's compatibility kit tests also can use the official Java logos for free, said Rich Sands, OpenJDK community marketing manager at Sun.

Previously, access to the kit was available only to Java licensees--typically larger companies such as IBM or Motorola--or to nonprofit groups that participated in Sun's scholarship program. But the scholarship program carried obligations that precluded shipping software under the GPL, Sands said.

"The compatibility kit license that's been out there in the scholarship program had a few terms in it that wouldn't work with GPL. We've changed (the) license in such a way that developers can fully meet all their obligations under GPL," Sands said.

The Java platform is a collection of software components that lets a program written in the Java language run on a variety of computers without having to be specifically translated for each one. A component called a Java virtual machine, assisted by libraries of prewritten code, translates programs so they run properly on a particular computer. For years, open-source advocates have called on Sun to make the core Java technology, called Java Standard Edition, an open-source project. But even after the company was persuaded to do so, it took years to accomplish.

The new move significantly broadens the horizons of open-source programmers who want to participate in Sun's open-source Java project, called OpenJDK and formally launched in May.

But the new program doesn't extend to Apache Harmony, a rival effort to build a version of Java Standard Edition. Geir Magnusson, a Harmony leader, had called on Sun in April to liberalize the compatibility kit terms.

Magnusson on Thursday said that Sun is placing limits on the Apache Software Foundation that it isn't placing on the OpenJDK community.

"Those limits restrict what an end user of Harmony could do with the software, and limits like that aren't compatible with an open-source license, which is why Apache can't accept that TCK (Technology Compatibility Kit) license," he said.

The issue has rankled the Apache Software Foundation enough that it voted in July against a major new Java specification, Java Enterprise Edition 6, whose technical details it supported. Sun "shouldn't be allowed to start another JSR (Java specification request) until the above matter is resolved," the foundation said in remarks about its protest vote.

Sun acknowledges that not everybody is happy with its Java work.

"We've known that we weren't going to be able to satisfy everyone in the open-source and free software worlds. There are incompatible licenses and philosophies and approaches," Sands said. "We're trying very hard to figure out some way to bridge this, but we've not been able to do that."

The Apache Software Foundation is free to use the compatibility test kit through the scholarship program and, indeed, Apache projects besides Harmony do so, Sands added.

Open-source programmers are free to "fork" software--that is, to create new variations that aren't necessarily compatible with the main or original versions. With its open-source plan, Sun expects programmers to diverge from the official, compatible, logo-emblazoned Java as they experiment with new ideas.

The compatibility kit itself, though, isn't an open-source project. "We wouldn't want people being creative about what compatibility means, because then you end up breaking compatibility," said Jean Elliott, senior director of Java software product marketing.

Sands called the open-source effort so far a success. Sun wasn't able to release all of Java as open-source software because it wasn't able to get permission for some software it licensed from third parties, Sands said, but programmers are seeing those encumbrances as coding challenges.

"The community has really rallied around getting a fully open-source implementation," Sands said.

No comments: