Как на стороне клиента распространяется GPL?

29

Если бы я использовал лицензированную по GPL библиотеку Javascript в веб-приложении, должен ли я тогда предлагать исходный код всего сайта всем, кто загрузил и выполнил библиотеку Javascript?

Armand
источник
5
Это очень интересный вопрос. Обычно веб-приложения не покрываются GPL, потому что вы не распространяете код (именно поэтому AGPL существует). Однако в случае кода, который выполняется в браузере, вы как бы распространяете код. Если это так, характер GPL подразумевает, что все ваше веб-приложение должно быть выпущено под GPL.
Скотт Уитлок
5
@David - вопрос в том, заставляет ли GPL выпускать остальную часть вашего веб-приложения (например, на стороне сервера). Вы использовали библиотеку Javascript для создания производной работы. GPL будет применяться ко всему результату.
Скотт Уитлок
1
@ Давид, если бы было ясно, я бы не спросил: p
Armand
1
@Alison, ну ладно, извини, я неправильно поняла весь вопрос. Нет, на стороне сервера не должно быть GPL. Пока связь между клиентом и сервером имеет какой-то формат в отличие от функционального вызова на уровне машины, например, XML, вам не о чем беспокоиться. Простое обслуживание кода GPL, будь то HTML или JS, не делает серверный код доставляющим его или взаимодействующим с ним в формате не удаленного вызова, производной работой.
David
1
Ричард Столлман, автор GPL, по этому вопросу: gnu.org/philosophy/javascript-trap.html
Гонза Покорный

Ответы:

5

Вы должны будете предложить JavaScript этой библиотеки и JavaScript приложения, которое обращается к API этой библиотеки (и любые другие библиотеки, к которым обращается приложение, которые также должны иметь лицензию, совместимую с GPL).

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

HTML, который вызывает JavaScript, уже доступен, он не считается «связующим звеном» с этим JavaScript, и его доступность означает, что люди вряд ли будут беспокоиться об этом.

Дэвид
источник
3
Я не думаю, что связывание является единственным триггером. Например, если ваша программа зависит от другого вспомогательного приложения таким образом, что ваше приложение не может функционировать без другой библиотеки, то для целей GPL это все одно приложение. Я думаю, что в этом случае я бы рекомендовал проконсультироваться с юристом.
Скотт Уитлок
это должно быть читаемым человеком? Интересный. Я задам это как отдельный вопрос.
Арманд
Он должен быть неизменным, как в GPL V2, так и в V3. Хорошо, это может быть не одно и то же, я предполагаю, что человек может писать == человек может читать.
Дэвид
1
Размещено в виде отдельного вопроса здесь: programmers.stackexchange.com/questions/62885/…
Арманд,
@ScottWhitlock Для целей закона имеет значение только то, является ли один производным от другого с точки зрения авторского права, а не может ли один функционировать без другого. Если закон об авторском праве не применяется, лицензия GPL (которая является лицензией, а не контрактом, поэтому может только предоставлять разрешения, а не отнимать их) не имеет никакого эффекта. Было бы очень трудно показать, какой из серверов и клиентов в типичном веб-приложении является производным от другого, если вообще существует. Я бы сказал, что более вероятно, что клиент является производным от сервера, так как большинство разработчиков обычно пишут сервер, а не клиент, но это далеко от униформы.
Жюль