Является ли это законным способом заставить использовать код GPL в приложении с закрытым исходным кодом через плагин?[закрыто]
-
02-07-2019 - |
Вопрос
Рассмотрите следующие шаги:
0) Выпустить макет программы с открытым исходным кодом и макет плагина, которые взаимодействуют с помощью определенного интерфейса (I), обмениваясь сложными структурами данных, совместно используя память и вызывая друг друга.Примените к нему разрешительную лицензию.
1) Выпуск плагина, предназначенного для работы с любой программой способом, определенным интерфейсом (I).Этот плагин использует сторонний код, защищенный GPL, как и сам GPL.Изначально он разработан и протестирован с помощью Макетной программы.Она распространяется как любая программа GPL, с доступным исходным кодом.
2) Выпустить проприетарную программу с закрытым исходным кодом, предназначенную для взаимодействия с любым плагином способом, определенным интерфейсом (I).Изначально он разработан, протестирован и поставляется с макетным плагином.
3.1) Добавьте в программу установочный скрипт, который загружает плагин GPL и присоединяет его к установленной программе.
3.2) Вместо установочного скрипта добавьте инструкции по загрузке и подключению плагина GPL вручную.
Таким образом, конечный пользователь получает проприетарную программу, которая извлекает выгоду из кода, защищенного GPL, в плагине.
Вопросы:
0) Если это законно, то разве это не законный способ получить выгоду от любого кода, защищенного GPL, в любой проприетарной программе с довольно небольшими усилиями разработчика?
1) Если это не законно, то какая часть GPLv * или что-либо еще мешает кому выполнить какой шаг?
2) Есть ли какая-либо юридическая разница между 3.1 и 3.2?
3) Есть ли какая-либо юридическая разница, если Макет программы и плагина, проприетарная программа и плагин GPL разработаны одним человеком или разными лицами;намеренно или нет?
4) Каково ваше мнение - достаточно ли это этично?
5) Существуют ли какие-либо существующие образцы такой стратегии?
6) Существуют ли какие-либо более простые легальные способы достичь того же результата - выпустить проприетарную программу, которая может и, скорее всего, получит выгоду от кода GPL?
Обновить:
В буквальном смысле это означало бы, что написание плагина для программы с закрытым исходным кодом и выпуск его под GPL привели бы к тому, что комбинация стала бы расширением плагина и, таким образом, подпадала бы под действие GPL, охватывая также всю программу с закрытым исходным кодом
Но эта комбинация не распространяется, она комбинируется на компьютере конечного пользователя.Например, моя собственная модификация Linux, которую мне не нужно открывать с открытым исходным кодом, пока я ее не отправлю.В этом случае конечному пользователю удалось внести изменения без доступа к исходному тексту Программы - хорошо для него, но пока ничего незаконного я не вижу.
Чтобы использовать плагины, защищенные GPL, основная программа должна быть выпущена под лицензией GPL
Я видел эту часть часто задаваемых вопросов по GPL.Но плагин может быть разработан независимо и поставляться вместе с MockProram.И так получилось, что конечный пользователь может взять плагин из MockProgram и поместить его в Проприетарную программу.До тех пор, пока этот последний шаг не будет разделен, GPL и закрытый исходный код будут разделены.И этот шаг выполняется конечным пользователем, у которого нет никаких обязательств, поскольку он не распространяет комбинированный продукт.
ОБНОВЛЕНИЕ 2
Это
Если суд установит, что одно из них специально разработано для того, чтобы требовать другого, тогда вас могут ожидать неприятности.Природа Макетной программы и макетного плагина также может играть роль в том, являются ли они "настоящими" программами или марионетками.Проконсультируйтесь с адвокатом.
Похоже на ответ на вопрос 3.Спасибо.
Решение
Это определенно неэтично.Когда я выбираю GPL вместо, скажем, BSD, мое намерение ясно - если вам полезен мой код, то вы ДОЛЖНЫ внести свой вклад в ответ.И совершенно ясно, какого вклада я ожидаю от вас в ответ - предоставив полный доступ ко ВСЕЙ системе, использующей мой код.В основе GPL лежит идея о том, что кто-то другой должен иметь возможность вносить изменения в такую систему и создавать на ее основе другие вещи.
При выполнении шагов 3.1/3.2 возникают социологические проблемы.К кому обратится пользователь, когда его система перестанет работать?Особенно, когда проблема связана с плагином GPL, будет ли автор плагина GPL поддерживать такого пользователя?Будет ли разработчик плагина GPL развлекать неэтичного разработчика приложений с закрытым исходным кодом?
Учитывая вышесказанное, никто не будет пытаться задать ваши вопросы 4, 5 и 6 в достаточно большом масштабе, чтобы их заметили.Кроме того, если вы пишете коммерческое приложение, на котором зарабатываете много денег, то обычно вы можете лицензировать этот код GPL у правообладателя для использования в вашем проекте за определенную цену.
Чтобы ответить на вопрос 3, если вы являетесь единственным автором кода GPL, то у вас есть полное авторское право на этот код.Вы можете делать с ним все, что захотите, в том числе использовать его в проекте, отличном от GPL, даже если вы выпустили его под GPL для использования другими.
Другие советы
Это не технический вопрос, это юридический вопрос.Обратитесь к юристу, имеющему лицензию на практику в вашем регионе.
Если программа динамически связывает подключаемые модули, и они выполняют вызовы функций друг другу и обмениваются данными структуры, по нашему мнению, образуют единую программу, которую следует рассматривать как расширение как основной программы, так и подключаемых модулей.Для того, чтобы использовать плагины, защищенные GPL, основная программа должна быть выпущена под лицензией GPL или совместимую с GPL лицензию на свободное программное обеспечение и что условия GPL необходимо соблюдать, когда основная программа распространяется для использования с этими плагинами.
“Соответствующий исходный код” для работы в форме объектного кода означает весь исходный код, необходимый для генерации, установки и (для исполняемой работы) запуска объектного кода и модификации работы, включая сценарии для управления этими действиями.Однако он не включает системные библиотеки работы, инструменты общего назначения или общедоступные бесплатные программы, которые используются в неизмененном виде при выполнении этих действий, но которые не являются частью работы.Например, соответствующий исходный код включает файлы определения интерфейса, связанные с исходными файлами для работы, а также исходный код для совместно используемых библиотек и динамически связанные подпрограммы, для которых специально разработана работа, например, путем тесного обмена данными или потоком управления между этими подпрограммами и другими частями работы.
Если суд установит, что одно из них специально разработано для того, чтобы требовать другого, тогда вас могут ожидать неприятности.Природа Макетной программы и макетного плагина также может играть роль в том, являются ли они "настоящими" программами или марионетками.Проконсультируйтесь с адвокатом.
Я думаю, вы сможете это сделать, если на самом деле не будете связывать программы.Пусть они будут отдельными процессами и обмениваются данными через сокет, именованный канал или что-то подобное.
Но на самом деле, я согласен с первым постером.Если вы планируете использовать код GPL в проекте, отличном от GPL, есть несколько хороших вариантов:
- Проконсультируйтесь с юристом, разбирающимся в подобных вопросах
- Опубликуйте код для всего вашего проекта как GPL
- Не используйте код GPL в этом месте
- Свяжитесь с авторами кода GPL, предложите им компенсацию в обмен на лицензию с меньшими ограничениями вашей свободы использования их кода.
Я задал очень похожий вопрос по поводу здесь, но с точки зрения отправной точки, которую я ищу, создание оригинального продукта с открытым исходным кодом с самого начала, что все еще оставляет мне возможность продавать его позже.
Я не говорю, что GPL верна - есть некоторые области, с которыми я действительно не согласен (а некоторые я действительно не понимаю!), Но, по крайней мере, это шаг в правильном направлении.
Я думаю, что все действительно сводится к одному вопросу:-
- Работает ли ваше программное обеспечение требовать код GPL будет работать.
Если ответ "да", то примите это и двигайтесь дальше.Если ответ отрицательный (как в моем случае), то пока все сходятся во мнении, что мне не нужно беспокоиться о GPL.