Common Development and Distribution License

Last updated
Common Development and Distribution License
Author Sun Microsystems, Oracle Corporation
Latest version1.1
Publisher Oracle Corporation
SPDX identifierCDDL-1.1
CDDL-1.0
Debian FSG compatible Yes
FSF approved Yes (only 1.0) [1]
OSI approved Yes (only 1.0) [2]
GPL compatible No [1]
Copyleft Yes, file-level [1]
Linking from code with a different licence Yes [1]

The Common Development and Distribution License (CDDL) is a free and open-source software license, [3] 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. [2] 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). [1]

Contents

Terms

Derived from the Mozilla Public License 1.1, [4] the CDDL tries to address some of the problems of the MPL. [5] 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. [5] [6] [7]

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. [8]

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. [9]

The CDDL was developed by a Sun Microsystems team (among them Solaris kernel engineer Andrew Tucker [10] [11] and Claire Giordano [12] ), based on the MPL version 1.1. On December 1, 2004 the CDDL was submitted for approval to the Open Source Initiative [12] 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. [13]

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). [1]

GPL compatibility

The question of whether and when both licenses are incompatible sparked debates in the free software domain in 2004 to 2006. [14] [15] For instance, the FSF considered the CDDL incompatible to their GPL license, without going into detail until 2016. [16]

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 [1] ) and results from a complex interaction of several clauses; [14] [17] the root of the problem being GPL virality, similar to other cases of GPL incompatibility. [18] Some people argue that Sun (or the Sun engineer) as creator of the license made the CDDL intentionally GPL incompatible. [14] 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. [19]

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", [20] 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", [21] 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. [22] 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. [23]

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. [24]

The author, Jörg Schilling, claimed that smake is an independent project and does not violate the GPLv3. [25] 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. [26] [27] [ page needed ] 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. [28] [29]

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. [30]

ZFS in the Linux kernel

In 2015, the CDDL to GPL compatibility question reemerged when Ubuntu announced inclusion of OpenZFS by default. [31]

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.) [32]

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. [33]

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. [34]

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. [35] [36]

On the other hand, Bradley M. Kuhn and attorney Karen M. Sandler from the Software Freedom Conservancy [37] argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the kernel. [38] In April 2016, the Ubuntu 16.04  LTS release included the CDDL-licensed ZFS on Linux. [39]

Adoption

Example projects released under CDDL:

See also

Related Research Articles

<span class="mw-page-title-main">Free software</span> Software licensed to be freely used, modified and distributed

Free software, libre software, or libreware is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

<span class="mw-page-title-main">GNU</span> Free software collection

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

<span class="mw-page-title-main">Open-source license</span> Software license allowing source code to be used, modified, and shared

Open-source licenses facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative works. Free and open-source software licenses use existing legal structures for an inverse purpose. They grant freedoms to promote sharing or collaboration. They grant the recipient the rights to use the software, examine the source code, modify it, and distribute the modifications. These licenses target computer software. Open-source licenses can also cover hardware, infrastructure, drinks, books, and music.

<span class="mw-page-title-main">Oracle Solaris</span> Unix operating system originally developed by Sun Microsystems

Solaris is a proprietary Unix operating system originally developed by Sun Microsystems. After the Sun acquisition by Oracle in 2010, it was renamed Oracle Solaris.

The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls. The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird. The MPL license is developed and maintained by Mozilla, which seeks to balance the concerns of both open-source and proprietary developers; it is distinguished from others as a middle ground between the permissive software BSD-style licenses and the General Public License. So under the terms of the MPL, it allows the integration of MPL-licensed code into proprietary codebases, but only on condition those components remain accessible.

<span class="mw-page-title-main">OpenSolaris</span> Open source operating system from Sun Microsystems based on Solaris

OpenSolaris is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around the eponymous operating system software.

<span class="mw-page-title-main">DTrace</span> Dynamic tracing framework for kernel and applications

DTrace is a comprehensive dynamic tracing framework originally created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released under the free Common Development and Distribution License (CDDL) in OpenSolaris and its descendant illumos, and has been ported to several other Unix-like systems.

Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g. dual-licensed for software licensed under two different licenses.

<span class="mw-page-title-main">Nexenta OS</span> Discontinued computer operating system

Nexenta OS, officially known as the Nexenta Core Platform, is a discontinued computer operating system based on OpenSolaris and Ubuntu that runs on IA-32- and x86-64-based systems. It emerged in fall 2005, after Sun Microsystems started the OpenSolaris project in June of that year. Nexenta Systems, Inc. initiated the project and sponsored its development. Nexenta OS version 1.0 was released in February 2008.

cdrtools is a collection of independent projects of free software/open source computer programs.

This comparison only covers software licenses which have a linked Wikipedia article for details and which are approved by at least one of the following expert groups: the Free Software Foundation, the Open Source Initiative, the Debian Project and the Fedora Project. For a list of licenses not specifically intended for software, see List of free-content licences.

License proliferation is the phenomenon of an abundance of already existing and the continued creation of new software licenses for software and software packages in the FOSS ecosystem. License proliferation affects the whole FOSS ecosystem negatively by the burden of increasingly complex license selection, license interaction, and license compatibility considerations.

License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine source code from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into proprietary software. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.

<span class="mw-page-title-main">Free-software license</span> License allowing software modification and redistribution

A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as the copyright law recognizes both forms.

<span class="mw-page-title-main">GNU General Public License</span> Series of free software licenses

The GNU General Public License is a series of widely used free software licenses or copyleft that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use and was originally written by Richard Stallman, the founder of the Free Software Foundation (FSF), for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition. These GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License and even further distinct from the more widely used permissive software licenses BSD, MIT, and Apache.

<span class="mw-page-title-main">Illumos</span> Free software implementation of the Solaris kernel

Illumos is a partly free and open-source Unix operating system. It is based on OpenSolaris, which was based on System V Release 4 (SVR4) and the Berkeley Software Distribution (BSD). Illumos comprises a kernel, device drivers, system libraries, and utility software for system administration. This core is now the base for many different open-sourced Illumos distributions, in a similar way in which the Linux kernel is used in different Linux distributions.

<span class="mw-page-title-main">OpenZFS</span> Open-source implementation of the ZFS file system

OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system and now maintained by the OpenZFS Project. It supports features like data compression, data deduplication, copy-on-write clones, snapshots, and RAID-Z. It also supports the creation of virtual devices, which allows for the creation of file systems that span multiple disks.

Software sublicensing is applied in open-source software development when software licenses of software modules are incompatible and are required to be compatible for a greater combined work. Licenses applied to software as copyrightable works, in source code as binary form, can contain contradictory clauses. These requirements can make it impossible to combine source code or content of several software works to create a new combined one.

References

  1. 1 2 3 4 5 6 7 "Various Licenses and Comments About Them - Common Development and Distribution License". Free Software Foundation. Retrieved 2020-10-14.
  2. 1 2 "Can code licensed under the CDDL be combined with code licensed under other open source licenses?". OpenSolaris FAQ: Common Development and Distribution License (CDDL). OpenSolaris. Archived from the original on 2009-10-06.
  3. Common Development and Distribution License (CDDL) Information, archived from the original on 2009-03-04, We have drafted a new open source license ...
  4. CDDL_MPL_redline.pdf on sun.com (archived)
  5. 1 2 CDDL Why Summary on sun.com (archived, 2005)
  6. McNealy: CDDL is 'best of both worlds' on zdnet.com by Aaron Tan (September 14, 2005)
  7. CDDL on tldrlegal.com
  8. "Common Development and Distribution License 1.0 | Open Source Initiative". opensource.org. 31 October 2006. Retrieved 2020-07-18.
  9. "SPL to CDDL as of NetBeans 5.0 - Why change licenses?". NetBeans. Archived from the original on 2007-02-24. Retrieved 2006-12-31. The SPL was based on the Mozilla license - as CDDL is as well. [..] One way to think of the CDDL is as a cleaned-up version of the Mozilla license - anyone can reuse it as-is. It's the SPL version 2.0.
  10. "Andy Tucker on the CDDL". Alan Hargreaves' Blog. 12 April 2005.
  11. Open source licenses, IP, and CDDL on Andrew Tuckers blog, "as one of the drafters of the CDDL I can at least comment on what the license says, and on our intentions in creating it." (Tuesday April 12, 2005)
  12. 1 2 "For Approval: Common Development and Distribution License (CDDL)". 1 December 2004.
  13. First draft of OSI's license proliferation report. Archived from the original Archived 2014-01-04 at the Wayback Machine on 2012-02-05. Retrieved 2013-01-03.
  14. 1 2 3 "Sun Proposes New Open-Source License".[ permanent dead link ]
  15. "The Blog of Ben Rockwood".
  16. "Interpreting, enforcing and changing the GNU GPL, as applied to combining Linux and ZFS". Free Software Foundation. April 11, 2016. Retrieved 2017-07-27.
  17. "MPL / GPL Incompatibility" . Retrieved 2007-12-03.
  18. chandan (2006-09-18). "Copyrights, Licenses and CDDL Illustrated". blogs.oracle.com. Archived from the original on 2015-05-29. Retrieved 2015-05-29. 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.
  19. Danese Cooper (2006). OpenSolaris and CDDL discussion at Debconf 2006 (Ogg Theora). Event occurs at 27:26. 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 (alternate URL, see 27:27 through 28:24)
  20. Simon Phipps (2006). OpenSolaris and CDDL discussion at Debconf 2006 (Ogg Theora). Debconf 2006. Event occurs at 13:00. ...we have got Danese Cooper in the room, and she is the one who actually wrote the CDDL...
  21. Simon Phipps (2006). OpenSolaris and CDDL discussion at Debconf 2006 (Ogg Theora). Event occurs at 36:00. I actually disagree with Danese to some degree...
  22. Phipps, Simon (2006-09-04). "Re: Danese Cooper claims CDDL made incompatible with GPL on purpose". OpenSolaris-Discuss List. Retrieved 2019-03-07. Nonetheless she is wrong to characterise the opinion of the Solaris engineering team in the way she does. She is speaking this way because she lost an argument inside Sun, not because her view is representative of the views of Sun or its staff in the way she claims. She, along with many actual engineers, was an advocate of using GPL for OpenSolaris but the need to release rather than wait for one of {GPL v3, Mozilla license revision, encumbrance removal} meant that this was not possible. I am still furious with her for the statement she made at DebConf, which was spiteful and an obstacle to a united FOSS movement.
  23. Bryan Cantrill (2015-04-06). "I am the CTO of Joyent, the father of DTrace and an OS kernel developer for 20 years. AMA!". reddit.com . Retrieved 2016-03-11. Question: Was the CDDL designed to prevent Sun technologies from entering Linux? - BC: Great question, and the answer was that we didn't know -- but the expectation was that it would be ported to Linux relatively quickly. I remember vividly standing over a terminal with a bunch of people as we actually launched OpenSolaris (like, clicked carriage return on making the DTrace code live -- which was the first in the chute), and the Sun Legal guy and I were chatting. We were both wondering if DTrace was going to show up in Linux in a month or if it would take two years. But that was the range of guesses: neither of us believed that the Linux community themselves would hold up CDDL as an obstacle, and certainly if you told me that a decade later, DTrace wouldn't be in Linux because of licensing FUD, I wouldn't have believed you. Of course, in hindsight, it all seems so clear: NIH is enormously powerful, and we were fools for discounting it.
  24. "cdrtools - a tale of two licenses [LWN.net]". lwn.net. Retrieved 2020-07-18.
  25. "Cdrtools (Cdrecord) release information". cdrtools.sourceforge.net. Retrieved 2020-07-18.
  26. "The GNU General Public License" . Retrieved 2009-10-24.
  27. "Die GPL kommentiert und erklärt Online-Version" (in German). O'Reilly. Archived from the original on 2015-09-08. Retrieved 2010-11-17.
  28. "Neuer Streit um cdrtools". Pro-Linux (in German). Laut Aussagen von Jörg Schilling sind die Lizenzen durchaus miteinander kompatibel. Die Regeln werden oftmals falsch ausgelegt. Die Aussagen der FSF-Verantwortlichen seien oft widersprüchlich und in sich nicht schlüssig.
  29. "OSSCC GPL".
  30. "Forbidden items - Fedora Project Wiki". fedoraproject.org. Retrieved 2020-07-18.
  31. Michael Larabel (6 October 2015). "Ubuntu Is Planning To Make The ZFS File-System A "Standard" Offering". Phoronix.
  32. Dustin Kirkland (18 February 2016). "ZFS Licensing and Linux". Ubuntu Insights. Canonical.
  33. Are GPLv2 and CDDL incompatible? on hansenpartnership.com by James E. J. Bottomley, "What the above analysis shows is that even though we presumed combination of GPLv2 and CDDL works to be a technical violation, there's no way actually to prosecute such a violation because we can’t develop a convincing theory of harm resulting. Because this makes it impossible to take the case to court, effectively it must be concluded that the combination of GPLv2 and CDDL, provided you’re following a GPLv2 compliance regime for all the code, is allowable." (23 February 2016)
  34. Moglen, Eben; Choudhary, Mishi (26 February 2016). "The Linux Kernel, CDDL and Related Issues".
  35. Moglen, Eben; Choudhary, Mishi (26 February 2016). "The Linux Kernel, CDDL and Related Issues". Historically, there's been things like the original Andrew filesystem module: a standard filesystem that really wasn't written for Linux in the first place, and just implements a UNIX filesystem. Is that derived just because it got ported to Linux that had a reasonably similar VFS interface to what other UNIXes did? ... Personally, I think that case wasn't a derived work, and I was willing to tell the AFS guys so.
  36. Copying on git.kernel.org "NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls – this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work"."
  37. Software Freedom Law Center Appoints Two New Attorneys to Defend and Support Free and Open Source Software (October 31, 2005)
  38. GPL Violations Related to Combining ZFS and Linux on sfconservancy.org by Bradley M. Kuhn and Karen M. Sandler, "Conservancy (as a Linux copyright holder ourselves), along with the members of our coalition in the GPL Compliance Project for Linux Developers, all agree that Canonical and others infringe Linux copyrights when they distribute zfs.ko."
  39. "openzfs/zfs". GitHub. Retrieved 2020-07-18.
  40. "illumos Distributions". The illumos Family. illumos. 20 March 2017.