# Common Development and Distribution License

The Common Development and Distribution License (CDDL) is a free and open-source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary. In 2005 the Open Source Initiative approved the license. The Free Software Foundation (FSF) considers it a free software license, but one which is incompatible with the GNU General Public License (GPL).

## Terms

Derived from the Mozilla Public License 1.1, the CDDL tries to address some of the problems of the MPL. Like the MPL, the CDDL is a weak copyleft license in-between GPL license and BSD/MIT permissive licenses, requiring only source code files under CDDL to remain under CDDL.
Unlike strong copyleft licenses like the GPL, mixing of CDDL licensed source code files with source code files under other licenses is permitted without relicensing. The resulting compiled software product ("binary") can be licensed and sold under a different license, as long as the source code is still available under CDDL, which should enable more commercial business cases, according to Sun.
Like the MPL the CDDL includes a patent grant to the licensee from all contributors ("patent peace"). However, in section 2.1(d), the patent grant is lost if the code implementing a patented feature is modified.

## History

The previous software license used by Sun for its open source projects was the Sun Public License (SPL), also derived from the Mozilla Public License. The CDDL license is considered by Sun (now Oracle) to be SPL version 2.
The CDDL was developed by a Sun Microsystems team (among them Solaris kernel engineer Andrew Tucker and Claire Giordano), based on the MPL version 1.1. On December 1, 2004 the CDDL was submitted for approval to the Open Source Initiative and was approved as an open source license in mid January 2005. The second CDDL proposal, submitted in early January 2005, includes some corrections that prevent the CDDL from being in conflict with European Copyright law and to allow single developers to use the CDDL for their work.
In 2006, in the first draft of the OSI's license proliferation committee report, the CDDL is one of nine preferred licenses listed as popular, widely used, or with strong communities.
While the Free Software Foundation (FSF) also considered the CDDL a free software license, they saw some incompatibilities with their GNU General Public License (GPL).

### GPL compatibility

The question of whether and when both licenses are incompatible sparked debates in the free software domain in 2004 to 2006. For instance, the FSF considered the CDDL incompatible to their GPL license, without going into detail until 2016.
CDDL is one of several Open Source Licenses which are incompatible with GPL. This characteristic was inherited from the MPL 1.1 (fixed with the MPL 2.0 according to the FSF) and results from a complex interaction of several clauses; the root of the problem being GPL virality, similar to other cases of GPL incompatibility. Some people argue that Sun (or the Sun engineer) as creator of the license made the CDDL intentionally GPL incompatible. According to Danese Cooper one of the reasons for basing the CDDL on the Mozilla license was that the Mozilla license is GPL-incompatible. Cooper stated, at the 6th annual Debian conference, that the engineers who had written the Solaris kernel requested that the license of OpenSolaris be GPL-incompatible.
   Mozilla was selected partially because it is GPL incompatible. That was part of the design when they released OpenSolaris. ... the engineers who wrote Solaris ... had some biases about how it should be released, and you have to respect that.
Simon Phipps (Sun's Chief Open Source Officer at the time), who had introduced Cooper as "the one who actually wrote the CDDL", did not immediately comment, but later in the same video, he says, referring back to the license issue, "I actually disagree with Danese to some degree", while describing the strong preference among the engineers who wrote the code for a BSD-like license, which was in conflict with Sun's preference for something copyleft, and that waiting for legal clearance to release some parts of the code under the then unreleased GNU GPL v3 would have taken several years, and would probably also have involved mass resignations from engineers (unhappy with either the delay, the GPL, or both—this is not clear from the video).
Later, in September 2006, Phipps rejected Cooper's assertion in even stronger terms. Similarly, Bryan Cantrill, who was at Sun at that time and involved in the release of CDDL licensed software stated in 2015 that he and his colleagues expected in 2006 the fast emergence of CDDL licensed software into the Linux ecosystem and the CDDL being not an obstacle.

### cdrtools controversy

The GPL compatibility question was also the source of a controversy behind a partial relicensing of cdrtools to the CDDL which had been previously all GPL. In 2006, the Debian project declared the cdrtools legally undistributable because the build system was licensed under the CDDL.
The author, Jörg Schilling, claimed that smake is an independent project and does not violate the GPLv3. Schilling also argued that even though the GPL requires all scripts required to build the work to be licensed freely, they do not necessarily have to be under the GPL. Thus not causing an incompatibility that violates the license.
He also argued that in "combined works" (in contrast to "derived works") GPL and CDDL licensed code is compatible.
Red Hat's attorneys have prevented cdrtools from being in Fedora or Red Hat Enterprise Linux, arguing that Schilling has an "unorthodox" view of copyright law that isn't shared by their legal counsel or the Free Software Foundation.

### ZFS in the Linux kernel

In 2015, the CDDL to GPL compatibility question reemerged when Ubuntu announced inclusion of OpenZFS by default.
In 2016 Ubuntu announced that a legal review resulted in the conclusion that it is legally acceptable to use ZFS as binary kernel module in Linux. (As opposed to building it into the kernel image itself.)
Others followed Ubuntu's conclusion, for instance James E. J. Bottomley argued there cannot be "a convincing theory of harm" developed, making it impossible to bring the case to court.
Eben Moglen, co-author of the GPLv3 and founder of the SFLC, argued that while the letter of the GPL might be violated, the spirit of both licenses is unharmed, which would be the relevant aspect in court.
The SFLC mentioned also that a precedent exists with the Andrew File System's kernel module, which is not considered a derivative work of the kernel by the kernel developers.
On the other hand, Bradley M. Kuhn and attorney Karen M. Sandler from the Software Freedom Conservancy argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the kernel. In April 2016, the Ubuntu 16.04 LTS release included the CDDL-licensed ZFS on Linux.

## Adoption

Example projects released under CDDL:
* OpenSolaris (including DTrace, initially released alone, and ZFS)
* illumos (as OpenSolaris OS/Net, continuation project) and illumos distributions
* OpenZFS multi platform open source volume manager and file system
* NetBeans IDE and RCP
* GlassFish
* JWSDP
* Project DReaM
* cdrtools
* OpenDJ