You can use JAXB without open-sourcing your code (if you follow the other terms of the CDDL). You can't distribute JAXB itself without source, though.
Update in response to question edit: Assuming that your code isn't a modification to JAXB, nor does it contain any portion of JAXB, then it's not covered. (I am not a lawyer, though. Take my opinion with a grain of salt.)
Simply, any file that is CDDL licensed, that you have changed, you are obligated to distribute the changed to THAT FILE.
Let's say a CDDL project is available on the web.
It has files X.java and Y.java.
Your project includes X.java, Y.java (which you changed), and Z.java (your code).
You are obligated to make available Y.java, and to ensure the X.java is available.
Since someone else is already distributing X.java (the original project), you don't have do, the source is already available (just not by you).
You changed Y.java, which was licensed under CDDL and the original project is NOT distributing, so you need to make that available.
Finally, Z.java is your own, unencumbered code, you have no obligation to make the available.
If for some reason the original project went bust and was no longer distributing X.java, you would need to some how ensure that it could still be available to your users.
Finally, by "distribution", you are only obligate to make source code available to those with a binary of the code (i.e. the people you make it available to).
If you publicly distribute your binaries, then that means "everybody". If you only sell it to 10 clients, then just to them, not the entire world.
Edit regarding comment:
Original Software is the software you're using is covered by the CDDL.
Modifications is changes to the ORIGINAL software. This is way they have three categories in that clause: Original Software, Modifications, or a combination of both.
Your obligation is only to changes to the files in the Original Software. As I said, CDDL is file based, there is no "viral" aspect to the CDDL. Simply put, if you change their code, you obligated to release those changes. But there is no obligation to code that is solely your own work and not based on the files of the original.
发布评论
评论(2)
您可以在不开源代码的情况下使用 JAXB(如果您遵循 CDDL 的其他条款)。不过,您无法在没有源代码的情况下分发 JAXB 本身。
针对问题编辑进行更新:假设您的代码不是对 JAXB 的修改,也不包含 JAXB 的任何部分,则不包括在内。 (不过,我不是律师。请对我的意见持保留态度。)
You can use JAXB without open-sourcing your code (if you follow the other terms of the CDDL). You can't distribute JAXB itself without source, though.
Update in response to question edit: Assuming that your code isn't a modification to JAXB, nor does it contain any portion of JAXB, then it's not covered. (I am not a lawyer, though. Take my opinion with a grain of salt.)
CDDL 是基于文件的许可证。
简而言之,任何经过 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 is a FILE based license.
Simply, any file that is CDDL licensed, that you have changed, you are obligated to distribute the changed to THAT FILE.
Let's say a CDDL project is available on the web.
It has files X.java and Y.java.
Your project includes X.java, Y.java (which you changed), and Z.java (your code).
You are obligated to make available Y.java, and to ensure the X.java is available.
Since someone else is already distributing X.java (the original project), you don't have do, the source is already available (just not by you).
You changed Y.java, which was licensed under CDDL and the original project is NOT distributing, so you need to make that available.
Finally, Z.java is your own, unencumbered code, you have no obligation to make the available.
If for some reason the original project went bust and was no longer distributing X.java, you would need to some how ensure that it could still be available to your users.
Finally, by "distribution", you are only obligate to make source code available to those with a binary of the code (i.e. the people you make it available to).
If you publicly distribute your binaries, then that means "everybody". If you only sell it to 10 clients, then just to them, not the entire world.
Edit regarding comment:
Original Software is the software you're using is covered by the CDDL.
Modifications is changes to the ORIGINAL software. This is way they have three categories in that clause: Original Software, Modifications, or a combination of both.
Your obligation is only to changes to the files in the Original Software. As I said, CDDL is file based, there is no "viral" aspect to the CDDL. Simply put, if you change their code, you obligated to release those changes. But there is no obligation to code that is solely your own work and not based on the files of the original.