Это всегда было позицией FSF. которые динамически связывают приложения в библиотеки создает единую работу полученный как из кода библиотеки, так и из код приложения. GPL требует что все производные работы должны быть лицензированы под GPL, эффект, который может быть описан как «наследственный». Итак, если ссылки приложения на библиотеку под лицензией GPL, приложение также должно быть лицензировано лицензия GPL.
(конкретная страница обсуждает Java и LGPL, но здесь применяется общая точка зрения)
Если вы хотите лицензировать исходное приложение как BSD, вы должны сначала создать его, вообще не используя эту библиотеку.
Затем вы можете создать производную работу, объединив ваше приложение BSD и библиотеку AGPL3, при этом все это будет лицензироваться как AGPL3.
Фактически это будет новое, другое приложение, а не двойное лицензирование.
Поскольку вы хотите, чтобы ваше приложение BSD использовалось в коммерческих целях, вам необходимо выпустить его отдельно от расширенной версии приложения AGPL3, что означает наличие двух отдельных ссылок на странице загрузки с четким объяснением разницы.
(ПРИМЕЧАНИЕ. Везде, где я использую «BSD» в этом ответе, важно отметить, что это относится к «модифицированной BSD », а не к оригинальной BSD.)
Что произойдет, если я буду использовать другие библиотеки, лицензированные под BSD или что-то еще?
Это нормально. Если лицензия позволяет повторно выпускать код под совместимой лицензией и AGPLv3 считается совместимым (то есть BSD — см. полный список здесь), то у вас нет проблем.
Если вы планируете использовать множество библиотек и т. д., рекомендуется вести отдельный файл кредитов, в котором вы можете перечислить каждый конкретный компонент, который вы используете, адрес его веб-сайта, требования к лицензированию и т. д.
(обычный отказ от ответственности: я не юрист, следуйте на свой страх и риск и т. д.)