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."
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.
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.
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
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.
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.
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
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.
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.