Ограничения GPL на javascript-библиотеках

Если я использую GPL-лицензированные компоненты JavaScript на своем веб-сайте, это будет рассматриваться как релиз для общественности (поскольку клиентский код компонентов загружается в браузеры пользователей через http), и мне нужно "открывать", источник "весь сайт?

Итак, можем ли мы сказать, что использование компонентов JavaScript на веб-сайте является распространением кода и связано с распространением всего кода сайта?

Надеюсь, вопрос ясен, и вы можете помочь мне понять этот аспект GPL.

Ответ 1

Я не юрист. Я поговорил с адвокатами об использовании GPL и LGPL для кода, который должен быть интерпретирован/динамически связан с несвободным программным обеспечением. У всех нас большие головные боли. Вопрос заключается не только в том, нужно ли вы отпускать остальную часть вашего сайта под GPL. Это независимо от того, может ли несвободный браузер легально запускать код GPL.

Мой лучший юридический совет - никогда не пытаться использовать GPL на Javascript-коде. Я бы никогда не выпустил Javascript-библиотеку под GPL, и если бы я нашел код, который хотел использовать, я попытался бы заставить автора дать мне исключение. LGPL может быть лучшим выбором, но эта лицензия настолько сложна, что я предлагаю избегать ее также.

У самих FSF есть ответ для вас в их FAQ Если у интерпретатора языка программирования есть лицензия, которая несовместима с GPL, могу ли я запустить GPL-покрытие программы на нем?. Этот ответ сам по себе разочаровывает двусмысленность, но он предлагает пути, по которым вы можете запускать код GPL в браузере, отличном от GPL. Вы также можете найти эссе FSF Javascript Trap, хотя опять же он не " действительно дайте ясный ответ на ваш вопрос.

В контексте, это помогает помнить, что GPL и LPGL были написаны в эпоху Unix, когда большинство из них было статически связано. Отсутствие динамической компоновки, отсутствие интерпретируемых языков, где сами скрипты считались ценной интеллектуальной собственностью и т.д.

Ответ 2

Вы распространили библиотеку JavaScript для пользователя; тогда вам необходимо выполнить требования GPL о распространении. Должно ли это потребовать от вас распространять остальную часть веб-сайта, где все усложняется - я бы посоветовал вам поговорить с компетентным юристом о вашей точной ситуации, если вы даже подумываете о том, чтобы идти по этому маршруту, и имейте в виду, что это по крайней мере, нарушая дух лицензии, независимо от того, нарушает ли она букву лицензии.

Ответ 3

И просто добавить больше топлива в огонь...

Чтение gpl v3 ясно, что если вы включаете gpl'd-работу, вам нужно предоставить исходный код с текстом лицензии в верхней части файла и выражением об авторских правах.

Итак, если я удаляю комментарии и пробелы из файла и сокращаю имена переменных, тогда "распространю" его в какой-то браузер (в исходной форме, конечно), я, вероятно, нарушил бы лицензию. BTW, решением может быть двоичный uuid, который означает соответствующие лицензии для искаженных файлов. Мысли?

Если я предоставляю источник библиотеки и свой собственный "источник", используя библиотеку с gpl stmt на ней, делает ли ее доставку в браузер, предоставляя источник бесплатно?

Я думаю, что в этом есть достаточное количество лазеек, чтобы сделать лицензию невыполнимой.

мой 2cents/не юрист.

Ответ 4

Ваше приложение + GPL'd library + release → приложение с открытым исходным кодом GPL'd.

Это намерение FSF и GPL, и оно применяется независимо от того, какой язык программирования вы используете.

GPL'd JavaScript lib заразит весь ваш JavaScript-код. Вероятно, не будет заражать ваш HTML, содержимое страницы или серверный код.

Итак, пожалуйста, не выпускайте JavaScript-библиотеки под GPL, если вы намерены использовать их для общего использования.

Ответ 5

Это определенно усложняется. Я приведу вам пример. Что делать, если вы используете лицензию jQuery GPL (я знаю ее лицензию с двумя лицензиями, но пусть игнорирует ее только на секунду).

Google имеет публичное распространение jQuery (среди других фреймворков javascript), которое они распространяют на своем CDN, например:
http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js

Итак, в этом случае вы не тот, который распределяет библиотеку javascript для пользователя, google is; -)

обратите внимание:, как описывает @bdonlan, только опытный юрист должен быть тем, кто действительно взвешивает это. Я только сделал этот ответ, чтобы обеспечить контекст вещей, о которых вы можете поговорить с адвокатом.

Ответ 6

Этот парень написал статью об этом: http://stuck-in-windows.blogspot.com/2009/02/fud-over-javascript-and-gpl.html

В своей статье он приводит сайт gnu FAQ, который имеет Q & A:

(Q) Компания использует модифицированную версию программы GPL на Веб-сайт. Говорит ли GPL, что они должны выпускать свои модифицированные источники?

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

В этом разделе часто задается ссылка GNU Affero GPL, которая требует освобождения всего исходного кода веб-сайта.

Ответ 7

Например, Magento использует ExtJS, который находится под GPL v3. Теперь, когда Magento загружается и устанавливается владельцами магазинов-магазинов, вы имеете в виду, что владельцы магазинов должны предоставить ссылку на свой "весь сайт-источник" вместе со своими Продуктами? Смешной Лол

Итак, по-моему, библиотека Javascript, лицензированная под GPL v3, хороша для любого проекта, если вы не пытаетесь модифицировать библиотеку Javascript и не продавать ее коммерчески или связанные коммерческие услуги.