So finally, after rumours going around for a loong while, Sun published the source code for J2SE under an alternative license, the JRL.
Executive summary: It's still useless. ;)
All in all, it's still a long shot from meeting the open source definition. It appears to be the research section of the old SCSL, repackaged under a new name, with a few ambiguities resolved, and a few of the most hillarious pieces removed. If in doubt, ask your lawyer, I'm not one.
The JRL has been presented back at last year's JavaOne with a big marketing stunt, and failed to impress the research community back then. To quote Danese Cooper, Sun's open source diva:
"IMHO (and IANAL) the JRL doesn't actually represent much of a change of terms from what the research and academic community could do under SCSL (there are some small changes around export), but it does clear away all the language in SCSL that is confusing, if you are only planning to engage in research."
Nothing substantial seems to have changed. But it's a step ahead for Sun on the road to freedom without fear.
If you want to do research without tying yourself down, there is GNU Classpath. It is licensed under a free software license, and is actively used by many research projects like JikesRVM, ORP, or OVM.
Without further ado, let's jump right into the JRL with
The Open Source Definition vs JRL 1.5 shootout
1. Free Redistribution
Nope. It explicitely 'excludes use or distribution for direct or indirect commercial (including strategic) gain or advantage.
2. Source Code
Nope. See above.
3. Derived Works
Nope. See above.
4. Integrity of The Author's Source Code
Nope. It doesn't allow distribution for 'indirect strategic advantage' as patch sets either.
5. No Discrimination Against Persons or Groups
Yay, it passes that one!
6. No Discrimination Against Fields of Endeavor
Nope. Research only.
7. Distribution of License
Nope. The rights are non-transferable, thus each recepient needs to agree to JRL explicitely by click-through prior to distribution.
8. License Must Not Be Specific to a Product
Yay, it passes that one!
9. License Must Not Restrict Other Software
Nope. By claiming all implementations of the Technlogy to be Modifications, the license demands that cleanroom implementations that you distribute be licensed under JRL as well.
10. License Must Be Technology-Neutral
Nope. It's a click-through license.
2 out of 10. Still as low as the SCSL. Far from meeting the open source definition.
On the other hand, there is a bit of improvement. JRL removes a lot of cruft from the SCSL which makes it easier to dig through it. So I'll give the 'best of legalese' from the JRL.
No matter where or how you put it, it's covered by the JRL
The JRL claims patent-like protection on the code, by declaring "(b) new source or object code implementing any portion of the Technology." to be a Modification. The copyright holder there claims any expression that implements any portion of the technology to be a modification, even if the new implementation shares no code with the JRL'd implementation. So if you ever intend to work on a free software implementation of anything, you should stay away from it.
It also means that all your code using the Technology must be licensed under the terms of the JRL. Extending a class in order to use it means that your new class implements the API of its superclass, which is a portion of the Technology, thus it's a Modification.
Would you like some indirect strategic advantage with that?
"Research Use expressly excludes use or distribution for direct or indirect commercial (including strategic) gain or advantage."
That's perfectly ambiguously worded. It's a joker card to sue at will.
It has the same sort of problems like the SCSL: it's pay to play, as soon as you try to do something that might give you an 'indirect strategic advantage', like fixing a bug.
Fortunately, this time it's spelled out in uppercase letters for those folks that don't like reading the small print.
"COMMERCIAL USE AND DISTRIBUTION OF TECHNOLOGY AND MODIFICATIONS IS PERMITTED ONLY UNDER A SUN COMMERCIAL LICENSE."
Got it, now?
We don't need no steenkin URLs
"Technology Site" means the website designated by Sun for accessing the Technology.
No URLs here. So the copyright holder could at any time say 'uh, that was not the Technology Site, it was an unofficial beta ... this one is the Technology Site!'.
The JRL community: an exclusive members-only club
"A. License Grant. Subject to the conditions contained herein, Sun grants to You a non-exclusive, non-transferable, worldwide, and royalty-free license to do the following for Your Research Use only: "
So let's say you're doing research on Java. You finish your PhD, your work turns out to be useful. While you head for a greener pasture, the rest of your research group would like to use it for their own research.
They are not allowed to unless they accept the JRL as well because your license is not transferrable.
Furthermore, since your license is non-transferable, your peers can only reproduce your findings if they, too, agree to be bound by the license. That means you and your peers have to chose if you want to be in the JRL research community, or outside it. If you end up on different sides of the fence, it is going to be very painful to do research together, as you can not reproduce the results of the poor fellow trapped inside the gated JRL community. That effectively devaluates his research work.
Trust no one
"2. Share source code of the Technology alone, or with Modifications, with other Licensees;"
You may only give them access if they license the Technology from Sun by accepting the JRL. Of course, the catch is that only Sun knows who accepted the JRL.
So you can't put your sources on a conference CD, online, or share it freely with other researchers. You have to personally see them clicking on the 'I Accept' button of the JRL or you'll be in danger of violating the license.
You can have it any color as long as its black
"3. Distribute object code of the Technology, alone, or with Modifications, to any third parties for Research Use only, under a license of Your choice that is consistent with this License;"
That's a recept for spending your scientific career in courts, arguing whether your own license is consistent with the JRL or not, rather than actually doing research.
Afaict no OSI certified license is consistent with the JRL, as no OSI certified license mandates that you only distribute your code to JRL licensees. It wouldn't be OSI certified, then. ;)
You can use my research, just sign here
The JRL propagates in a fascinating way: all source code you publish must be under the JRL, and so must be the binaries, unless you can come up with a license that says the same as JRL with different words.
You may only distribute to other licensees. That's means that everyone you distribute your code to must be a member in the 'anonymous JRL licensee club' prior to your act of distribution. It appears like an attempt to try to force people to sign up for the JRL to use each other's research. Research-friendly licenses don't do that.
We might let you get away with it this time
" and publish papers and books discussing the Technology which may include relevant excerpts that do not in the aggregate constitute a significant portion of the Technology."
I'm glad that the license allows licensees to actually publish papers and books on the research they've done.
Of course, the 'relevant excerpts that do not in aggregate consitute a significant portion of the Technology' is another joker card to sue at will if your paper or book includes a few lines of the JRL'd code. The license does not define 'significant' in any way.
Igor, go fetch the brain
"B. Residual Rights. You may use any information in intangible form that you remember after accessing the Technology, except when such use violates Sun's copyrights or patent rights."
Translation: You don't have to fry your brain after looking at JRL'd code, but it would help. Make sure that you ask your IP lawyers after each use of JRLd sources what you may remember, as they are the only ones likely to be able to decode the patents.
If things go bad for you, you may also have to convince a judge in court that some new code you wrote after seeing the JRL'd code is not literally copied, but is actually in 'intangible form that you remember'. Good luck, you may need it.
Afaict, agreeing to JRL makes you employable only to those companies that have a Sun commercial license for the technology you agreed to, if your work is related to it.
Now it's here, now it's gone
"1. If any portion of, or functionality implemented by, the Technology becomes the subject of a claim or threatened claim of infringement ("Affected Materials"), Sun may, in its unrestricted discretion, suspend Your rights to use and distribute the Affected Materials under this License. Such suspension of rights will be effective immediately upon Sun's posting of notice of suspension on the Technology Site."
Translation: the copyright holder can terminate your license at any time if they feel like it.
As they don't feel like telling you where the 'Technology Site' is, the only thing that's certain is that once you've accepted the JRL, is that you've accepted the JRL. Anything else is subject to a notice of suspension to an ominous web site without a URL.