Sun Microsystems exposes the inner workings for all to see and sets new, more flexible licensing terms, but retains tight control over the programming language.
The Palo Alto, California, company this week posted Java 2's "source code"--the blueprints of its "write once, run anywhere" technology.
New licensing terms are more flexible, too, but Sun is still keeping tight control over Java. For instance, to download the Java 2 source code, one must accept a 7,610-word license agreement.
"Sun still retains their intellectual property rights, still maintains control over what is Java, still controls the process by which new releases of Java come out, still controls the trademark, and they still get the revenue," said Anne Thomas, an analyst with the Patricia Seybold Group.
Java 2 software is newly available under Sun's Community Source License, which requires companies to pay royalties only when they ship Java products. Under the old model, companies had to pay Sun before they could see the source code--a steep $10 million fee in Microsoft's case, Thomas said.
Sun touts its new licensing model as "the best of both worlds." In a white paper, Sun's Richard Gabriel and chief scientist Bill Joy say Community Source License "blends the best aspects of the proprietary and open source license models." Open source refers to a programming method in which anyone who wants to may see, modify, and distribute the original computer instructions. The model is praised by its advocates for leading to innovation and quick bug fixing.
Sun says the Java 2 license incorporates that spirit while ensuring central control to keep Java from fragmenting and letting licensees (and Sun) keep their intellectual property rights.
But programmers who want to leave their stamp on the world might be best sticking with the completely open world of Linux. With Java, "Modified source code cannot be distributed without the express written permission of Sun," the company says on its Web site.
In the open source world of Linux operating system development, fixes propagate quickly. "By the time you wake up the next morning it's been fixed," Thomas said. "I don't know if Sun's going to get that much advantage from it."
The biggest benefit for Sun likely will be that members of the academic and research communities now will be able to become involved in the setting of future Java specifications, rather than being kept out by prohibitive licensing fees, Thomas said.
"It's a better licensing policy than they had before," Thomas said. It could lead to a mending of the ways between Sun and Hewlett-Packard, which still hasn't signed Java partnership agreements, though the company has developed its own Java software.
"Sun might be able to work out a reasonable working relationship with HP based on this new license scheme. One of the primary reasons HP decided they had to build their own [Java software] was that they couldn't tolerate the licensing policies Sun had set up."
Those who, like HP, wish to write "clean room" versions of Java--essentially Java clones--will want to avoid looking at the Java source code. "The fact that you download it taints you immediately," Thomas said. "If you download it and look at it and put it away, that gets pretty tricky. Sun could take you to court and claim you're in violation if you do something like that."
Under the Community Source License, companies shipping Java 2 products must pay Sun an annual fee to make sure their software passes Java compatibility tests and pay Sun per-unit royalties.
In addition to Java 2, Sun is making its Jini, PersonalJava, and EmbeddedJava technology available under the Community Source License, Thomas said.