@Sh0ttky

Допустимо ли проприетарному приложению запускать бинарник под GPL?

Если есть приложение под лицензией gpl, имеет ли проприетарная программа право (без необходимости открывать свой исходный код) запустить его исполняемый файл? Вообще, допустимо ли в рамках одного продукта GPL ПО и проприетарное?
  • Вопрос задан
  • 279 просмотров
Решения вопроса 1
@Z-r
> имеет ли проприетарная программа право

Программа прав не имеет. Права имеет человек. :-)

> Допустимо ли проприетарному приложению запускать бинарник под GPL?

Интересно, как вы видите мир, в котором на этот вопрос правильный ответ отрицателен? Так, что из-под Винды нельзя запустить ГНУ Емакс или GoldenDict?

> Вообще, допустимо ли в рамках одного продукта GPL ПО и проприетарное?

Тоже удивительный вопрос. Макось, Андроид или Убунта — это на ваш взгляд не «один продукт»?

Если же у вас есть какой-то конкретный вопрос по конкретной ситуации, то, наверное, его и стоит задать. :-)

P. S.

[из комментариев]> Конкретный вопрос: если я соберу ffmpeg с поддержкой x264 (что сделает лицензию ffmpeg GPL), и не залинкую на ффмпежные библиотеки "свою" программу, а буду запускать исполняемый файл ffmpeg вызовом exec, или start, а потом читать его вывод через stdout, могут ли меня обязать открыть исходный код "своей" программы?

Едва ли. Мне неизвестны такие прецеденты.

> Другой вопрос: если есть программный продукт, который является распределённой системой, т.е. у него скажем 10 исполняемых файлов, которые сообщаются между собой, скажем, через сокеты, и один из этих 10 исполняемых файлов содержит код под GPL, то нужно открыть этот 1 или все 10?

Позволю себе процитировать ЧаВо по GNU GPL:

Какова разница между «сборником» и другими видами «измененных версий»?

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

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

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

Напротив, каналы обмена данными, *сокеты* и аргументы командной строки — механизмы взаимодействия, обычно используемые между двумя отдельными программами. Так что когда они применяются для взаимодействия, модули обычно являются отдельными программами. Но если содержание взаимодействия достаточно глубоко, если происходит обмен сложными внутренними структурами данных, это тоже может быть основанием для того, чтобы считать две части составляющими одной более крупной программы.

https://www.gnu.org/licenses/gpl-faq.ru.html#MereA... (выделение мое)

От себя добавлю что:

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

— А в целом ваше желание любыми способами об’ехать авторское право на кривой козе, чтоб дать своим пользователям как можно *меньше* свободы, ничего, кроме отвращения, не вызывает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Sh0ttky Автор вопроса
Спасибо, похоже я нашёл ответ на свой вопрос в GNU ЧаВо :
Если я пишу внешний модуль для применения с программой, выпущенной под GPL, какие требования это налагает на лицензии, под которыми я могу распространять свой модуль? (#GPLAndPlugins)
Это зависит от того, как программа задействует свои внешние модули. Если программа пользуется для этого вызовами fork или exec, то модули — это отдельные программы, так что лицензия главной программы не предъявляет к ним никаких требований.

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

Как предельный может рассматриваться случай, когда программа динамически компонуется с модулями, но сообщение между ними ограничивается вызовом “главной” функции модуля с некоторыми аргументами и ожиданием, когда произойдет возврат из функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы