Sun Submits New License for Open Source Approval
Wannabe Code Monkey writes "Sun has submitted their Common Development and Distribution License to the Open Source Initiative for approval as an Open Source license. It appears that this license is what Sun plans to release Solaris under according to an article at news.com.com.com. Of particular note is: 'The CDDL is not expected to be compatible with the GPL, since it contains requirements that are not in the GPL,' Claire Giordano of Sun's CDDL team said in its submission."
I am glad to see sun going in to an open source direction, but how long will it last this time?
When Solaris 8 source was released, it was not exaclty open source, and did not last long at all.
The implication here is that there's something bad about them not wanting to GPL their source. Why should they? Simply making it open source of some kind seems good enough. That way we get to see it and potentially modify it for our own benefit. Not having read their proposed license, I'm assuming it won't allow anyone to resell the code. And why should they? It's their family jewels, and I see no reason they should allow competitors to take it and run.
...if the license doesn't follow BSD or GPL methodology. Most of the UN*X geeks that I know (including myself) subscribe to one or the other established licenses either because we want our work to be out there for the benefit of everyone, even if it is used in commercial applications and closed (BSD) or because we want it out there and we want it to remain out there because it was hard work, and not be closed (GPL). I don't see any other positions really available to coders who don't want their code to be rendered unavailable to the public at large.
Do not look into laser with remaining eye.
Well, that makes me happy. It seems to say that if you hold the Sun license, you can't patent-shakedown anybody in the Sun community. I'll buy that; getting this kind of license adopted by many people is probably the only way to end the horror. I'd be interested to see whether Microsoft gets all ornery about this license.
Of course, I'm also interested to see how much I'll get flamed by even implying support for a license besides the GNU GPL.
counter-disclosure: I read about this on CNet, just like everyone else, and I don't know any more about this than is available at Sun's CDDL site. Also, I don't really work anywhere near the Solaris group.
The CDDL is just a refinement of the MPL-- and I've read the redline diffs, and there doesn't seem to be anything sinister or extra-restrictive about the changes.
The MPL is nice, in that it is propagative but not viral. That is, if you distribute a modified binary you have to distribute the source for your modifications, but you can use MPL-licensed code in a larger project without any effect at all on the license of the larger project.
The only reason GPL compatibility is even an issue is that there was some hope that Solaris code could be picked up and used in Linux-- which I really think was pretty optimistic. Techniques learned from the Solaris source may be transferrable, though, and I think still will be as long as the Solaris source is truly open.
A summary of the changes, including why they felt the MPL didn't give them entirely what they wanted - they make it clear that they didn't want to create yet another license.
A details description of the differences.
In their submission they also say:
No one in their right mind would start a new project using the GPL. The GPL doesn't provide patent protection. With all the patent litigation lately it would reflect poorly on Sun to kick off such a large project using an outdated license that doesn't cover the legal issues developers face today.
Most new OSI-approved licenses seem to cover patents in some form. There's even talk about a new version of the GPL that will, but as of now there's nothing.
Using the GPL would have earned them a kick in my book.
Of course, if you (or anyone else here for that matter) are complaining without actually knowing the rationale behind the license, you should go take a look at Sun's detailed description of the license.
Actually looking at the license, I see that it is based on the Mozilla license (MPL), which addresses the two issues I noted. Sun's changes remove the part about being covered by a future version of the license, and remove some notice requirements and clarify a few things that are unclear or poorly stated in the original MPL.
The license may well be GPL 3 compatible, since Stallman has made noises about wanting to clear up the patent protection stuff. You'd really need to get a lawyer's opinon on that, though, after the GPL 3 has been released.
Whoever corrects a mocker invites insult;
whoever rebukes a wicked man incurs abuse.
--Proverbs 9:7
Sun isn't a person. They are neither nice nor naughty. They make cold, calculating decisions based on the business environment and based on maximizing profit. That's why they have released OpenOffice and are releasing Solaris under a FOSS license, and why they are not releasing Java under a FOSS license. That's all. Don't believe marketing hype that tries to make you look at any company as a person.
Initial Developers grant You the the right to use, modify and sell ("under Patent claims infringed", whatever that means) their software.
Contributors (who modify the Initial Developer's code) grant You the same rights. This applies to the whole work with modifications, or just the modifications themselves.
You must provide the License text when you distribute Your software, including the modifications. If you distribute executable code, You must make the source code available.
All code remains under this version of the license. You (essentially) can't modify the license. Sun could revise the license, but it isn't retroactive unless specified.
You can include softare with this License in a "Larger Work" that's under a different license, as long as doing so doesn't break this license.
No Warranty, Limitation of Liability, jurisdiction, etc.
This is a good license. In terms of what it tries to do, it seems to be on the level of the LGPL. Whether you consider that to offer you adequate protections for your code is up to you. That's why you get to decide how your code is licenced.
Of course, the big difference is that Sun's licence goes beyond a simple copyright licence (like the GPL and LGPL). Sun's license is a contract. There are pros and cons of both. A copyright license cannot offer patent licencing. Here, Sun is giving you the rights to use the software even if it infringes on some of their patents. Now, it would seem obvious that if someone opensourced software they owned that used a patent they owned that they were letting you use that patent without royalties, but that isn't the case (legally). A company could GPL-licence software that used a patent they owned and then sue users and distributers later for infringing on that patent. It would be a terrible, but legal, thing to do.
The downside to it being a contract is that contract law varies GREATLY from country to country. This is why the FSF has tried to keep the GPL/LGPL tied to copyright law only. Copyrights, while they vary between countries, don't vary as much as contracts do. This means that there could be legal complications based on geography.
Even Linus Torvalds says that the GPL isn't a perfect license. In my work, I know that it isn't since I develop web scripts which, if GPL-licenced, would allow people to build amazing capabilities into it and never share the source they used for their site. GPL-incompatible doesn't mean bad. In fact, it can be good. The Affero licence (which is the GPL plus a provision that if you use it to power your site you have to offer that code to visitors of the site - since one might make cool modifications to power a site and then never actually distribute it).
The GPL is a great licence, but it isn't perfect. Right now, the GPL 3 is being written and if it is written to include things like patent grants and such, it would be compatible with this licence. Most people, including me, had hoped that this would be a big present for the Linux community and so there is a lot of disappointment at a GPL-incompatible license. That is to be expected. It would have been great if it were GPL compatible. The amount of code-sharing that could have happened would have been amazing. Of course, the GPL 3 might make that code-sharing available (I'm unable to ever give up hope) and it's still good to have another good opensource operating system to compliment the BSDs and Linuxes.
Sure, but not because I work at Sun. Like I said, I don't have anything to do with this stuff.
So, besides distributing patches to software, we can start distributing patches to licenses as well?
The provision you quoted is nothing new, and I really don't see what the big deal is. From the GPL:
If Sun are going open source then tell me why they've changed the MPL so they can include third party patented material without telling you (See the section 3 changes) and which you would have no rights to.
The MPL requires that anyone using third party patented material declares it so that you know if its contaminated and non-free as a contributed. The Sun license allows them to slip anything the like into the code then smile as a third party sues people for their contribution.
In general the changes are mundane (Software for Code etc) or in some cases quite sensible - legal jurisdiction, simplifying the definition of creator, but that one change is quite evil on first reading
I'm not sure if you're deliberately trolling or just confused. I think I agree with the poster who said that you're just an anti-GPL zealot. But in case you're truly misinformed, I'll give enlightening you a stab.
How exactly is this a very important point? If you are contributing to someone else's code, you of course need to make your code available using a compatible license. For example, if I decide to contribute a patch to Mozilla or OpenSolaris, I will have to provide my work to them under a license compatible with their codebase, if I want them to be able to distribute it.
This has nothing whatever to do with the GPL. I'm not sure what your point is. If I decide to contribute a patch to say, some component of OpenBSD, I'll need to provide said patch under the BSD license. So this point trivially applies to every single license.
Ok, now we're out in "What the fuck?" land. If you write a patch for the linux kernel, you're contributing to a GPL'd project. The only people that can benefit directly from this patch are people that use Linux. Presumably, if you're hacking the Linux kernel, you yourself use Linux. I mean, if I hack software package A, and improve it in some way, only people that use software package A are going to see the fruits of my labor.
Maybe you meant something like, you write something complex, say, a cryptographic algorithm, and submit it as a patch to the linux kernel. Then, the BSD guys (who also would like to have said algorithm in their kernel) are forced to reimplement it, instead of just taking your patch and hacking it.
Now, if that is what you mean (and I can't be sure, because that's not what you said) then you're wrong, quite simply. You can license your patch to the linux kernel under a BSD license. The linux guys can still use it. And so can the BSD guys. So again, it's just a matter of you (the author) choosing the license you want to distribute your code under.
Now, copyright law covers distribution of code only, so you could even write a patch to the Linux kernel and release it under some GPL-incompatible license -- no problem! But the Linux guys wouldn't be able to incorporate your patch, because then they would be distributing it under the terms of the GPL, which is incompatible with your license. But you could still make your patch available for free at some other source; and if a user downloaded your patch, they could apply it to the Linux kernel themselves and use it, and it would be completely legal, as long as they didn't try to redistribute your patch under the terms of the GPL.
It comes down to exactly what the GP said: the GPL prevents you from relicensing other people's code arbitrarily. But for your own code, you can license it however you want, and you can do this regardless of whether your code is a full product or just a patch. You can even distribute it under a bunch of different licenses, if it suits you. It's your code, you're free to license it however the hell you want.