代码之家  ›  专栏  ›  技术社区  ›  Student

我不能分发JAXB关闭的代码?[关闭]

  •  10
  • Student  · 技术社区  · 16 年前

    在 http://jaxb.java.net/ 它说JAXB ITS在双重许可下由CDDL v1.0和GPL v2组成;

    CDDL说:

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

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

    ——更新

    “您分发的任何覆盖软件…”;

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

    不考虑我开发的软件 “包含原始软件的文件与包含修改的文件的组合” ?

    2 回复  |  直到 16 年前
        1
  •  4
  •   C. K. Young    16 年前

    你可以 使用 没有开放源代码的JAXB(如果遵循CDDL的其他条款)。您不能分发JAXB 它本身 但是没有来源。


    更新以响应问题编辑:假设您的代码不是对JAXB的修改,也不包含JAXB的任何部分,那么它就不被覆盖。(不过,我不是律师。用一点盐来表达我的意见。)

        2
  •  2
  •   Will Hartung    16 年前

    CDDL是一种基于文件的许可证。

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

    假设一个cddl项目在Web上可用。

    它有文件x.java和y.java。

    您的项目包括x.java、y.java(您已更改)和z.java(您的代码)。

    您有义务提供y.java,并确保x.java可用。

    因为其他人已经在分发x.java(原始项目),所以您没有Do,源代码已经可用(只是您没有)。

    您更改了y.java,它是在cddl下获得许可的,而原始项目没有分发,因此您需要使其可用。

    最后,z.java是您自己的、无障碍的代码,您没有义务提供这些代码。

    如果由于某种原因,原来的项目破产了,不再发行x.java,那么您需要了解如何确保它仍然可以供您的用户使用。

    最后,通过“分发”,您只有义务使具有二进制代码的人(即您使其可用的人)可以使用源代码。

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

    编辑有关注释:

    原来的软件是你使用的软件是由CDDL覆盖的。

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

    您的义务只是更改原始软件中的文件。如我所说,cddl是基于文件的,对cddl没有“病毒性”方面。简单地说,如果您更改了他们的代码,您就有义务释放这些更改。但是,没有义务只根据您自己的工作而不是原始文件来编写代码。