【问题标题】:I can't distribute JAXB closed code? [closed]我不能分发 JAXB 封闭代码? [关闭]
【发布时间】:2011-01-24 05:33:36
【问题描述】:

http://jaxb.java.net/ 表示 JAXB 采用双重许可证,包括 CDDL v1.0 和 GPL v2;

CDDL 说:

  1. 分销义务 3.1。源代码的可用性。 您以可执行形式分发或以其他方式提供的任何涵盖软件也必须以源代码形式提供,并且该源代码形式必须仅根据本许可的条款分发。

所以,我不能不打开代码就使用 JAXB 吗??

--更新

“您分发的任何涵盖软件...”;

1.3。 “涵盖软件”是指 (a) 原始软件,或 (b) 修改,或 (c) 包含原始软件的文件与包含修改的文件的组合,在每种情况下都包括其中的一部分。 https://glassfish.dev.java.net/public/CDDL+GPL.html

我开发的软件不被视为“包含原始软件的文件与包含修改的文件的组合”

【问题讨论】:

  • 它是关于许可或法律问题,而不是编程或软件开发。 See herehere 了解详细信息,help center 了解更多信息。

标签: java xml licensing jaxb


【解决方案1】:

您可以在不开源代码的情况下使用 JAXB(如果您遵循 CDDL 的其他条款)。但是,您不能在没有源代码的情况下分发 JAXB 本身


针对问题编辑进行更新:假设您的代码不是对 JAXB 的修改,也不包含 JAXB 的任何部分,则不包括在内。 (不过,我不是律师。对我的意见持保留态度。)

【讨论】:

  • 谢谢克里斯,我已经更新了这个问题,你现在怎么看?
  • 作为一名律师肯定会更好,哈哈但是谢谢你的盐粒
【解决方案2】:

CDDL 是基于 FILE 的许可证。

简单地说,任何获得 CDDL 许可的文件,如果您已更改,您有义务将更改后的文件分发到该文件。

假设网络上有一个 CDDL 项目。

它有 X.java 和 Y.java 文件。

您的项目包括 X.java、Y.java(您已更改)和 Z.java(您的代码)。

您有义务提供 Y.java,并确保 X.java 可用。

由于其他人已经在分发​​ X.java(原始项目),您不必这样做,源代码已经可用(只是不是由您提供)。

您更改了 Y.java,它在 CDDL 下获得许可,并且原始项目未分发,因此您需要使其可用。

最后,Z.java 是您自己的、不受阻碍的代码,您没有义务提供。

如果由于某种原因原始项目失败并且不再分发 X.java,您将需要一些方法来确保您的用户仍然可以使用它。

最后,通过“分发”,您只有义务将源代码提供给那些拥有二进制代码的人(即您提供给它的人)。

如果您公开分发您的二进制文件,那么这意味着“每个人”。如果你只把它卖给 10 个客户,那就只卖给他们,而不是全世界。

编辑评论:

原始软件是指您使用的软件包含在 CDDL 中。

修改是对原始软件的更改。这就是他们在该条款中具有三个类别的方式:原始软件、修改或两者的组合。

您的义务仅是更改原始软件中的文件。正如我所说,CDDL 是基于文件的,CDDL 没有“病毒”方面。简而言之,如果您更改了他们的代码,您就有义务发布这些更改。但是没有义务编写完全是您自己的工作而不是基于原始文件的代码。

【讨论】:

  • 如果我只是在我的项目中使用 CDDL 项目,它看起来适合“包含原始软件的文件与包含修改的文件的组合”。所以我有义务向所有获得我的二进制文件的人开放我的源代码?
猜你喜欢
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多