今天我们来整理一下通用开发和发行许可证 CDDL 的十大问题清单。
通用开发与发行许可证(Common Development and Distribution License,CDDL)由已被甲骨文公司收购的太阳微系统公司(Sun Microsystems)发布的一种开源许可证,用于取代 Sun Public License(SPL)。SUN 公司(即现在的甲骨文公司)认为 CDDL 许可证是 SPL 许可证的 2.0 版本,是受 Mozilla 公共许可证(Mozilla Public License,MPL)启发而来的。在 2004 年前,SUN 公司曾根据其 SPL 发行其自由软件/开源项目。CDDL 通常被称作 MPL 的整洁版本,旨在促进可重用性。
01
通用开发和发行许可证
CDDL 的条款和条件是什么?
你可以复制和分发 CDDL 许可的任何软件的任何原始或其衍生作品,但不能删除或更改软件中所包含的任何版权、专利或商标声明。
你还必须保留其它贡献者或初始开发者的许可声明或其它描述性文字。
当你的软件以可执行文件的形式(除源码外的任何形式)分发时,要求你的软件也处于 CDDL 的许可之下。可执行文件在释出时可以使用 CDDL 许可证,或其他任何与 CDDL 兼容的许可证。
如果你的贡献只是在原有的文件中增加、删除或修改内容,或者在新的文件中包含了部分原始的程序,那么你就必须释出这部分贡献的源代码。这就意味着,如果你添加的内容在独立文件中,并不包含原始代码,则不必在 CDDL 下释出。如果你愿意在 CDDL 下释出,你可以这么做,但这不是你的义务。
此外,你必须在分发的源码中包含 CDDL 副本。对于你所做的每次修改,你都应该在修改的文件中加一个告知信息,表明自己是修改者。
02
CDDL 是版权向左的吗?
CDDL 属于弱版权向左许可证(weak copyleft license)。
诸如 GNU GPL、MPL 或 Eclipse 许可证这样的 Copyleft 许可证,要求你向下游用户授予与你相同的权利。为此,你需要在同一许可证下分发程序,包括程序的所有修改版本和扩展版本。这意味着在代码中使用 Copyleft 许可的组件,会导致你必须将整个程序以开源的形式发布。从本质上讲,这意味着要以与原始软件所携带的相同许可证来分发原始或修改后的软件。
CDDL 仅要求你在 CDDL 许可证下发布你软件中使用到或修改了 CDDL 许可组件的那部分源代码。如果是以可执行文件的形式分发软件,则必须包含源码,但可执行软件可以以 CDDL 许可证或其他任何兼容许可证的形式分发。
03
CDDL 是否授予专利权?
是的。任何贡献者均授予你使用其贡献所体现的专利权利。CDDL 在专利方面持明确立场,你可以使用、修改和再分发 CDDL 许可的组件,而不必担心代码贡献者可能对所贡献的技术拥有任何专利。
CDDL 通过终止对开发者提出的关于任何人使用其所贡献代码的专利主张来阻止针对开发者的专利诉讼。
04
CDDL 的 1.0 版本和 1.1 版本的区别
CDDL 1.1 版本在 2005 年 1 月初发布第一份草案,并于次年发表。其中包括一些更正,用于防止 CDDL 与欧洲版权法(European Copyright law)相抵触,并允许独立开发者在其工作中使用 CDDL。
05
CDDL 与 GNU GPL 有什么区别?
是否兼容?
GNU GPL 会将你的程序视为原始软件的衍生产品,这意味着你必须提供源代码——这被视为强互惠性(strong reciprocity)。CDDL 采用软件方法(software approach)——如我们所见——如果你在独立的不包含原始程序任何部分的文件中添加内容,那么这些文件就不受 CDDL 的约束。这就意味着——除此以外(amongst other things)——你无需释出这些文件的源码。
此外,GPL 在变更许可证条件可条件方面持强硬立场,尽管 GPLv3 增加了某些变通,但一般规则是不能引入其他变更。对此,CDDL 仅要求软件的源码部分遵循其规定。对于可执行文件的许可证,你可以选择任何许可证的条款进行分发,只要它符合 CDDL 的条款,且不试图限制或更改源码下游使用者的权利。
正是由于这些差异,CDDL 被认为与 GNU GPL 不兼容。
06
CDDL 与 Mozilla 公共许可证
(MPL)有什么区别?
CDDL 基于 Mozilla 公共许可证(MPL)1.1 版本,但进行了一些修改,使其更易于被开发者所使用,而且 MPL 2.0 版本也做了重大修改。
CDDL 和 MPL 这两个许可证的主要区别是与 GPL 的兼容性和简单性:
尽管它们都属于弱版权向左许可证,但 MPL 2.0 与 GNU GPL 兼容,而 CDDL 与 GNU GPL 不兼容;
CDDL 具有更好的结构,并特意使用一种更简洁、更一致的语言,使许可证更易于理解,并提高了在开发者中的采用率。
07
CDDL 与 Apache 及 BSD 许可证
有什么区别?
Apache 和 BSD 许可证是宽松开源许可证,当你选择分发使用这些许可证的程序时无需做额外的修订。而对 CDDL 来说,如上文所述,CDDL 会使你的某些贡献受到条款和条件的约束。表面上看上去,Apache 许可证 2.0 和 BSD 都被认为与 GNU GPL 相兼容,不像 CDDL。实际上,CDDL 与 Apache 和 BSD 许可证是兼容的。
08
我可在商业产品中使用
CDDL 许可的组件吗?
是的,你可以在商业产品中使用 CDDL 许可的组件,甚至可以出售、转售带有 CDDL 许可组件的软件。但在这过程中,请确保在 CDDL 许可证下释出使用原始或经过修改的 CDDL 许可组件,并满足上述许可的其他条款和条件。
09
我可以根据 CDDL
许可我的软件吗?
是的,CDDL 被设计为可重用,因此你可以根据 CDDL 许可你的软件。实际上,当初对 MPL 进行修改并形成 CDDL 时,就特意维持它的简单性,以便开发者们能轻易重用。
10
是否可以将 CDDL 许可的组件与
专有代码或根据其他开源许可证
获得许可的源代码结合使用?
CDDL 许可的组件可以与其他许可证(开源许可或专有)许可的组件混合使用。如果与其他开源许可的组件一同编译,那么这些许可证必须与 CDDL 相兼容。建议你要格外小心,在将自有软件和专有代码(或其他开源许可证)结合使用时,如果有必要,请咨询专门的律师。
至此,这十个关于通用开发与发行许可证(CDDL)的问题回答完毕,如果你还有其他问题,我(此处指作者)十分乐意帮你找到答案。
本文作者和译者均不是律师(或其他意义上的法律工作者),所以你不应将本文(原文和译文)视作任何形式的法律建议。如果需要法律咨询,请联系你的法律顾问,或咨询具有相关资质和从业经验的法律工作者。
原题:
Top 10 Common Development and Distribution License (CDDL) Questions Answered
原文:
https://resources.whitesourcesoftware.com/blog-whitesource/top-10-common-development-and-distribution-license-cddl-questions-answered
作者:Rami Sass
END
开源许可证相关推荐:
1)一文读懂常用开源许可证
2)一文读懂开源许可证异同
3)一文读懂 Copyleft 开源许可证
4)十问十答 Apache 许可证