Если я изменяю и динамически связываюсь с измененным LGLP Lib, должен ли я сделать изменения доступными?
Я обнаружил ошибку в LGPL Lib, с которой я в настоящее время связываюсь динамически.
- Приложение с закрытым исходным кодом
- Я динамически связываюсь с LGPL Lib
- Приложение будет доступно для общественности
Если я изменю библиотеку, я понимаю, что мне придется сделать измененные исходные файлы доступными с приложением, это правильно?
2 ответа
Вы распространяете измененный код библиотеки LGPL, поэтому вам нужно выпустить исходный код этой библиотеки (исправление вашей ошибки). Это не означает, что вам нужно выпустить исходный код для всего вашего приложения, просто библиотеку, которая поддерживается LGPL.
Также обратите внимание, что GPL/LGPL требует, чтобы вы передавали исходный код только тому, кому вы передали двоичный файл. Для этого не требуется, например, размещать источник в Интернете, чтобы кто-либо в мире мог его загрузить. Верный способ выполнить это - упаковать исходный код в ваш дистрибутив, чтобы люди собрали его вместе с двоичными файлами, и тогда никто не сможет пожаловаться на то, что этот источник не был доступен.
Другое решение (хотя это не всегда возможно) состоит в том, чтобы извлечь ваши собственные подклассы из библиотеки LGPL и внести там необходимые исправления. Конечно, лучшим подходом является отправка исправления сопровождающим библиотеки, но если вам нужно быстро отправить свой код, это может быть чем-то, что стоит рассмотреть. Получая материал, вы не нарушаете LGPL.
Из лицензии:
"Приложение" - это любая работа, в которой используется интерфейс, предоставляемый Библиотекой, но который не основан на Библиотеке. Определение подкласса класса, определенного библиотекой, считается режимом использования интерфейса, предоставляемого библиотекой.