Я не могу распространять закрытый код JAXB?

В http://jaxb.java.net/ говорится, что JAXB имеет двойную лицензию, состоящую из CDDL v1.0 и GPL v2;

И CDDL говорит:

  1. Обязательства по распределению 3.1. Доступность исходного кода. Любое Покрытое программное обеспечение, которое вы распространяете или иным образом предоставляете в исполняемой форме, также должно быть доступно в форме исходного кода и что форма исходного кода должна распространяться только в соответствии с условиями настоящей Лицензии.

Итак, я не могу использовать JAXB, не открывая код

- обновление

"Любое программное обеспечение, которое вы распространяете...";

1,3. "Покрытое программное обеспечение" означает (а) исходное программное обеспечение или (б) модификации или (в) комбинацию файлов, содержащих исходное программное обеспечение, с файлами, содержащими модификации, в каждом случае, включая их части. https://glassfish.dev.java.net/public/CDDL+GPL.html

Программное обеспечение, которое я разрабатываю, не считается "комбинацией файлов, содержащих исходное программное обеспечение с файлами, содержащими модификации"?

Ответ 1

Вы можете использовать JAXB без open-sourcing вашего кода (если вы следуете другим условиям CDDL). Однако вы не можете распространять JAXB без источника.


Обновление в ответ на редактирование вопроса. Предполагая, что ваш код не является модификацией JAXB и не содержит какой-либо части JAXB, он не распространяется. (Я не юрист, хотя, по моему мнению, с солью.)

Ответ 2

CDDL - это лицензия на основе FILE.

Просто, любой файл, который лицензирован CDDL, который вы изменили, вы обязаны распространять измененный в THAT FILE.

Скажем, проект 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.

Модификации - это изменения в ПО ORIGINAL. Таким образом, у них есть три категории в этом разделе: оригинальное программное обеспечение, модификации или их комбинация.

Ваше обязательство заключается только в изменениях файлов в исходном программном обеспечении. Как я уже сказал, CDDL основан на файлах, в CDDL нет "вирусного" аспекта. Проще говоря, если вы измените свой код, вы обязаны опубликовать эти изменения. Но нет никаких обязательств по коду, который является исключительно вашей собственной работой и не основан на файлах оригинала.