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."
I find that there are just not enough licenses out there, so I'm thrilled to hear there's a new one. Eventually there may even be more licenses than things to be licensed, and what then?
I'm just sayin' is all...
Starsucks
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 ...
What the author of "Failed as in succeeded wildly." meant was LGPL-style licenses. LGPL has been around a lot longer than MPL and actually fits what he describes.
It's not GPL-compatible. I appreciate you want to be able to mix in proprietary code. If you need that, you can do one of two things. You can use LGPL, or you can include a clause "May also be sublicensed under the GPL, version 2.0 or newer." The only thing you lose is the patent litigation protection. You can also grant yourselves rights to change the main CDCL without alienating the mainstream FLOSS community.
Either way, a large number of people, for whatever reasons, distrust Sun. Releasing under a license that is widely percieved to be incompatible with the greater free software community is fanning those flames. Most people percieve this as a simply ploy to make it impossible to move code back and forth between the Linux kernel and Solaris. That's not really big on freedom.
One of the great parts of free software is rapid development. About half of my apps are built by glueing together code from other people's programs. Making Solaris not compatible with the GPL breaks that, and it's not good for building a developer community around Solaris.
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.
With a GPL-compatible license, if Solaris got to be better than Linux, virtually no one would think twice about switching from Debian GNU/Linux to Debian GNU/Solaris.
Also, notice the trend. Virtually everyone (Netscape, TrollTech, etc.) starts with their own crappy license, and eventually, switches to a dual-licensing model that includes GPL. Follow the lesson, and start off on the GPL side from the start.
...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.
....those who can't work in marketing and legal and come up with licenses.
These posts express my own personal views, not those of my employer
From TFA: On Day 1 of OpenSolaris, because some OpenSolaris IP is encumbered by other companies (example - 3rd party drivers), we're going to have some source files in the kernel that will remain proprietary. Hence GPL was out of the running.
The whole point of opening the source and creating a community is so that people can develop the things they need, free of the problems proprietary code brings. I find it hard to believe that much Solaris kernel code belongs to anyone other than Sun.
Linux started out with very few drivers, but now supports most common hardware. Sometimes this support takes the form of binary or wrapped drivers, but that hasn't prevented Linux from remaining under the GPL.
This is just more of the usual Sun guff.
Vino, gyno, and techno -Bruce Sterling
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.
Why not do the same thing as the Linux community, and release it without those drivers until someone writes an open-source replacement.
Because, ultimately, no one gives a rat's ass about a proprietary driver. If it works, that's great. If it's open source, well, that's nice, but working is better.
Hate playing the devil's advocate, but their license is Open, it just isn't Free. It meets the OSI requirements, which means OSI approval means less to me than once it did.
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 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.
There are a lot of threads about the issue of GPL incompatability. But not including that the author of the article mentions that he wants the CDDL to become a license in line with the GPL or the BSD license. The problem is:
1) Its not as simple as the BSD license thus manages to duck the hard issues
2) Its not as well thought out as the GPL which addresses the hard issues dead on.
1) CDDL definition of source code: "Source Code" means (a) the common form of computer software code in which modifications are made and
(b) associated documentation included in or with such code.
GPL definition of source code: The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
What does documentation included with such code mean? Say for examples most changes are made in response to bug tickets do you need to include them? Very vague
2) Obligation to distribute source
CDDL - Any Covered Software that You distribute or otherwise make available in Executable form must also be made available
in Source Code form and that Source Code form must be distributed only under the terms of this License.... You must inform recipients of any such Covered Software in Executable form as to how they
can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used
for software exchange.
GPL -- Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
You can see the differences.
-- How long do you have to provide source code
-- What about casual copying
-- What if the information in the executable is no longer true (like you can download this code from www.xyz.com/abc/bcd)?
etc...
3) CDDL on "modifications" -- The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to
grant the rights conveyed by this License.
GPL on derived works -- Each time you redistribute the Program (or any work based on the Program),
The GPL uses the notion of derived work which has tons of case law behind it. The CDDL uses "modifications" which opens the door to which sorts of derivations are modifications. I don't see any point in this change.
Anyway I'm not sure what the CDDL offers over the GPL other than lots of chat about patent claims.
What about OpenSolaris implies lock-in, and who modded this insightful? In fact, there was a mention at Blastwave that some people are interested in a PowerPC port of OpenSolaris. That's on top of all the x86 hardware it runs on, along with all the SPARC hardware.
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
The CDDL was mentioned on an earlier slashdot article: Sun's Schwartz Attacks GPL.
The gist of what he had to say: "GPL sucks! CDDL rulez!"
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
OpenSolaris is completely open! You can create your own OpenSolaris Distro! Casper H. S. Dik, one of the OpenSolaris community advisory board members talks more about the CDDL. He basically states the CDDL is the MPL without some of the restrictions..
o la ris/search?group=comp.unix.solaris&q=Alan+Coopersm ith+cheapbytes+Opensolaris&qt_g=1&searchnow=Search +this+group
An example he gives is the right for the Mozilla foundation to revoke the MPL and the requirement to have lawsuits settled in California (which would be bad for international users). That is why SUN didn't use the MPL.
SUN enginner Alan Coopersmith points out in comp.unix.solaris that anyone can create an OpenSolaris distro.
http://groups-beta.google.com/group/comp.unix.s
If the GPL wasn't so anal it wouldn't be a problem The problem is with the GPL not everything else.
IBM isn't open sourcing AIX, or trying to.
That's probably because they can't. Sun started working on OpenSolaris five years ago, building upon the big UNIX license they got back in the early 90s.
Sure they ride the linux wave for corporate profit, but they put alot of cash into building that wave too.
Sun is doing the exact same thing with many (even GPL) projects. Sun pays people to work on OpenOffice.org. They do the same for GNOME. Sun even supports their middleware stack on Linux. Rumor has it they'll open source their middleware, too.
Their motives are different.
Red Hat and IBM are publically trade for-profit companies. Their motives are all the same. Why else would Red Hat go the RHEL/Fedora route? Also, Solaris has always been there, and Sun is only improving it (they certainly aren't taking anything away).
I don't see a double standard at all.
Really? You don't see all the different definitions of 'freedom' flying around? The slanted importance placed on 'GPL compatibility'? Those are some pretty impressive blinders.
-- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
One more thing. Joerg Schilling, famous for creating Linux's cdrecord program is creating his own OpenSolaris Distro called SchilliX. http://schillix.berlios.de/ Blastwave.org, a website that contains free software for Solaris users is also creating an OpenSolaris distro according to the regulars of the usenet group comp.unix.solaris. A benefit of OpenSolaris is that it will have a proper cdrecord functionality. Again SUN Engineer and OpenSolaris community advisory board member Casper H. S. Dik says this about OpenSolaris compared to linux. In message ID Casper Dik writes: "I think [Joerg Schilling (author of cdrecord)] prefers neither but rather has a proper USCSI interface; note that this isn't really a "IDE SCSI" emulation layer; ATAPI is SCSI-over-ATA. " The problem with the linux kernel is that a scan by cdrecord may not find all of your cdrecord devices because of the changes in the 2.6 kernel. Even Alan Cox mentioned that it was not optimal in one of the long linux.kernel threads. :-)
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.
If you follow the debate over the CDDL in the OSI mailing list, you'll notice that the OSI seemed to approve the license pretty quickly. There were many licenses waiting for approval that were submitted earlier, yet were never approved. Doesn't that seem odd?
1 35
1 37
Could it be that Sun paid off members of the OSI community to push their license through?
http://www.crynwr.com/cgi-bin/ezmlm-cgi?3:mss:9
http://www.crynwr.com/cgi-bin/ezmlm-cgi?3:mss:9
Hmmmmm..... interesting.
It's not "Free" by the Free Software Foundation.
t .html
From http://www.fsf.org/licensing/licenses/license-lis
"Common Development and Distribution License (CDDL)
This is a free software license which is not a strong copyleft; it has some complex restrictions that make it incompatible with the GNU GPL."
I don't like CDDL either, but it IS a free software license.
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"
Top 10 Reasons It's Better to be a Bartender than an Engineer:
10. You get to throw out annoying customers
9. The tips are bigger than the sunshare bonus.
8. You don't have to go to a steering committee to mix someone a drink.
7. Drunks are not nearly as long winded as Tony.
6. It doesn't take 6 signatures to hire a new bartender.
5. It's in a growth industry.
4. It's a lot more fun to work from home.
3. You don't need ARC approval for a new Cosmo recipe.
2. You never look at one of your fellow bartenders and think "what the heck does that guy do all day?"
1. Being a bartender helps you get action.
hilarious
Assuming you are referring to my blog entry discussing the way that the success, not failure, of MPL-style licenses is at the root of the license proliferation problem, I'm afraid I don't agree with you. LGPL does not include the explicit patent grant that the MPL includes, nor does it establish ground rules for maintaining a patent peace, and thus does not serve as the archetype for MPL licenses and their (many) derivatives. Instead it includes an exception to the scope of the GPL which depends on the language and architecture of the software in use and makes assumptions on how dynamic linking will take place. In all other respects it is the same as my third license category, GPL licenses.
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.
...but have a look at the http://opensolaris.org/ site:
sure. This stands on that page since months or so. Where is the code?
"First they ignore you, then they laugh at you, then they attack you, then you win." -- Mahatma Gandhi
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.
> Sometimes this support takes the form of binary or wrapped
> drivers, but that hasn't prevented Linux from remaining under the GPL.
Binary drivers are technically a violation of the GPL because they link into a GPL executable. Such linking normally requires all involved components to be GPL. Fortunately, Linus is not objecting much to this, so Linux is doing just fine. If Linux were being developed by Richard Stallman, however, it wouldn't have lasted a day.