@bazza - "Isn't the one defining point of GPL that any other license, no matter what it says, is essentially incompatible with it?"
Er, no. There is non-GPL code in the Linux kernel, for example some MIT stuff. However, one of the major characteristics of any GPL-type license is the "no additional restrictions" clause. That is, you may not impose any additional licensing restrictions or requirements on the software which were not originally present. That is intended to keep the software open.
The reason that CDDL is incompatible with GPL is exactly what the Sun CDDL license drafter said in on of my earlier posts.
"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"
As you can see, according to the licensing experts at Sun, CDDL would impose additional licensing requirements which are not present in GPL.
There's a list at the following link which tells you which common FOSS licenses are compatible with GPL.
Here's a few compatible examples from their list:
* Artistic License 2.0 (Perl).
* Berkeley DB License (Sleepycat Software license).
* Boost Software license.
* Newer BSD (2-clause BSD - very early versions had an third clause with a mandatory advertising requirement which was not compatible and which caused loads of headaches for other people as well).
* MIT (basically the same as 2 clause BSD).
* Intel Open Source License.
* MPL - Mozilla Public License.
* Public Domain.
* Python 2.1.1 or newer.
* Ruby license.
* X11 License.
There's more, but I've just picked the more common ones.
In addition, GPLV3 is compatible with Apache 2.0, but not the older GPLV2 license which the Linux kernel still uses. One of the big reasons for updating the GPL to version 3 was to make it compatible with the Apache license. GNU recommends Apache 2.0 over a BSD/MIT style license because it deals with patent issues (which GPLV3 also addressed in its own update).
The things that usually tend to make licenses incompatible with GPL are those which have more restrictions. For example, the Eclipse License says that the EPL is governed by the laws of New York. The US isn't the whole world and you're not allowed to impose a restriction like that on GPL software. A lot of the "corporate" open source licenses have clauses like that, which quite frankly makes them pretty useless to anyone other than the original author. There are other explanations at the above web site as well.
Another good example is the original JSON license had a clause which said: “The Software shall be used for Good, not Evil.” That made it non-GPL compatible because you have the right under the GPL to use the software for evil if that is what you want. That might sound like nit-picking, but these are the sorts of details which compatibility can fall down over.
However the big licenses today are GPL, MIT (BSD), Apache, and MPL. MIT and MPL are compatible with versions 2 and 3 of the GPL, and Apache is compatible with version 3 of the GPL.
So yes, CDDL is not compatible with GPL, but it's not because there is anything exceptional about the GPL itself.