Запуск программного обеспечения в качестве службы с использованием неизмененной программы GPL (v2 +) в качестве основной зависимости: должен ли быть выпущен исходный код SaaS?

10

Я разрабатываю программное обеспечение как сервисный проект, доступ к которому возможен только онлайн. У меня может быть жесткая зависимость от исполняемого файла, на который распространяется GNU GPL (v2 или более поздняя версия).

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


Просто приведу конкретный пример: допустим, я занимаюсь проектированием системы обработки документов в Интернете, вроде Google Docs. Я хочу иметь возможность загружать в систему файлы любого типа и конвертировать их в любой внутренний формат. Вместо того чтобы пытаться вычеркнуть конвертер, я бы предпочел использовать существующую программу, о которой я знаю, которая позволяет конвертировать. Эта программа является исполняемым файлом с лицензией GNU GPL v2 (или более поздней). Могу ли я на законных основаниях иметь программное обеспечение как услугу без предоставления моего исходного кода?

Платиновая Лазурь
источник
Если это GPLv3 или Affero, то да, вы делаете. Эти лицензии были предназначены для исправления и закрытия петли «программное обеспечение как услуга».
Эндрю Т Финнелл
Подождите, GPLv3 тоже? Мне нужно еще раз взглянуть на это ...
Platinum Azure
Видимо я ошибаюсь насчет GLPv3. Это было вычеркнуто из этого. linux-mag.com/id/3017
Эндрю Т Финнелл

Ответы:

9

Из приведенного вами описания ответ «нет, вам не нужно раскрывать». Вы либо полагаетесь на вывод исполняемого файла GPL, либо рассматриваете его как систему, что является двумя исключениями из вирусной природы GPL. Загляните в FAQ по GPL, и вы найдете ответы, основанные на специфике вашего сценария.


источник
Просто чтобы убедиться, что я правильно понимаю (прочитав вопрос #GPLoutput в FAQ): Например, если можно сказать, что авторские права на загружаемый документ (в моем примере) принадлежат оригинальному автору, затем исполняемый файл используется , выход указанного исполняемого файла (не содержащий в себе части кода программы) сохраняет авторское право автора, и, следовательно, поскольку я его только использую, а вывод по умолчанию не распространяется под GPL, я не должны раскрывать?
Платиновая Лазурь
1
@PlatinumAzure: да.
MSalters
2
«Нет» - это правильно, но главная причина, по которой вы этого не делаете, заключается в том, что вы не распространяете работу, покрываемую GPL (только делаете ее доступной в Интернете). Это известное качество GPL (как 2, так и 3); Существует отдельная лицензия Affero GPL, которая распространяется на случай, когда приложение доступно онлайн, а не «распространяется».
Крейг
как насчет этого вопроса, где приложение GPL будет использоваться в режиме реального времени для создания выходных данных на компьютере пользователя? а также, например: все скрипты bash должны быть GPL?
Водолей Сила
-1

IANAL, но IMO GPL здесь имеют немного двусмысленности (или интерпретации). GPL дает вам большую свободу, когда дело доходит до «использования», но делает это большим ограничением в отношении «распространения производных работ». Сначала речь идет об использовании против производных работ. Если ваш код только «использует» программное обеспечение GPL, вам не нужно распространять код, использующий код GPL (хотя, если вы измените сам код GPL, вам все равно придется распространять ту часть, которую вы планируете распространять изменения), с другой стороны, если это считается производной работой, то вы должны распространять свой исходный код. Одним из ключевых моментов является то, выполняется ли ваш код в том же адресном пространстве процесса, что и код GPL,

Существует также неоднозначность того, считается ли предоставление веб-службы, позволяющей людям использовать GPL-код, перераспределением программного обеспечения или просто способом использования программного обеспечения. Я думаю, что большинство людей считают, что простое предоставление веб-службы не попадает под перераспределение.

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

Ли Райан
источник
Я могу видеть это как пограничный случай, если я предоставляю проприетарный интерфейс для свободного программного обеспечения, конечно (с интерфейсом, в основном делающим то же самое, что свободное программное обеспечение делает под капотом), но если я просто использую его и Для работы программы важно, но, по-видимому, цель свободного программного обеспечения по сути не совпадает с фирменным интерфейсом и эффективно используется как системная библиотека, что, конечно, может подпадать под исключение?
Платиновая Лазурь
@PlatinumAzure: анализ слишком пессимистичный. «Предоставление веб-службы, позволяющей людям использовать код под GPL» - это однозначно НЕ распространение этого кода под GPL. Не только мое мнение, но и мнение FSF. Если автор программного обеспечения не согласен с FSF, он не должен был использовать их лицензию.
MSalters
Там нет двусмысленности. Одна из основных причин создания GPL v3 заключалась в том, чтобы закрыть эту так называемую лазейку, как уже продемонстрировал «Aferro GPL». GPLv2 - это все о распространении кода, а не о его использовании.
Росс Паттерсон
@ RossPatterson: вопрос был о GPLv2, как я уже говорил в своем посте GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". Хотя эта часть GPL довольно проста, в GPLv2 открыто для интерпретации, является ли SaaS «использованием» или «распространением». GPLv2 ничего не сказал о SaaS, так как он был разработан до того, как SaaS был обычным явлением, поэтому двусмысленность.
Ли Райан
@LieRyan SaaS-использование пользователями, которые не получали двоичные дистрибутивы, было свободно признано как не «распространение» и как не требующее распространения исходного кода. Фонд свободного программного обеспечения работал с Affero над созданием модифицированного GPLv2 («Affero GPL» v1), который рассматривал такое использование как распространение. В GPLv2 нет никакой двусмысленности.
Росс Паттерсон