IANAL, TINLA.
> Пишу прогу под GPLv3
Так. А выбор условий лежит полностью на вас? То есть это либо целиком ваш труд (что почти невозможно :-), либо все хозяева всех зависимостей разрешили вам это делать по вашему собственному усмотрению?
Если да, то обратите внимание, что вы же можете сколь угодно избирательно ослабить авторское лево GNU GPL — ну, к примеру, прямо дозволить компоновку с теми или иными несвободными библиотеками. И это не будет ей противоречить.
> с возможностью подключения плагинов (динамическая линковка)
Так.
> Вопрос - будут ли какие-либо ограничения по лицензии у самих плагинов
Ровно на этот вопрос дан развернутый ответ [0] в ЧаВО по лицензиям ГНУ.
— Когда программа и ее внешние модули считаются единой комбинированной программой? (#GPLPlugins)
Это зависит от того, как главная программа вызывает свои внешние модули. Если главная программа использует для этого fork и exec и они завязывают тесное общение через сложные структуры данных, общие или передаваемые туда и обратно, то они становятся единой комбинированной программой. Когда главная программа использует для вызова внешних модулей просто fork и exec, не завязывая тесного общения с ними, внешние модули остаются отдельными программами.
Если главная программа динамически компонуется с модулями и они вызывают функции друг из друга и разделяют общие структуры данных, мы убеждены, что они формируют единую комбинированную программу, которая должна рассматриваться как расширение и главной программы, и модулей. Если главная программа динамически компонуется с модулями, но взаимодействие между ними ограничено вызовом «главной» процедуры модуля с какими-то параметрами и ожиданием результата, то это предельный случай.
Применение общей памяти для обмена сложными структурами данных вполне эквивалентно динамическому связыванию.
— Если я пишу внешний модуль для применения с программой, выпущенной под GPL, какие требования это налагает на лицензии, под которыми я могу распространять свой модуль? (#GPLAndPlugins)
См. [предыдущий] вопрос для определения того, считаются ли модули и главная программа единой комбинированной программой или раздельными произведениями.
Если главная программа и модули составляют комбинированную программу, то это значит, что вы должны выпускать модуль под GPL или совместимой с ней лицензией свободных программ и распространять его с исходным текстом так, чтобы это было совместимо с GPL. Если главная программа отдельна от внешних модулей, то это не налагает требований на внешние модули.
Чем он вас не устроил?
> Могу ли я ограничить с какой лицензией можно подключать плагины (например, только MIT
Если да (второй абзац), то да, только тогда уже ваша программа не будет под GNU GPLv3. *Такое* условие ей противоречит.
[0]
https://www.gnu.org/licenses/gpl-faq.ru.html#GPLPlugins
___
P. S. И да, хотя вы об этом не спрашивали, не удержусь посоветовать не следовать дурным примерам, и не распространять свою работу на условиях GNU *L версии такой-то и _только_ такой-то, но всегда выбирать версии такую-то _или более позднюю_. Как этот рекомендовано в ней самой [a].
Это справедливо даже в том случае, если сейчас у нее есть зависимость от работы под версией N ровно.
[a]
https://www.gnu.org/licenses/gpl-3.0.html#howto