LINUX.ORG.RU

Можно ли использовать lgpl/mpl js-код в закрытом коммерческом проекте?

 , , , ,


0

2

Если кратко, можно ли эту js-библиотеку с тройной лицензий gpl/lgpl/mpl использовать в закрытом коммерческом проекте?

http://ckeditor.com/about/license

Более широкий вопрос, как вообще открытые лицензии отражаются на клиентском интерпретируемом коде? Ведь он и так всегда открыт и доступен пользователю? Влияет ли как-то серверная кодогенерация на это? Обфускация, сборка?

Насколько я помню разглагольствования Столлмана про несвободный JS, минифицированные скрипты исходным кодом не считаются. На мой взгляд, для соблюдения требований MPL или LGPL вполне достаточно, если библиотека будет загружаться из отедьного файла/ресурса, а вот если ты соединишь ее в один файл со своим кодоми да еще и заминицифируешь результат, то получится однозначное нарушение.

annulen ★★★★★ ()

Для MPL должно быть достаточно того, что ты позволишь со своего сайта скачать немодифицированную исходную версию ckeditor'а, если я правильно понимаю её, но IANAL.

x3al ★★★★★ ()

...использовать в закрытом коммерческом проекте?

В коммерческом — несомненно можно. Любую свободную программу по определению можно использовать в коммерческих целях.

А «закрытым проектом» вы что называете? Тот, в который вы никого не допускаете («соборный»)? Тот, результаты которого вы не намерены публиковать, но использовать лишь во внутренних целях?

Более широкий вопрос, как вообще открытые лицензии отражаются на клиентском интерпретируемом коде?

Лицензия — открытая ли, индивидуальная ли — на коде магическим образом, как правило, не отражается.

Ведь он и так всегда открыт и доступен пользователю?

Навязывание программы (как это происходит со многими программами, исполняемыми в веб-обозревателях) при отсутствии явной открытой лицензии на нее может пониматься как выдача неявной лицензии.

Zmicier ★★★★★ ()

формально (*irony-mode*), написать текст в браузере (например):

- эти файлы распространяются свободно и для дальнейшей работы приложения, необходимо их скачать и затем установить на ваш компьютер в отдельный каталог (требуются ссылки вида: file:///path/to/file.js)

;)

anonymous ()

Q16: Is «minified» JavaScript Source Code?

No. Minified JavaScript, while not an «executable» in the software engineering sense of the word, is difficult for humans to read, edit, and modify. As such, it is not «the preferred form for modification» and so it is not Source Code as defined by the license. Therefore, minified JavaScript is the Executable form, and the responsibilities set out in the license for distribution of the Executable form should be met when you distribute minified MPL-licensed JavaScript.

This means, among other things, that you do not need to, and probably should not preserve the MPL boilerplate (which begins «This Source Code Form...») when minifying JavaScript. However, you do need to comply with section 3.2(a) by informing the recipients of the minified source how they can obtain a copy of the source code. How exactly you do this will depend on how they can obtain that copy, but one way would be to include a comment with a link to the source code in either the page which uses the JavaScript or in the JavaScript file itself.

Note that treating minified JavaScript as an executable increases distributor flexibility by allowing MPL-licensed code to be combined into a single file with non-MPL JavaScript source code without requiring the non-MPL code to be distributed under the terms of the MPL.

© https://www.mozilla.org/en-US/MPL/2.0/FAQ/ но это 2.0, в 1.1 могут быть другие условия.

По условиям 2.0, даже после минификации достаточно просто указать, где можно найти исходники MPL-файлов. Опять же, IANAL.

x3al ★★★★★ ()
Ответ на: комментарий от annulen

а вот если ты соединишь ее в один файл со своим кодоми да еще и заминицифируешь результат, то получится однозначное нарушение.

Во-первых, сфигли бы? А во-вторых, вы как-то очень вольно трактуете вопрос товарища orm-i-auga. Давайте подождем, пока он не прояснит, что́ ему на самом деле надо.

Zmicier ★★★★★ ()

использовать в закрытом коммерческом проекте

по идее можно, при условии нераспространения разработчиком свободных GPL-компонент в комбинации с закрытыми - клиент ставит сам открытые компоненты на свой страх и риск (и также при условии нераспространения такой несовместимой в лицензионном смысле связки)

Примеры из практики: некое софтовое ядро свободно тиражируется, закрытые компоненты пользователь ставит сам, для себя - это не запрещено в индивидуальном порядке. Нарушение будет, если попытаться распространять это.

anonymous ()

Более широкий вопрос, как вообще открытые лицензии отражаются на клиентском интерпретируемом коде? Ведь он и так всегда открыт и доступен пользователю?

Открытая лицензия разрешает пользователю менять и распространять код. Без неё пользователь может только запускать JS (и, если законы конкретной страны говорят, что для этого не нужно лицензии — ещё и изучать).

Соответственно, если твой закрытый коммерческий проект заразился GPL'ом, то все, кому ты распространяешь JS, имеют право потребовать все исходники JS-кода. Если он заразился AGPL — то у тебя открытый коммерческий проект, удачи.

x3al ★★★★★ ()
Последнее исправление: x3al (всего исправлений: 1)
Ответ на: комментарий от x3al

Открытая лицензия разрешает пользователю менять и распространять код

Совершенно необязательно. Открытая лицензия — это лицензия, выданная неограниченному кругу лиц, только и всего. Где вам что-то менять или распространять разрешает, к примеру, Abode Flash Player EULA?

Соответственно, если твой закрытый коммерческий проект заразился GPL'ом, то все, кому ты распространяешь JS, имеют право потребовать все исходники.
заразился GPL'ом

У-у-у... Вы меня извините, но судя по вашей терминологии, вы начитались какой-то пропаганды.

Zmicier ★★★★★ ()
Ответ на: комментарий от Zmicier

А «закрытым проектом» вы что называете? Тот, в который вы никого не допускаете («соборный»)? Тот, результаты которого вы не намерены публиковать, но использовать лишь во внутренних целях?

Закрытый — это я про серверный код. В данном конкретном случае это корпоративное веб-приложение, так что миллионов пользователей там нет и не ожидается, равно как и свободной регистрации в системе, поэтому и никакой минификации/обфускации нет (если точнее, она вообще никак не приветствуется). Завтра внимательнее дочитаю тред, а то сейчас не очень в состоянии.

orm-i-auga ★★★★★ ()
Последнее исправление: orm-i-auga (всего исправлений: 1)
Ответ на: комментарий от orm-i-auga

Закрытый — это я про серверный код.

Уже лучше. И вы имеете в виду, что то, что выполняется у вас на сервере, не публикуется?

Прекрасно. Программа, исполняемая где-то-там у вас на сервере и визивиг-редактор, исполняемый в обозревателе, ни коим образом не производны друг от друга с точки зрения авторского права, а значит и сколь угодно сильного авторского лева. То есть вообще никакой связи и взаимных обязательств.

(IANAL, TINLA, разумеется.)

Завтра внимательнее дочитаю тред, а то сейчас не очень в состоянии.

Зачем? Тут никто пока никто ничего по существу не написал, да и не напишет, пока вы толком не об’ясните, что́ у вас там происходит и чего вы хотите.

Могу вкратце прокомментировать то, что тут успели написать, если хотите. Тт. annulen, x3al и анонимный товарищ во-первых решили, что вы ошибочно используете слово «закрытый», на самом имея в виду «несвободный»; а во-вторых, додумали за вас вопрос, сведя его к условиям, пред’являмым той или иной свободной лицензией слабого авторского лева в отношении тех, кто желает включить программу под этой лицензией в несвободную программу.

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от orm-i-auga

Если ты не против того, что твой JS-код смогут копировать/менять кто угодно — можешь использовать вообще всё, кроме AGPL-лицензированных вещей (они потенциально могут заставить тебя открыть серверный код при некоторых условиях).

x3al ★★★★★ ()
Ответ на: комментарий от x3al

использовать вообще всё, кроме AGPL-лицензированных вещей

Речь о выборе условий распространения программы, исполняемой в обозревателе, я так понимаю.

они потенциально могут заставить тебя открыть серверный код при некоторых условиях

Ой-ой! Обоснуйте.

Zmicier ★★★★★ ()
Ответ на: комментарий от Zmicier

Ой-ой! Обоснуйте.

Все части системы, включающей AGPL-компоненты и подпадающая под AGPL-лицензирование (т.е. без всяких вещей вроде не-AGPL драйверов, как у mongodb), становятся AGPL-лицензированными, если их нельзя использовать независимо друг от друга (например, если они делались друг под друга, как типичный веб-фронтенд и веб-бекенд). Точную формулировку и применимость в условиях конкретной юрисдикции объяснят юристы.

Система не ограничивается браузером (как с GPL).

x3al ★★★★★ ()
Ответ на: комментарий от x3al

Хотя я могу ошибаться насчёт того, заразна ли AGPL, если AGPL-код исполняется только в браузерах.

x3al ★★★★★ ()
Ответ на: комментарий от x3al

Все части системы, включающей AGPL-компоненты и подпадающая под AGPL-лицензирование (т.е. без всяких вещей вроде не-AGPL драйверов, как у mongodb), становятся AGPL-лицензированными, если их нельзя использовать независимо друг от друга (например, если они делались друг под друга, как типичный веб-фронтенд и веб-бекенд).

Нет.

Система не ограничивается браузером (как с GPL).

?

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Уже лучше. И вы имеете в виду, что то, что выполняется у вас на сервере, не публикуется?

Собранный war файл запускается на серверах заказчика (хотя конкретно его запуском и дальнейшим обслуживанием и занимаемся мы).

Тут никто пока никто ничего по существу не написал, да и не напишет, пока вы толком не об’ясните, что́ у вас там происходит и чего вы хотите.

Веб-приложением пользуется только тот же заказчик. Клиентские библиотеки и код (js, css, html, etc) каждые идут своим отдельным файлом, ничего не минифицируется/обфусцируется/смешивается, при сборке попадают в war (т.е. не используется cdn). Конкретно ckeditor планируется использовать как есть, без изменений его кода.

В общем, почитав ещё интернет и поспрашивав про примеры использования конкретно этого ckeditor, предварительно сделал вывод, что нарушения никакого не должно быть.

orm-i-auga ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Уже лучше. И вы имеете в виду, что то, что выполняется у вас на сервере, не публикуется?

Собранный war файл запускается на серверах заказчика (хотя конкретно его запуском и дальнейшим обслуживанием и занимаемся мы).

Тогда я опять не понял, какой смысл вы вложили в слова «закрытый проект». Вы все-таки хотели сказать «несвободная программа»? Ну да неважно, взаимный обязательств меж серверной и клиентской частью, как я уже сказал, нет в любом случае.

сделал вывод, что нарушения никакого не должно быть

Что не отменяет того, что если не понимать условий, то нарушить их можно на пустом месте.

Поэтому вы все-таки договор-то (например, GNU LGPLv3 и GNU GPLv3 тоже, ибо первая не самостоятельна) прочитайте — в отличие от большинства юридический документов лицензии ГНУ написаны максимально человеческим языком. А если что-то будет непонятно — смело спрашивайте.

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.