7

我想在 CDDL + GPLv2 许可下的专有软件中使用 Glassfish 的某些部分。我可以这样做吗?我没有修改这些库的代码中的任何内容,这样可以吗,或者我的软件,因为它使用这些库,仍然被认为是衍生作品,因此是一个很大的禁忌?

我的意思是,根据http://jaxb.java.net/,JAXB 也在 CDDL + GPLv2 下,但我知道我可以在专有软件中自由使用它。这是因为 CDDL + GPLv2 实际上允许这样做,还是在与 JRE 捆绑时以不同的许可证分发?

4

2 回答 2

5

好的,我找到了答案。维基百科说:

GlassFish 是自由软件,根据两个自由软件许可获得双重许可:通用开发和分发许可 (CDDL) 和 GNU 通用公共许可 (GPL),类路径例外。

类路径异常是这里的主要内容。请参阅Glassfish 网站上许可协议底部的黄色部分:

GPL 版本 2 的“类路径”例外

Sun Microsystems, Inc. 分发的某些源文件受 GPL 版本 2 的以下说明和特殊例外的约束,但仅当 Sun 明确在特定源文件的标题中包含“Sun 指定此特定文件受Sun 在随附此代码的许可证文件中提供的“类路径”异常。

将此库与其他模块静态或动态链接是基于此库的组合工作。因此,GNU 通用公共许可证第 2 版的条款和条件涵盖了整个组合。

作为一个特殊的例外,该库的版权所有者允许您将此库与独立模块链接以生成可执行文件,而不管这些独立模块的许可条款如何,并根据您选择的条款复制和分发生成的可执行文件,前提是对于每个链接的独立模块,您还满足该模块许可的条款和条件。?独立模块是不是从该库派生或基于该库的模块。?如果您修改此库,您可以将此异常扩展到您的库版本,但您没有义务这样做。?如果您不希望这样做,请从您的版本中删除此异常声明。

从本质上讲,这意味着只要我使用 Glassfish 库分发许可证,我就可以自由地将它们放在我的专有软件的类路径中。搜索 Metro 的下载源(我想使用的部分),我发现只有少数 Java 文件在注释中不包含所需的行。(更准确地说,他们根本没有标题注释。)

于 2010-04-15T16:30:13.390 回答
1

关于 CDDL 和 Jukka 的帖子:

据我了解 CDDL,您不需要以源代码形式发布您的专有软件!原因:

“3.1 源代码的可用性”部分仅指“涵盖软件”,该软件类型为:

1.3. 涵盖软件是指 (a) 原始软件,或 (b) 修改,或 (c) 包含原始软件的文件与包含修改的文件的组合,在每种情况下都包括其中的一部分。

换句话说:“涵盖软件”是根据 CDDL 发布的“jar”以及对该“jar”的任何修改(如果有)。仅在类路径中使用此“jar”的软件被称为“大型工作”,因此不得以源代码形式发布。

HTH 斯蒂芬

于 2010-05-26T07:34:34.940 回答