Copyrights, Licenses and CDDL Illustrated

At the time CDDL was being introduced, I wanted to write an illustrated version of it. Merely because hardly anyone would read the full license text. Even if they did, I doubt 9 out 10 would have understood it completely. A recent CDDL/GPL misunderstanding that made news and started flame wars, prompted me to revisit an old illustration.

One approach is to understand copyrights, patents and licenses. The rights in copyrights are mainly rights to copy, modify, distribute, perform and display some 'work'... Patents protect ones right to use, manufacture or sell an 'idea' ... License is a set of rules and permissions... Other approach is to compare familiar licenses with CDDL.

This matrix tries to express some proprietary-EULA, GPL, CDDL and BSD licenses in terms of the rights in copyrights and patent rights. A green tick and red cross are self explanatory. A grey "~" means that the license does not say anything - mostly it is an implied OK.

Now lets compare and contrast GPL, CDDL and BSD licenses with respect to come common needs of developers who copy, modify or distribute a piece of software:

A common misconception is about CDDL and GPL incompatibility. (Incompatibility in the sense: to combine two source files, one under GPL and another under CDDL, to create a common executable.) GPL is incompatible with most licenses like Mozilla Public License, Apache, and CDDL. GPL wants you erase those licenses and use GPL in that place, where as these licenses do not permit erasing them. Hence the incompatibility deadlock.

Disclaimer: I am not a lawyer. I have gone to a law school, because my bank had a branch there. I have tried to keep these diagrams as factual and error free as possible. If there are errors, blame them on the tongue twisting legal-speak of license terms or please point them. These tables do not represent everything a license would say, merely hopes to capture their essence.


It's true that a picture worth a thousand words :)

Posted by adrianus on September 18, 2006 at 01:38 PM PDT #

[Trackback] Segurament a molta gent aixa de les llicencies d'�s de software cada vegada els hi costa d'entendre... com a minim a mi em passa, que ja no se quina diferencia hi ha entra la GPL, la BSD, el codi obert, etc...

Posted by Weblog d�en Xavi Caballe on September 19, 2006 at 12:27 AM PDT #

Wow! I am using it in my presentations.

Posted by Joe G on September 19, 2006 at 02:54 AM PDT #

Its awesome!!!

Posted by Gangadhar on September 19, 2006 at 03:10 AM PDT #

Very good info Chandan, thanks for posting it. Now lets see if the flame war eases off a bit.

Posted by Damien McKenna on September 19, 2006 at 04:43 AM PDT #

very imformitive it just shows that yu learn somting new every day

Posted by marco tarintino on September 19, 2006 at 06:01 AM PDT #

This is the way licenses should be written down. So that anyone can understand them. Not the BS legal talk that only a hand full of people can read. Oh and Joe G. Look at the Copyright (cc) notice!

Posted by Sander on September 19, 2006 at 06:54 AM PDT #

The BSD license column in the first table is wrong: it should have a green tick in every slot. The BSD license lets you do everything, provided you keep the copyright notice untouched.

Posted by Ed on September 19, 2006 at 03:04 PM PDT #

Nice one! One point you missed is that CDDL applies only to source files. While GPL extends to object files and executables too. Now that might be difficult to illustrate in a diagram.....

Posted by Kini on September 19, 2006 at 03:31 PM PDT #

Ed, You are right that BSD does indeed explicitly grant the right to modify in the first line of its license text. However BSD does not seem to explicitly say anything about the "right to use" or "right to sell" etc., (they are implicit). Hence the ~ mark.

Posted by Chandan on September 19, 2006 at 04:40 PM PDT #

So, with regards to "right to modify", one could say the CDDL is the same as LGPL?

Posted by rjamorim on September 20, 2006 at 02:34 AM PDT #

No, conditions for modifyng are different (as noted by \* signs)

Posted by Chandan on September 20, 2006 at 02:40 AM PDT #

[Trackback] Do you exactly know what you can do and what not with a specific license? To be honest, i’m not so sure either. Probably because they are written by lawyers. While the BSD (right, that’s the one NetBSD uses) license is pretty easy to unders...

Posted by #NetBSD Community Blog on September 20, 2006 at 05:05 AM PDT #

[Trackback] Gefunden in Tecneeqs Blog: #NetBSD Community Blog » Blog Archive » The difference between licenses, as a picture Tecneeq verweist auf den Artikel in: chandanlog(3C): Copyrights, Licenses and CDDL Illustrated Dort werden verschiedene OpenSource Lizenz...

Posted by Obis Universe on September 20, 2006 at 03:24 PM PDT #


Posted by anonymous on September 20, 2006 at 04:24 PM PDT #

BSD: Redistribution and _use_ in source and binary forms, with or without modification, are permitted... Doesn't "use" mean "perform", "display"? In what other way program in binary form may be used? You should change BSD tildas to ticks.

Posted by Vladimir Kirichenko on September 20, 2006 at 05:52 PM PDT #

The red asterisk should be in the distribution section for the GPL not in the modify section. If you read the GPL in detail, you'll understand that it's design was to allow unrestricted modification - but to preserve the unrestricted modification rights, they require that if you re-distribute the program in any way - you release the source code under the GPL as well. So basically, no restrictions on modification - only restrictions on re-distribution. The gpl3 may change this.

Posted by Brian on September 21, 2006 at 02:42 AM PDT #

Can you add LGPL licence? I'd like to see the differences.

Posted by PeP on September 21, 2006 at 10:03 AM PDT #

How would the proposed GPLv3 interact with the CDDL?

Posted by James on September 25, 2006 at 02:11 AM PDT #

Vladimir, Just like there is a difference between "using a movie" for personal use and "displaying a movie to a large audience", for software, "using Windows XP" is different from "display Windows XP in conference demo". MS-EULA seems to give the right to demo/display.

Brian, Thanks for pointing it, the red asterix should be for distribution of GPL.

James, GPLv3 should allow mixing GPL with other opensource licenses. Instead of "everything should be GPL", it could say "everything should be opensource"

Posted by Chandan on September 25, 2006 at 02:02 PM PDT #

Thanks a lot for this. Very useful and succinctly explained. Based on what Sander pointed out (cc), would you license the images above under perhaps a creative-commons license :)?

Posted by Sivakumar Thyagarajan on September 26, 2006 at 04:00 AM PDT #

Chandan, is it OK to quote you in a modified form, as of here? I hope you will consider it as a "fair usage".

Posted by Béranger on September 27, 2006 at 02:09 AM PDT #


Posted by Béranger on September 27, 2006 at 02:09 AM PDT #

Béranger, That looks great! thanks

Posted by Chandan on September 27, 2006 at 02:22 AM PDT #

A nit: The correct name for "\*" is asterisk, not asteriX!

Posted by UVR on September 27, 2006 at 03:53 AM PDT #

[Trackback] I just read this article describing the differences between some of the common open-source licensing models there are out there. This resonates with me since we're in the middle of the process of understanding what it means and takes to open...

Posted by Nick Stephen's blog on October 03, 2006 at 12:30 AM PDT #

>GPL wants you erase those licenses and use GPL in that place, where as these licenses do not permit erasing them.

Copyright forbids the changing of a license by any other party than the copyright holder. So it's impossible for the GPL to "erase those licenses".

In a work where the sourcecode comprises multiple compatible licenses of which one is the GPL the work as a whole should be distributed or used under GPL, but just like with the CDDL each seperate file (or even each significant snippet of code) retains its original license.
It's quite possible to take a project consisting of mixed BSD and GPL code, remove the GPL code, and redistribute the work under any license you like (as long as it is compatible with the used BSD license).

To summarize: The GPL does (can!) not displace any license of code with which it is combined.

Posted by guest on October 06, 2006 at 07:55 AM PDT #

Nice idea. INAL, however, I think that the "don't change license" part is not very accurate. The reason is that copyright holders CAN change their license to a different one, and they can also "dual license" their GPL code. Sure, such a change would affects only new releases, not code that has already been distributed under the GPL. So, it would make sense to mention that this restriction is just for distributors and not for the copyright holders.

Posted by Catalin Hritcu on January 13, 2007 at 05:05 PM PST #

Great post. I was looking for a non technical distinction between open source licenses. This post is really helpful. Thanks. Btw, can you include the LGPL and the Apache licenses in the comparison.

Posted by Kunal Thakar on January 28, 2007 at 04:54 PM PST #

Hi, Nice and helpful work but as others asked, could you please add the others big licences (LGPL, Apache, ...).

Posted by Cédric on April 12, 2007 at 09:29 PM PDT #

Sun says in the CDDL section 3.6. Larger Works. You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software. --------------- Surely "the requirements of this License" are amply met by ANY version of the GPL!

Posted by Paul Tomlinson on May 29, 2007 at 12:34 AM PDT #

Nice! Can you please add more licenses such as LGPL, CC, MIT, Apache... in visual way like this one?

Posted by Peng Deng on July 30, 2007 at 12:08 AM PDT #

.MOD file is the video file format used on many digital camcorders, such as the JVC Everio, and the Panasonic D-Snap SD-card camcorders. I have seen all the JVC mod file problems and hope that the following is helpful. MOD files are not MPEG-2 files although the video they contain is MPEG-2 (in the same way that VOB files are not MPEG-2 files). Go to check the most important tips & tricks when you cut, split, join, convert and burn .mod files.........

Posted by mod converter on May 31, 2008 at 11:51 AM PDT #

Post a Comment:
Comments are closed for this entry.

sayings of an hearer


« July 2016