March 17, 2005

Sun's new licenses: 'Closed open source'

Author: Chris Preimesberger

Sun Microsystems inched closer to a full open source release of Java code Wednesday but, to the surprise of no one, stopped just short of such a landmark deal. Ultimately what transpired -- as explained to media members and analysts via conference call -- was that the Santa Clara, Calif.-based hardware and software company has merely fine-tuned its stance on Java licensing and is finishing up a trio of new, simplified licenses as evidence of its intent to simplify the legalities of enterprise application development.

Sun announced the availability of a new Java Research License (for academics and researchers), designed for those who want to experiment with changes to Java 2, Standard Edition (J2SE) 5.0, which will ultimately become J2SE 6.0, scheduled to ship in 2006.

Sun also announced that it is in the final phases of issuing two new general Java licenses, JIUL (Java Internal Use License, pronounced "Jewel"), and the Java Distribution License (JDL), both for use with Java source code. The three new licenses will make obsolete the well-entrenched Sun Community Source License (SCSL), the complexity of which has frustrated IT managers and developers for years.

The JRL is available now. The JIUL and JDL are expected to be ready in late April.

"[SCSL] was intended to be the wonderfully perfect license, designed to cover all cases," Sun vice president of Java Graham Hamilton said. "The problem was, everything was all wrapped up in one enormous license, and if you would hire battalions of lawyers, you would find that the license was great. The trouble is, most people don't want to hire battalions of lawyers and find SCSL is too complicated, so there hasn't been much adoption."

Companies will still need a lawyer to understand the JDL, which is the full commercial license for the Java platform, Hamilton said. But it is "much easier to interpret than the SCSL," he added. The JDL includes the Java Compatibility Test, which ensures congruency with other Java implementations.

"The J2SE code will be open and available for all to look at and play with," Hamilton said. "But we also expect people to contribute [to the continued development of the platform]."

Under the JIUL, developers may modify Java source code free of charge, but only for internal company use. The JIUL will operate on an honor system, Hamilton said: Any applications developed must retain Sun's standard-spec J2SE compatibility; the difference is that users will be trusted to ensure that compatibility, and that Sun won't be going around to users to check up.

"There is always a risk of Java forking because of this new approach," but the company is allowing users to take that risk, Hamilton said.

Sun Fellow and Java creator Dr. James Gosling had a few choice words to say about open source licenses in general during the teleconference.

"It's amazing how complicated most open source licenses really are," Gosling said. "And there's a growing number of them -- and they're all hard to decipher. Maybe I'm just an amused armchair quarterback, but I think it's funny, sitting where I am, having watched Sun get all the grief for supposedly complicated licenses, when you consider how truly gnarly some of these open source licenses are. They started out simply, like the BSD license, then the Stallman license ... then they all kind of swirled together. Now some of them have 'contamination' clauses in them -- the GPL is the poster child for that," Gosling said.

"They're causing so much chaos in companies, who tell me: "[Open source licenses] are just too vague. I can't tell you what they mean. A court of law couldn't figure this out.' It's just a mess, and they're going to be a heartache for years to come."

Gosling then explained Sun's position -- again.

"The reason we can't go full open source is a complicated one," Gosling said. "This has always been a difficult road for us to travel. We want to work with the [open source] community, the JCP, and customers, but everybody comes at this from a different angle. When you go out and talk to [corporate] people about these humongous enterprise applications, they want to know that what you sell them will do what it says it will do. They want to know what went into [the development], what kind of testing it's had ... there's no way to know all this in most open source apps.

"Now the Linux kernel and Apache have gained that trust over a number of years -- they're exceptional. But most other open source projects haven't gained that trust yet. Large corporations with these amazingly huge and complicated systems don't want to hear: 'Well, I tested it myself and it seems to work OK for me,' or 'Hi, a bunch of my friends tested it and it worked OK.'"

Gosling described Sun's approach as "closed open source."

"When your company is billing billions of dollars' worth of transactions every day, like an Amazon, credit card company, or whatever, that software has got to work right the first time and every time. In those kinds of situations, small problems can be magnified into tremendously big problems. This is why the issue of testing is gigantic," Gosling said.


  • Java
Click Here!