OpenSolaris

  subsites   code review   repo   packages   bugs   defect   polls   planet
You are not signed in. Sign in or register.

FAQ: Common Development and Distribution License (CDDL)

What is the CDDL and why was it chosen for the OpenSolaris program?

CDDL is the Common Development and Distribution License. It is an open source license that takes the well-known Mozilla Public License (MPL) and makes it reusable without modification. We wanted a copyleft license that provided open source protections and freedom and also enabled creation of larger works for commercial purposes.

Has the CDDL been approved by the OSI?

Yes. The CDDL meets the requirements of the Open Source Definition and has been approved as an open source license by the Open Source Initiative.

Why did you write another open source license?

We reviewed a number of existing open source licenses but were unable to find one that was appropriate for the OpenSolaris source code. We modified the license that most closely met our needs (MPL) and feel our changes made contributors' rights even clearer. We designed the CDDL to be reusable and attractive to other open source projects with similar goals.

Will all of the Solaris operating system be released under the CDDL?

We plan to release as much of the source code as possible under the CDDL. Third-party open source used in the Solaris operating system will remain available under its associated license(s). For example, the version of Perl included in the OpenSolaris source base is licensed under the Perl Artistic License. And code that can not be made available as open source may be provided in binary form. Refer to the roadmap for information about the planned availability of particular technology.

Why did you base the CDDL on the MPL?

The MPL is a well-regarded license and had several attributes Sun was looking for, including:

  • The requirement that the source of modifications be made available under the open source license;
  • The ability to distribute executables under a different license;
  • A "file-based" definition of modifications and covered software;
  • An explicit patent license.

What improvements over the MPL did you make?

In addition to retaining all desired features of the MPL (detailed above), the CDDL is designed to be reused by others and contains several improvements to make it more general:

  • Required notices were simplified;
  • The defnition of Modifications was clarified to make it easier for people to understand what is covered by the license and what is not;
  • Concerns about choice of law, venue and jurisdiction were addressed;
  • An option to make the Covered Software available under a specific version of the license was added.

A summary description of the changes and the redline diffs (PDF) between the MPL 1.1 and the CDDL are provided.

If you wanted a copyleft license, why didn't you just use the GPL or LGPL?

We needed an open source license that allowed files released under the license to be linked with files released under other licenses. While a license like LGPL would allow this for dynamically-linked code, we also needed to be able to release software that statically links source files available under different licenses. In addition, we wanted to allow others to add externsions to OpenSolaris with different license terms. This was only possible under a license like the MPL; however, we could not use the MPL because it is not a "template" license allowing reuse by others. Consequently, we crafted a variant of the MPL, taking the opportunity to make it a template license as a step towards reducing license proliferation for others finding themselves in a similar position.

What does the CDDL say about patents?

The CDDL provides an explicit patent license for code released under the license. This means that you can use, modify, and redistribute code released under CDDL without worrying about any patents that the contributors of the code (including Sun) might have on the contributed technology. The license also includes a provision to discourage patent litigation against developers by revoking the rights to the code for anyone initiating a patent claim against a developer regarding code they have contributed.

Can code licensed under the CDDL be combined with code licensed under other open source licenses?

CDDL is file-based. That means files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary. However, other licenses may have different restrictions which may prevent such combination; it is your responsibility to read and recognize such restrictions.

What about dual licensing? Can I license my code under the CDDL as well as another license?

Yes, if you are the copyright owner for the code you can choose to license under multiple licenses, including the CDDL.

If I use code licensed under the CDDL in my proprietary product, will I have to share my source code?

Yes, for any source files that are licensed under the CDDL and any modifications you make. However, you don't need to share the source for your proprietary source files.

If I contribute code to the OpenSolaris source base, what will I be asked to do as far as licensing is concerned?

Code contributed to the OpenSolaris source base must be made available under the CDDL, and you must submit a signed Contributor Agreement. Projects may have different contribution submission processes. Contact the Project Leaders - listed on the project page - for specifics.

May I take portions of the OpenSolaris source code and use it in another code base?

Yes, you can use the OpenSolaris source code in other projects as long as you comply with the terms of the CDDL.

Can I redistribute or sell the OpenSolaris source code with my modifications?

Yes, you can modify and redistribute code licensed under the CDDL, including charging for it if you wish. However, you will need to meet the terms of the CDDL, including making the source of your modified code available under the CDDL.

May I use the OpenSolaris source code or binaries commercially?

Yes, you may use the OpenSolaris source code in commercial products. Note that if you distribute binaries built from code released under the CDDL, you will need to meet the terms of the CDDL and distribute the corresponding source code under the CDDL. See the license for details.

Can I use the CDDL for my project (unrelated to the OpenSolaris program)?

Yes, the license is intended to be reusable by anyone.

Can Sun ever take away the OpenSolaris source code?

No. The code is available to the community forever.

Other FAQs