Skip to main content

Common Development and Distribution License

Common Development and Distribution License (CDDL) is an open source license published by Sun Microsystems to replace the Sun Public License (SPL). The CDDL license is considered by Sun (now Oracle) to be SPL version 2. It is inspired by the Mozilla Public License (MPL). Sun used to release its free software / open source projects under its Sun Public License (SPL) before it turned to rely upon the CDDL in 2004. CDDL is often dubbed as a cleaned up version of the MPL and is made to facilitate reusability.

COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0

1. Definitions.

1.1. "Contributor" means each individual or entity that creates or contributes to the creation of Modifications.

1.2. "Contributor Version" means the combination of the Original Software, prior Modifications used by a Contributor (if
any), and the Modifications made by that particular Contributor.

1.3. "Covered Software" means (a) the Original Software, or (b) Modifications, or (c) the combination of files
containing Original Software with files containing Modifications, in each case including portions thereof.

1.4. "Executable" means the Covered Software in any form other than Source Code.

1.5. "Initial Developer" means the individual or entity that first makes Original Software available under this License.

1.6. "Larger Work" means a work which combines Covered Software or portions thereof with code not governed by the terms
of this License.

1.7. "License" means this document.

1.8. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial
grant or subsequently acquired, any and all of the rights conveyed herein.

1.9. "Modifications" means the Source Code and Executable form of any of the following:

A. Any file that results from an addition to, deletion from or modification of the contents of a file containing
Original Software or previous Modifications;

B. Any new file that contains any part of the Original Software or previous Modification; or

C. Any new file that is contributed or otherwise made available under the terms of this License.

1.10. "Original Software" means the Source Code and Executable form of computer software code that is originally
released under this License.

1.11. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method,
process, and apparatus claims, in any patent Licensable by grantor.

1.12. "Source Code" means (a) the common form of computer software code in which modifications are made and (b)
associated documentation included in or with such code.

1.13. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the
terms of, this License. For legal entities, "You" includes any entity which controls, is controlled by, or is under
common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause
the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty
percent (50%) of the outstanding shares or beneficial ownership of such entity.

2. License Grants.

2.1. The Initial Developer Grant.

Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the
Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:

(a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use,
reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or
without Modifications, and/or as part of a Larger Work; and

(b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use,
practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).

(c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or
otherwise makes the Original Software available to a third party under the terms of this License.

(d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original
Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of
the Original Software with other software or devices.

2.2. Contributor Grant.

Conditioned upon Your compliance with Section 3.1 below and
subject to third party intellectual property claims, each
Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:

(a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce,
modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof),
either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and

(b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either
alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer
for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and
(2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such
combination).

(c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or
otherwise makes the Modifications available to a third party.
(d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted
from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or
(ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor
Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made
by that Contributor.

3. Distribution Obligations.

3.1. Availability of Source Code.

Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in
Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a
copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make
available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such
Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software
exchange.

3.2. Modifications.

The Modifications that You create or to which You contribute are governed by the terms of this License. You represent
that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights
conveyed by this License.

3.3. Required Notices.

You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You
may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices
of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.

3.4. Application of Additional Terms.

You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the
applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee
for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you
may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it
absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You
hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial
Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.

3.5. Distribution of Executable Versions.

You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a
license of Your choice, which may contain terms different from this License, provided that You are in compliance with
the terms of this License and that the license for the Executable form does not attempt to limit or alter the
recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered
Software in Executable form under a different license, You must make it absolutely clear that any terms which differ
from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify
the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a
result of any such terms You offer.

3.6. Larger Works.

You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and
distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are
fulfilled for the Covered Software.

4. Versions of the License.

4.1. New Versions.

Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from
time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one
other than the license steward has the right to modify this License.

4.2. Effect of New Versions.

You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the
version of the License under which You originally received the Covered Software. If the Initial Developer includes a
notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent
version of the License, You must distribute and make the Covered Software available under the terms of the version of
the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute
or otherwise make the Covered Software available under the terms of any subsequent version of the License published by
the license steward.

4.3. Modified Versions.

When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and
use a modified version of this License if You: (a) rename the license and remove any references to the name of the
license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the
license contains terms which differ from this License.

5. DISCLAIMER OF WARRANTY.

COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH
YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER
CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES
AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.

6. TERMINATION.

6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein
and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must
remain in effect beyond the termination of this License shall survive.

6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a
Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as "Participant")
alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the
Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any
and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial
Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless
if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant
either unilaterally or pursuant to a written agreement with Participant.

6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted
by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall
survive termination.

7. LIMITATION OF LIABILITY.

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL
YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF
SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER
INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE
POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT
ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY
TO YOU.

8. U.S. GOVERNMENT END USERS.

The Covered Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of
"commercial computer software" (as that term is defined at 48 C.F.R. ¤ 252.227-7014(a)(1)) and "commercial computer
software documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those
rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other
clause or provision that addresses Government rights in computer software under this License.

9. MISCELLANEOUS.

This License represents the complete agreement concerning subject matter hereof. If any provision of this License is
held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This
License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software
(except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law
provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the
jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible
for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of
the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or
regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this
License. You agree that You alone are responsible for compliance with the United States export administration
regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise
make available any Covered Software.

10. RESPONSIBILITY FOR CLAIMS.

As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or
indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and
Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to
constitute any admission of liability.

1. What are the Common Development and Distribution License (CDDL) terms and conditions?

    You’re free to reproduce and distribute any original or derivative works of any software licensed under the CDDL.
However, you must not remove or make any changes to any copyright, patent or trademark notices contained in the
software.

You must also retain any notices of licensing or any descriptive text giving attribution to any contributor or the
initial developer.

When you distribute your software in an executable form (any form other than source code), you are required to make the
source code available as well under the CDDL. The executable form may be released under the CDDL or any CDDL compatible
licenses.

The source code that you have to make available includes your contributions as long as they are addition to, deletion
from or modification of the contents of a file containing the original software – or new files that contain parts of the
original program. That means that if your additions are made in separate and independent files that do not contain the
original code, you do not have to release it under the CDDL. You may do that if you choose to, but you’re not obliged.

In addition, you must include a copy of the CDDL with any source code that you distribute. For each modification that
you make, you must identify yourself as the modifier by including a notice in your modified files.

2. Is the CDDL considered copyleft?

    The CDDL is considered a weak copyleft license.

A copyleft license, like the GNU GPL, the MPL or the Eclipse License, requires that you give down-the-stream users of
the program the same rights that you yourself received. For that purpose, you are required to distribute the program –
including any modified and extended versions of it – under the same license. This means that using such a copyleft
licensed component in your code, will require you to release your entire program as an open source. Essentially, it
means to distribute the original or modified software under the same license that it originally carried.

The CDDL requires you to release the source code of only the CDDL licensed components that you use or modify in your
code under the CDDL. If you distribute your software in its executable form, you are bound to include the source code
form but the executable can be distributed either under the CDDL or under a compatible license.

3. Does the CDDL grant patent rights?

    Yes, it does. Any contributor grants you the right to use the patents that his contribution embodies. CDDL takes a very
clear stand on patents — you can use, modify, and redistribute CDDL licensed components without any concerns about any
patents that the code contributors might hold on the contributed technology.

The CDDL discourages patent litigations against developers by terminating the usage rights to of anyone who initiates a
patent claim against a developer about the code that h/she has contributed.

4. What is the difference between CDDL version 1.0 and CDDL version 1.1?

    CDDL version 1.1 was submitted a year after the first draft in early January 2005. It 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.

5. What is the difference between the CDDL and the GNU GPL and is it compatible with them?

    The GNU GPL requires that you subject to it any program that is a derivative work of the original software. That means
that you have to make its source code available. This is considered strong reciprocity. The CDDL takes a software
approach. As we have seen, if your additions are made in independent files that do not contain any part of the original
program – then these files are not subject to the CDDL. It means, amongst other things, that you do not have to release
these files’ source code.

Furthermore, the GPL takes a tough stand on changing the license’s terms and conditions. While certain additions are
permitted under GPL 3, the general rule is that no other changes can be introduced. As opposed to that the CDDL only
subject the source code version of the software to its provisions. The executable version can be distributed under the
terms of any other license that you choose, provided that it is in compliance with the terms of the CDDL and that the
license for the executable does not attempt to limit or alter the recipients’ rights in the source code form of the
program.

Due to these differences, the CDDL is not considered compatible with the GNU GPL.

6. What is the difference between the CDDL and the Mozilla Public License (MPL)?

    The CDDL is based on the Mozilla Public License (MPL) version 1.1, but it has made few changes to make it more
accessible to developers, and the MPL version 2.0 was also significantly modified.

The two main differences between the two licenses are GPL compatibility and simplicity:

Although both licenses are considered as weak copyleft, the MPL version 2.0 is compatible with the GNU GPL while the
CDDL is not.
CDDL is better structured and it deliberately uses a simpler, more consistent language to make the license more
understandable and increase developer’s adoption rate.

7. What is the difference between the CDDL and the Apache and BSD licenses

    The Apache and BSD licenses are permissive open source licenses. You are not required to make your modifications and
additions available under these licenses when you choose to distribute a program that they cover. CDDL, as noted above,
subjects some of your contributions to its terms and conditions. In addition to that, both Apache 2.0 and BSD are
considered compatible with the GNU GPL, unlike CDDL. However, the CDDL is compatible with both the Apache and the BSD
licenses.

8. Can I use CDDL licensed components in a commercial product?

    Yes. You can use CDDL licensed components in a commercial product. You can even sell and resell software with CDDL
licensed components. However, when you do any of these, make sure to release any original or modified CDDL licensed
components contained in your software under the CDDL only and meet the other terms and conditions of the license
mentioned above.

9. Can I license my software under the CDDL?

    Yes. The CDDL is designed to be reusable. So you can license your software under the CDDL. In fact, when the MPL was
modified to draft the CDDL, it was deliberately kept simple so developers will adopt it and reuse it easily.

10. Can I combine CDDL licensed components with proprietary code or code licensed under other open source licenses?

    CDDL licensed components can be mixed with components licensed under other licenses, whether open source or proprietary.
If compiled with other open source licensed components, then these licenses must be compatible with the CDDL. It is
always recommended to take special care and – if necessary – consult an attorney when you combine free software with
proprietary code or even with other open source licenses.