CDDL Project Leader on the CDDL
SunFan writes "Claire Giordano, Sun's lead on CDDL development, gives the inside story on how the new license was developed. She discusses how people within Sun debated the various licenses, including the GPL, and shows why the GPL, BSD, and MPL licenses were found to come up short in meeting the needs of Sun's broad customer and developer base."
We announced a great $2-billion we-both-respect-IP deal with Microsoft, and the F/OSS guys won't be giving us $2 billion soon.
How do we write a license that keeps Microsoft happy and trys as well as we can to divide and conquor the Linux developer base."
sun, and their servers, are not going anywhere, unless the military goes bankrupt, and the banking industry, and ...
Should at 16 year old be allowed to drive a bus or semi after showing they can parallel park, of course not. Same goes here, different licenses suit different needs, now quit yer bitching.
2 semis hauling furniture, no matter what type of furniture or cab design, require the same licence to use.
...so lets act like we're open source!
Gee, I didn't hear people complaining when they opened the source to Open Office, their grid control, or any number of other things.
For [ insert deity of choice here ]'s sake, the CDDL IS AN OPEN SOURCE LICENSE. Certified by the OSI no less! "act like". Ppffttt....
Just because it isn't GPL, or BSD doesn't mean it isn't open source or that they're "acting".
People like you are going to get a few million lines of code stuffed in their mouth as revenge when OpenSolaris comes sometime before the end of this quarter.
Open Source is a necessary, but not sufficent, condition. As it is, Solaris is closed tight. No cross-fertilization possible. They might run Gnome, and use the GNU toolchain, but what they "open" is only open to their customers. Its useless to the rest of the world.
Gee, I didn't hear people complaining when they opened the source to Open Office, their grid control, or any number of other things.
Open Office was a great contribution, but sadly this is not more of the same. See PJ's comments on the CDDL for details.
Vino, gyno, and techno -Bruce Sterling
You're right and wrong. Wrong because the Open Source Initiative decided it was "Open". It's not "Free" by the Free Software Foundation. GPL is Free Software and Open Source. Using common words, which might not have been applied to source code at the time, has created a lot of confusion. I mean, if programmers and others can get confused, think how confused the PHBs can get.
There's a reason Stallman has been a stickler on correct term usage. Saying just Linux instead of GNU/Linux over-emphasizes Linus Torvalds and the Open Source methodology, while ignoring the Free Software foundation for much of the distros we use. Similarly, using "Intellectual Property" creates confusion among different laws which have their own reasonings behind them.
I don't know if creating more terminology will help. I think if you're always a stickler like Stallman, too many people will ignore you, when they might need to heed your information the most. But we (as an industry or whatever) definitely need to better inform people in our own industry.
There are philosophical, political AND practical reasons for the differences of BSD, GPL, LGPL, etc. It takes less time to inform than it does to argue, but many seem to choose the latter...
In times like these, it is helpful to remember that there have always been times like these. - Paul Harvey
It's not GPL-compatible.
The CDDL would be, because it is a file-based license, but the GPL does not allow it.
The only thing you lose is the patent litigation protection.
You can always purchase an expensive insurance policy from OSRM...or get it for free in OpenSolaris.
That's not really big on freedom.
OSI fully recognizes that Sun is acting quite freely. Your sentiment is extremely GPL-centered.
GPL-compatible
You've used forms of this word at least five times in your post. You do understand that GPL-compatibility is a one-way street and that combining code with GPL code requires that the larger work be released under the GPL, right?
This carries implications that some people are uncomfortable with, and these people are accomodated under the CDDL.
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
It's OSI approved i.e. OPEN SOURCE. Some slashdotters are only getting their knickers in a knot because Solaris is not Linux. Kind of sad that many people have this view of open source.
Sun could open source their entire software line (and are well on their way to doing so (with the exception of Java)) and these folks would still not be satisfied.
Well, you're certainly welcome to write your own drivers for something that had to be held back in OpenSolaris due to a 3rd-party's constraints which are external to Sun. Come on, isn't that one of the beloved Linux mantras?
/. posters seem to be missing here is that Sun /did/ look at the GPL... they didn't outright dismiss it. Sun found that they were encumbered by 3rd-party constraints
which the GPL was incompatible with and so they had to short-circuit to the next best thing - the CDDL.
Under the CDDL they would have to be rewritten anyway if we wanted to make our own Solaris distros, because the 3rd party patent deals / licence grants apply only between that party and Sun. About which, more below...
The thing cynical
Is the next best thing the CDDL, or is it the MPL upon which the CDDL was based? Under the MPL (section 3.4), Sun would have had to disclose the extent to which the code was encumbered by third parties. One of the few differences between the CDDL and the MPL is the removal of this clause. The implication of this is that Sun (who already has IP deals with the third party vendors) can use CDDL code in commercial products without any legal worries. But open source developers distributing CDDL cannot, and Sun's modification to the licence means that the encumbered parts of the code cannot be distinguished from the unecumbered parts.
The point of the CDDL seems to be to supply Sun with free development and debugging for code which only it can safely distribute. Lest you think this is me donning my tinfoil hat, please read the relevant Groklaw commentary.
I am not asking Sun to release other people's encumbered code. I just want them to identify (and, for bonus points, encapsulate it) so that it can be replaced with unencumbered code.
Solaris is an awesome technology. You would be - no pun intended - CLOSING yourself off if you think being able to look at and use the Solaris source is irrelevant.
Solaris does have a lot of cool stuff in it. Sadly, learning from some of that stuff could get us into legal trouble. It might be better for people who also do GPL development not to even look at the code.
Vino, gyno, and techno -Bruce Sterling
Sun needed a way to present themselves as going open source without allowing the open source community to get any benefit from this. The CDDL was their tool to do this.
Everything else, any rationalizations for why they engineered their license the way they did, is just PR.
Gee, I didn't hear people complaining when they opened the source to Open Office, their grid control, or any number of other things.
Yes. In fact, one would not have heard complaining about those things. In fact one would have generally noticed they were welcomed quite enthusiastically.
Yet people seem to be complaining about the CDDL releases quite a lot.
Do you think this maybe might indicate there is some sort of difference between the two situations?
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
If the GPL wasn't so anal it wouldn't be a problem The problem is with the GPL not everything else.
Tell them that the Mozilla Public License used by Firefox is GPL incompatible and they have no problem with it.
That is because Firefox is also available under the GPL.
And many people refused to accept or help with Mozilla development until alternate licensing terms to the MPL were introduced.
Or what about Apache's
This is a new development and itself caused serious problems.
The slanted importance placed on 'GPL compatibility'? The heart of the GPL is if you take, you give back. Many here on /. defend that idea zealously, and I don't have a problem with that. IBM and Red Hat contribute to and take from a strong grass roots movement. Sun is trying to create a grass roots movement from the top down. Why ? Because they really like us ?
I think the crowd here on /. sees though them, and their dying business model.
They opensource solaris, that's great. I don't believe it's going to go anywhere though, because developers aren't going to spend so much time giving to those who won't give back. That's the secret to Linuxs success, I believe. The GPL is linux's greatest strength, and the reason for it's large base.
That importance isn't slanted.
If Sun's motives are pure, great, more power to them, I wish them the best of luck. I don't think they will be able to compete against Linux and the GPL though.
I'm not a sun fanboy, I don't know all that much about them to be honest, but didn't they release the code that grew into OOo to poke Microsoft in the eye ? Before they got to be such good buddies ?
I'm not a linux zealot btw. I use xp, mandrake, debian, and I try out a bsd once in a while, and opensolaris would be fun to putz around on too, but I'm smart enough to appreciate all the work the linux developers have done, and realize the roll the GPL played in their willingness to give so much of their time.
That importance isn't slanted.
It's not GPL-compatible.
Yes, the Apache license is also considered incompatible with the GPL, and the Apache webserver is still the dominant webserver. And I never heard RMS rant about that, and demand writing an Apache replacement under the GPL.
PHP is also licensed under an GPL-incompatible license. Still remember the mess with MySQL? When they relicened their client libraries from LGPL to GPL, because they wanted to urge more companies to buy commercial MySQL licenses, they had to issue an "Optional GPL License Exception for PHP". Otherwise they would have been replaced by many sites with competing projects like Postgres available under a more liberal license. Does this mess (and the commercial interest behind it) help free software or the community?
When Sun released OpenOffice under a dual license, some companies like Ximian or Redhat refused to license their changes under both licenses, they released them only under the GPL. So the patches found never their way to openoffice.org and today every distribution patches their own version of OpenOffice. Did this help open source or the community?
These are only a few points to show that the GPL is not the only OSS license. Sun has contributed a lot of code, so they have made probably more experiences with OSS licenses than most other people and companies. Is it really so hard to understand, that they see issues and don't simply hail RMS and the GPL?
IBM will NEVER contribute to Solaris, as it's a huge competitor for them.
However, if Java goes CDDL, IBM will happily contribute under it. It's significantly more liberal than the current Java licence which IBM has agreed to.
but what they "open" is only open to their customers. Its useless to the rest of the world.
The point of opening the code was to make Solaris better, not to make Linux/*BSD/whatever better.
For classic corporate licenses, the priorities of license convenience are like this:
1. The corporation. It's all about the profit to the corporation, isn't it?
2. The customer. Sure we want to attract the customer to buy the product, and the license is partially responsible...
3. The developer. Actually, pretty much the license only takes all the rights away from the developer... They are compensated for that - in form of salary.
For Open Source/Free Software, the licenses must be written in exactly opposite order.
1. The developer. If there's nobody to write the software, nobody will be able to use it.
2. The user. It's for users, and the idea is user is free to do what they want with the software, so let's give it.
3. The corporations. Actually, protecting the program against abuse by corporations.
Of course, SUN as a corporation, wanted the first kind of license. GPL, as the second kind, obviously didn't meet their expectations. What SUN forgot though, is that the goals their license meets are straight opposite to goals -expected- by Open Source developers. A corporate license in service of a corporation, taking some rights away from the customer and many rights away from the developer, while the developer isn't compensated for that in any way?
The difference is that a GNU developers still "own" code they wrote. They retain all rights to the code. SUN's license says, "You will be assimilated. All your code are belong to us."
Anagram("United States of America") == "Dine out, taste a Mac, fries"
The other big "open source" operating systems I'm aware of are GNU based operating systems such as GNU/Linux, which is licensed under the GPL, and Darwin, which is licensed under the APSL. In both cases (cue anti-GPL zealots who'll ignore the second part of the previous sentence - clue: the CDDL isn't compatable with anything, and neither is the APSL), you'll not be able to use code from one and use it with the other.
There is, right now, one, respected, neutral, copyleft license: the GPL. The FSF needs to get off its arse and update it to cover patents and create genuine defenses against patent wars. Once that happens, there'll be no reason to avoid making a simple choice between a BSD/X.org type license, the LGPL, or the GPL.
You are not alone. This is not normal. None of this is normal.
The major concerns are being expressed by the Open Source Initiative, spearheaded by Russ Nelson who, on taking office for his short stint as OSI head honcho, immediately started an initiative to review the number of licenses the OSI approves because of the problems they cause.
Personally, I agree with him. You don't get a lot of freedom if you can't use software from one FOSS project with another. The CDDL is a problem because it's representative of the push for yet more "Open Source" licenses when we're in the middle of a major problem with code sharing. Combine it with the APSL, an even worse example, and the "big 3" copylefted Open Source kernels and operating systems - Solaris, Darwin, and GNU (with Linux or HURD) - cannot share a single line of code.
Not a particularly great state of affairs, is it?
You are not alone. This is not normal. None of this is normal.
The GPL is not viral.
Well, why do you think, viral doesn't describe the paragraph 2.b) of the GPL adequately?
2.b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
I don't question the way, GPL violations are handled at court today. But the GPL demands rights on your code which is problematic and made many open source projects either dual licensed (Mozilla, OpenOffice.org) or tagged with an exception (MySQL).
I wish you guys the best of luck, but I think that given a GPL-incompatible license, you'll have a really hard time building a large developer community.
Because Java has a _tiny_ developer community. There's nobody interested in improving it at all.
My Journal
Read it harder:
You must cause any work that you distribute or publish
Its only viral if you distribute or publish your code! If you keep it to yourself you can do whatever you want.
But the GPL demands rights on your code
By "your" code, you mean code you took from someone else and put into your "proprietary" code, right? Just checking here.
If you did the same thing as the linux community, you'd ship binary drivers with your kernel, violating the letter and spirit of the GPL.
Exactly! That's why, when you download the latest release of the Linux kernel, it comes with Nvidia's proprietary binary drivers already included.
Oh no hang on, I've just realised you're full of shit.
> Again, at no point does YOUR PRODUCT somehow become GPL code.
True, but the consequences you describe are a direct result of refusing to make the product GPL. You use GPL - you get infected. The cure is either to GPL the entire product or pay a fine and surgically remove all GPL code.
> It just doesn't happen, ever.
Also correct. The GPL is a disease, but an easily avoidable disease - just don't use any GPL code. I don't see why people consider this a problem. The issue is only brought up by the GPL fanatics who want the entire world to be under their precious license. When that happens, there is absolutely no need to argue. If you write the code, you can license it in any way you wish, and when the GPL camp comes begging at your door, all you need to do is say 'no' and leave them to their whining.
> to release the source code to derivitive works
> based upon GPL software, i.e. the code you
> incorporated into your proprietary product. You
> don't have to GPL the entire product at all
Most products don't contain a multitude of independent binaries; they usually have one executable and perhaps a couple of shared libraries. Word processors, games, and database engines all are pretty much like that.
Now say a single module, in a shared library, uses some GPL code. That module is then required to be GPL, since it is by definition a derivative work. The main executable must then also become GPL because of the FSF's interpretation of linking as making a derivative work (which probably won't hold up in court, but that's another story). Then all the other shared libraries loaded by this executable become GPL through the same linking clause. At this point the entire product is GPL. Care to point out where I am mistaken?
> If you borrow a socket interface from a GPL
> product and put it into your application, does
> your entire application become a derivitive work
> of that socket interface? Of course not!
Yes it does. See paragraph 0 of the GPL, which defines a derivative work as "a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language." Perhaps you didn't read the GPL yourself then?
> Even the COPYING file in the Linux kernel (though LGPL)
The Linux kernel is a modified GPL. Did you read the COPYING file in your tree? It has a preface by Linus, which explicitly exempts userspace programs from the license.
Now, LGPL is a completely different beast from the GPL, exactly because it lacks the "viral" property. An LGPL library containing a socket interface would be perfectly legal to link into a proprietary application. glibc is a fine example of this.
There is some doubt whether the linking constitutes a derivative work under copyright law. If it does not, then the GPL loses its viral property and becomes equivalent to the LGPL. Unfortunately, nobody has bother to get the situation resolved. Until it is resolved, it is unlikely that any business (except the ones like RedHat, that just provide services) would touch GPL code.
> Remember, the GPL is simply a license that allows
> you to copy and redistribute copyrighted software.
> It grants rights, it does not take them away.
The same can be said about Microsoft's EULA: if you don't accept it, you don't have any right to use their software at all! Imagine that! The only difference is that Microsoft sells the licenses. I am sure Microsoft would be happy to give you the additional rights to copy and redistribute Windows. For the right price, of course. So you can keep your platitudes to yourself.