Common Development and Distribution License

From Wikipedia, the free encyclopedia
  (Redirected from CDDL)
Jump to: navigation, search
Common Development and Distribution License
Author Sun Microsystems
Latest version 1.0
Publisher Sun Microsystems
DFSG compatible Yes
FSF approved Yes[1]
OSI approved Yes[2]
GPL compatible No[1]
Copyleft Limited[1]
Linking from code with a different license Yes[1]

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] In 2016 according to Black Duck Software[4] the CDDL is the 15th most popular FOSS license, before the AGPL v3.

Terms[edit]

Derived from the Mozilla Public License 1.1,[5] the CDDL tries to address some of the problems of the MPL.[6] 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 according to Sun more commercial business cases.[6][7][8] Like the MPL the CDDL includes a patent grant to the licensee from all contributors ("patent peace").

History[edit]

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[edit]

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

Some describe the incompatibility as inherited from the MPL 1.1 (fixed with the MPL 2.0 according to the FSF[1]) and as a complex interaction of several clauses.[14][16]

Some of the CDDL proponents describe the GPL/CDDL compatibility situation from another point of view, they see the problem more on the GPL side than the CDDL side.[17]

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

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 Ms. Cooper as "the one who actually wrote the CDDL",[19] 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",[20] 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 massed 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.[21] Similarly, Bryan Cantrill, who was on 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 emerge of CDDL licensed software into the Linux ecosystem and the CDDL being not an obstacle.[22]

cdrtools controversy[edit]

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.[23] The author Jörg Schilling claims smake to be an independent project and therefore not violating the GPLv3.[24] And that even though the GPL requires all scripts required to build the work to be licensed freely but not necessarily under the GPL,[25][26][page needed] thus not causing an incompatibility that violates the license. He argues, in "combined works" (in contrast to "derived works") GPL and CDDL licensed code is compatible.[27][28]

CDDL'd ZFS into GPL'd Linux kernel[edit]

In 2015 the CDDL to GPL compatibility question reemerged when the Linux distribution Ubuntu announced to include OpenZFS by default.[29] 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.[30] Others followed Ubuntu's conclusion, for instance lawyer James E.J. Bottomley argued there can't be "a convincing theory of harm" developed making it impossible to bring the case to court.[31] Eben Moglen, co-author of the GPLv3 and founder of the SFLC, argued that while the letters of the GPL might be violated, the spirit of both licenses is unharmed, which would be the relevant aspect in court.[32] The SFLC mentioned also that precedent exist, the Andrew File System's kernel module, which isn't considered a derivative work of the GPL'd kernel by the kernel developers.[33][34] On the other hand, Bradley M. Kuhn and lawyer[35] 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 Linux kernel and announced their intent to achieve clarity in this question, even by court.[36][37] In April 2016, the Ubuntu 16.04 LTS release included the CDDL-licensed ZFS on Linux, as announced before.[38]

Adoption[edit]

Example projects released under CDDL:

See also[edit]

References[edit]

  1. ^ a b c d e f g h "Various Licenses and Comments About Them - Common Development and Distribution License". Free Software Foundation. Retrieved 2006-12-31. 
  2. ^ a b "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. [dead link]
  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. ^ "Top 20 licenses". Black Duck Software. 31 May 2016. Retrieved 31 May 2016. 1 MIT License 26% 2 GNU General Public License (GPL) 2.0 21% 3 Apache License 2.0 16% GNU General Public License (GPL) 3.0 9% 5 BSD License 2.0 (3-clause, New or Revised) License 6% 6 GNU Lesser General Public License (LGPL) 2.1 4% 7 Artistic License (Perl) 4% 8 GNU Lesser General Public License (LGPL) 3.0 2% 9 ISC License 2% 10 Microsoft Public License 2% 11 Eclipse Public License (EPL) 2% 12 Code Project Open License 1.02 1% 13 Mozilla Public License (MPL) 1.1 < 1% 14 Simplified BSD License (BSD) < 1% 15 Common Development and Distribution License (CDDL) < 1% 16 GNU Affero General Public License v3 or later < 1% 17 Microsoft Reciprocal License < 1% 18 Sun GPL With Classpath Exception v2.0 < 1% 19 DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE < 1% 20 CDDL-1.1 
  5. ^ CDDL_MPL_redline.pdf on sun.com (archived)
  6. ^ a b CDDL Why Summary on sun.com (archived, 2005)
  7. ^ McNealy: CDDL is 'best of both worlds' on zdnet.com by Aaron Tan (September 14, 2005)
  8. ^ CDDL on tldrlegal.com
  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. 
  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. ^ a b "For Approval: Common Development and Distribution License (CDDL)". 1 December 2004. 
  13. ^ First draft of OSI's license proliferation report. Archived from the original on 2012-02-05. Retrieved 2013-01-03.
  14. ^ a b c "Sun Proposes New Open-Source License". 
  15. ^ "The Blog of Ben Rockwood". 
  16. ^ "MPL / GPL Incompatibility". Retrieved 2007-12-03. 
  17. ^ chandan (2006-09-18). "Copyrights, Licenses and CDDL Illustrated". blogs.oracle.com. 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. 
  18. ^ 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)
  19. ^ 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... 
  20. ^ 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... 
  21. ^ Phipps, Simon. "Re: Danese Cooper claims CDDL made incompatible with GPL on purpose". Retrieved 2008-11-23. 
  22. ^ 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. 
  23. ^ Jonathan Corbet. "cdrtools - a tale of two licenses". Retrieved 2007-08-04. 
  24. ^ Jörg Schilling. "Linux controversy". Retrieved 2009-10-26. 
  25. ^ "The GNU General Public License". Retrieved 2009-10-24. 
  26. ^ "Die GPL kommentiert und erklärt Online-Version" (in German). O'Reilly. 
  27. ^ "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. 
  28. ^ "OSSCC GPL". 
  29. ^ Michael Larabel (6 October 2015). "Ubuntu Is Planning To Make The ZFS File-System A "Standard" Offering". Phoronix. 
  30. ^ Dustin Kirkland (18 February 2016). "ZFS Licensing and Linux". Ubuntu Insights. Canonical. 
  31. ^ 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)
  32. ^ Moglen, Eben; Choudhary, Mishi (26 February 2016). "The Linux Kernel, CDDL and Related Issues". 
  33. ^ 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. 
  34. ^ 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"."
  35. ^ Software Freedom Law Center Appoints Two New Attorneys to Defend and Support Free and Open Source Software (October 31, 2005)
  36. ^ GPL Violations Related to Combining ZFS and Linux on sfconservancy.org by Bradley M. Kuhn and Karen M. Sandler "Ultimately, various Courts in the world will have to rule on the more general question of Linux combinations. Conservancy is committed to working towards achieving clarity on these questions in the long term. That work began in earnest last year with the VMware lawsuit, and our work in this area will continue indefinitely, as resources permit. We must do so, because, too often, companies are complacent about compliance. While we and other community-driven organizations have historically avoided lawsuits at any cost in the past, the absence of litigation on these questions caused many companies to treat the GPL as a weaker copyleft than it actually is." (February 25, 2016)
  37. ^ 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."
  38. ^ "ZFS on Linux: Frequently asked questions: Licensing". github.com. May 26, 2016. Retrieved July 3, 2016. 

External links[edit]