Wikipedia seems to suggest that CDDL and GPL are incompatible, yet no one knows for sure why or how.Why and how are the CDDL and GPL are incompatible?
Are CDDL and GPL really incompatible?
gpl;license compatibility;cddl
Be careful with the claims about the CDDL on the FSF website, they are wrong. Some years ago, Eben Moglen confirmed me in a private mail that the claims about the CDDL on the FSF website are based on a false assumption on how BSD / GPL compatibility may be avowed. So the BSD text and the CDDL text on the same website both do not apply. I asked Moglen to try to encourage Richard Stallman to change this, but it seems that the attempt from Moglen to do this resulted in a discord.The CDDL is a license that does not try to enforce restrictions that would not stand in court but disallows to relicense code. The fact that on the other side, the CDDL explicitly limits it's scope to the files that contain CDDLd code, allows us make our first conclusion:Code under the CDDL and code under the GPL cannot be mixed in a single file.The GPL is a license that limits it's scope to the so called work limit and forbids to relicense code. This allows us to make the next conclusion:Code under the CDDL and code under the GPL cannot be mixed in a single work.Now we have to understand what the CDDL allows, what the GPL allows and which claims from the GPL are void because they are in conflict with the law...In the EU, we have some consumer protection laws that cause rules for terms of business that forbid some rules in contracts that cannot be set up by both parties but are dictated by one of the party. In case of the GPL, this allows users of GPLd code to interpret some of the ambiguous claims in the GPL to be interpreted by the licensee in the was that gives most convenience to the licensee.In the US, consumer protection laws are based on the construct that such unilateral contracts are not called contracts but Licenses and such a license may not enforce anything that is not explicitly listed in the US Copyright law. As a result, both jurisdictions make the claims in GPL section 0 (where the GPL tries to defined what a derivative work is) void claims.In special: the claim from the GPL that tries to define that a so called collective work is rather a derivative work is void. This is fine, as it permits to create collective works with GPLd code being used.Please first read the OSS licensing book from Lawrence Rosen: http://rosenlaw.com/open-source-licensing-software-freedom-and-intellectual-property-law/  the excellent article that is specific about the US Copyright law violation by the GPL from Lothar Determann (Professor of law in Berlin and San Francisco): http://www.cs.berkeley.edu/~tlavian/publications/article/Berkeley_Law_Journal_softwarecombinations060403.pdf that gives plenty of citations and the article from my colleague Thomas Gordon: http://www.osscc.net/pdf/QualipsoA1D113.pdfThese all explain that you may use the GPL in collective works because GPL section 0 is void.Now that we know that GPL section 0 is void and we know that CDDL and GPL cannot appear simultaneously in a single work, are there other possible methods to combine CDDL and GPL?Yes, this works because the work GNU tar cannot be used alone. It needs at least libc that is a different independent work. The GPL permits a work under GPL to be combined with other works that are under a different license if the other work is either typically part of the target platform distribution or if this other work is freely redistributable. Note that this is a statement that has been confirmed by many lawyers and the FSF that explicitly claims You are allowed to use GNU tar together with a CDDLd libc.We now can make the next conclusion:CDDL and GPL can appear together in a collective work if the related single works that are part of the collective work are independent from each other.A typical method to combine CDDL and GPL is to let a GPLd program use CDDLd libraries.While all lawyers agree to permit a GPLd program to use a CDDLd library, there is a statement from Lawrence Rosen who claims that he believes that even a GPLd library may be used by a non-GPLd program (check his book, it is free).