开发者

I can't distribute JAXB closed code? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

This question does not appear to be about programming within the scope defined in the help center.

Closed 7 years 开发者_如何学编程ago.

Improve this question

At http://jaxb.java.net/ it says JAXB its under dual license consisting of the CDDL v1.0 and GPL v2;

And CDDL says:

  1. Distribution Obligations 3.1. Availability of Source Code. Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License.

So, i can't use JAXB without open the code??

--update

"Any Covered Software that You distribute...";

1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. https://glassfish.dev.java.net/public/CDDL+GPL.html

A software I develop is not considered "combination of files containing Original Software with files containing Modifications"?


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 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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜