Я пишу небольшую библиотеку общего назначения, которую хотел бы использовать в своем лицензированном проекте BSD/X11. Я хочу включить поддержку глобализации в нее, specifficaly, я бы хотел использовать Glib:: ustring из glibmm, который лицензируется под LGPL. Здесь возникает вопрос: что касается BSD/X11 более разрешительного, чем LGPL, могу ли я использовать этот фрагмент кода в своей лицензированной библиотеке BSD/X11?
Могу ли я использовать библиотеку LGPL в лицензированном проекте BSD/X11?
Ответ 1
IANAL, но я считаю, что это разрешено. В лицензии BSD ничего нет, что мешает вам смешивать код других лицензий, а LGPL не заботится о том, с чем вы ссылаетесь. Однако вы будете соблюдать следующие ограничения:
1) Для части BSD, если есть предложение атрибуции, вам все равно нужно почитать ее и включить надлежащую атрибуцию в вашу документацию и т.д.
2) Для библиотеки LGPL вы должны сделать источник библиотеки доступным для получателей двоичных файлов проекта.
Ответ 2
@Branan: Мое настоящее понимание раздела LGPL 4 (IANAL):
- AFAIK, обязанность создания динамической библиотеки находится на стороне, распространяющей двоичную версию (или иначе не совместимую с LGPL версию), а не на лицензиаре (при условии, что лицензиар не распространяет двоично-только/LGPL- несовместимая версия).
- Статическая библиотека LGPL тоже прекрасна, если версия с бинарным доступом распространяется вместе с кучей объектных файлов (в соответствии с разрешительно-лицензионным кодом), которые пользователь может повторно связать со своей индивидуальной версией библиотеки LGPL.
- В любом случае двоичный код должен допускать обратную инженерию, чтобы позволить библиотеке LGPL настраиваться пользователем и по-прежнему быть привязанной к объектным файлам.
Ответ 3
IANAL, но...
Пока вы следите за ограничениями связи в LGPL, вы должны быть в порядке. В принципе, пользователь должен иметь возможность изменять код LGPL'd. Поскольку ваш код лицензирован BSD, а BSD-лицензия позволяет использовать двоичный файл без источника (что будет нарушать LGPL), вам необходимо создать динамическую библиотеку, лицензированную под LGPL всего вашего кода LGPL'd, и использовать ее.