Ответ 1
Это оказалось длинным ответом, поэтому для тех, кто не хочет читать все это:
tl; dr: Вам не нужно беспокоиться о запуске кода на вашем собственном сервере, если только лицензия не является AGPL. Вам нужно освободить исходный код, если вы используете GPLed JavaScript-библиотеки, но это не так. В некоторых случаях может быть полезно освободить ваши изменения, даже если вам не требуется.
Это говорит о том, что мы можем использовать код GPL v2 и v3 в веб-сервисах, в то время как мы не распространяем само приложение (например, как Google). Это правильно?
Да, это правильно. Многие компании используют собственную модифицированную версию кода GPLed, без необходимости распространять изменения.
Из GPLv3:
"Размножать" произведение означает делать с ним что-либо, что без разрешения заставляет вас напрямую или во вторую очередь отвечать за нарушение в соответствии с применимым законодательством об авторском праве, за исключением выполнения его на компьютере или изменения частной копии. Распространение включает в себя копирование, распространение (с изменением или без него), предоставление общественности, а в некоторых странах также и другие виды деятельности.
"Передавать" произведение означает любое распространение, которое позволяет другим сторонам создавать или получать копии. Простое взаимодействие с пользователем через компьютерную сеть без передачи копии не передается.
...
Вы можете создавать, запускать и распространять покрытые работы, которые вы не передаете, без каких-либо условий, пока ваша лицензия по-прежнему остается в силе. Вы можете передавать покрытые работы другим лицам с единственной целью сделать их исключительно для вас модификациями или предоставить вам возможности для выполнения этих работ при условии, что вы соблюдаете условия настоящей Лицензии при передаче всего материала, для которого вы не контролируете Авторские права. Те, кто делает или запускает покрытые работы для вас, должны делать это исключительно от вашего имени под вашим руководством и контролем на условиях, которые запрещают им делать копии ваших материалов, защищенных авторским правом, вне их отношений с вами.
Это означает, что у вас есть разрешение на использование и изменение программы на своих серверах, даже если пользователи взаимодействуют с ней удаленно, без каких-либо дополнительных условий, таких как предоставление исходного кода, который требуется от вас, если вы "передать" самой программе другому пользователю. До тех пор, пока вы используете его на своем собственном сервере, вы можете запустить модифицированный код GPLed в свой сердечный контент без необходимости распространять измененный источник кому-либо еще.
GPLv2 также не ограничивает запуск кода на вашем собственном сервере и, следовательно, не требует, чтобы вы распространяли исходный код своего модификации, хотя в этом случае он немного менее ясен, чем GPLv3 (что очень ясно):
Деятельность, отличная от копирования, распространения и модификации, не распространяется на эту Лицензию; они не входят в сферу охвата. Действие программы не ограничено, и выход из Программы покрывается только в том случае, если ее содержание представляет собой произведение, основанное на Программе (независимо от того, было ли выполнено путем запуска Программы). Это верно, зависит от того, что делает программа.
Из часто задаваемых вопросов GPLv2:
Компания использует модифицированную версию программы GPL на веб-сайте. Говорит ли GPL, что они должны выпускать измененные источники?
GPL разрешает любому создавать модифицированную версию и использовать ее, не распространяя ее на других. Частью этого является то, что делает эта компания. Поэтому компания не должна выпускать измененные источники.
Для людей важно иметь свободу вносить изменения и использовать их в частном порядке, не публикуя эти изменения.
AGPL - это лицензия, которая предназначена для того, чтобы потребовать, чтобы вы распространяли исходный код на своих пользователей, даже если вы просто запускаете это на сервере. Он был создан, потому что GPL не предоставляет таких ограничений, и некоторые люди хотели таких ограничений на свое программное обеспечение. Однако не так много программного обеспечения выпущено под AGPL, как GPLv2 и v3.
Почти все бесплатные лицензии на программное обеспечениеперечисленные FSF, или лицензии с открытым исходным кодом, перечисленные OSI, также не имеют ограничений на запуск кода на вашем собственном сервере.
Теперь одно нужно следить за тем, что все вышеизложенное относится только к коду, запущенному на вашем собственном сервере. Код JavaScript, который отправляется клиенту и запускается на его машине, совершенно другой. В этом случае применяется GPL. Большинство библиотек JavaScript (jQuery, Prototype, Dojo, MooTools) выпускаются под разрешительными лицензиями (MIT/BSD-style), хотя обязательно проверяйте лицензию любой библиотеки, которую используете; некоторые люди могут выпускать библиотеки под GPL или LGPL.
Даже если вам не требуется освобождать исходный код, в некоторых случаях это может быть полезно сделать. В частности, если вы внесете много изменений в проект, а затем выпустите новую версию, может потребоваться много работы, чтобы пройти и повторно применить все эти изменения к новой версии. Если вы отправляете исправления обратно в исходный проект, и они считают, что ваши исправления достаточно хороши для применения, ваши изменения будут частью проекта вверх, и любые изменения, которые они вносят, будут включать ваши изменения.
Теперь, если вы используете библиотеку, эта причина может не относиться к коду, который ее использует, но она применима к любым исправлениям или улучшениям, которые вы делаете в самой библиотеке.
Стандартная оговорка. Я не юрист, и это не юридическая консультация. Если вам нужна настоящая юридическая консультация, обратитесь к адвокату.