Юридическая суть динамической линковки LGPL
Лицензия GNU LGPL (Lesser General Public License) позволяет программистам объединять открытый код с проприетарными продуктами. Это компромисс между полной свободой софта и коммерческими интересами бизнеса. Основное условие использования таких библиотек в закрытом ПО заключается в сохранении свободы пользователя модифицировать открытый компонент.
Динамическая линковка создает четкую техническую и правовую границу между вашим приложением и библиотекой. Программа загружает библиотеку (файлы .dll, .so или .dylib) в память только во время запуска. Юристы трактуют этот метод как простое взаимодействие двух отдельных произведений. Эффект Copyleft не распространяется на ваш основной код, поэтому вы сохраняете его закрытым.
Динамическая линковка позволяет использовать LGPL-библиотеки в коммерческих целях без раскрытия исходного кода вашего приложения.
Отличия от статической линковки
Статическая линковка вшивает код библиотеки напрямую в исполняемый файл приложения. В этом случае закон воспринимает ваш продукт как производное произведение. Вы будете обязаны опубликовать весь исходный код под лицензией LGPL. Динамический метод исключает этот риск при соблюдении технических требований.
Требования LGPL к проприетарному софту
Использование динамической связи не освобождает вас от всех обязательств. Разработчик должен выполнить ряд действий для обеспечения юридической чистоты продукта. Игнорирование этих правил ведет к отзыву лицензии и судебным искам.
- Уведомление об использовании. Разместите информацию о применении LGPL-библиотек в разделе «О программе» или в сопроводительной документации.
- Предоставление текста лицензии. Приложите копию LGPL и GPL (если это требуется версией библиотеки) к дистрибутиву вашего ПО.
- Отсутствие модификаций библиотеки. Используйте библиотеку в исходном виде. Если вы правите код самой библиотеки, вы обязаны опубликовать эти правки в открытом доступе.
- Обеспечение возможности замены. Пользователь должен иметь возможность заменить файл библиотеки на свою версию. Ваша программа должна корректно работать с совместимой модифицированной версией библиотеки.
Главная обязанность разработчика заключается в предоставлении пользователю технической возможности обновить или исправить LGPL-компонент.
Реверс-инжиниринг и EULA
Раздел 4 лицензии LGPL v3 и раздел 6 версии 2.1 содержат жесткое требование. Вы обязаны разрешить пользователю проводить обратную разработку (reverse engineering) вашего ПО для отладки изменений в LGPL-библиотеке. Стандартные лицензионные соглашения (EULA) часто запрещают любой реверс-инжиниринг. Вам необходимо изменить текст соглашения, чтобы оно не противоречило условиям LGPL в части взаимодействия с библиотекой.

Особенности Qt и FFmpeg в коммерческих проектах
Фреймворк Qt является самым популярным примером использования LGPL. При разработке на Qt выбирайте динамическую сборку. Помните, что Qt версии 3 содержит условия против «тивоизации». Если вы поставляете софт вместе с оборудованием (Hardware), вы обязаны предоставить пользователю доступ к системе для замены библиотек Qt.
Библиотека FFmpeg требует внимательности при компиляции. Некоторые ее модули (например, x264 или x265) распространяются под лицензией GPL. Если вы включите их в сборку, весь ваш продукт станет GPL-зависимым. Используйте флаг —enable-shared и проверяйте лицензионный статус каждого модуля перед релизом.
Сложности на мобильных платформах iOS и Android
Разработка для iOS создает серьезные препятствия. Политика Apple App Store поощряет статическую линковку. Однако LGPL требует возможности перелинковки. Для выполнения этого условия разработчики предоставляют объектный код (.o файлы) приложения по запросу. Это позволяет опытному пользователю собрать приложение заново с новой версией библиотеки.
В Android ситуация проще благодаря поддержке динамических библиотек через NDK. Вы можете поставлять .so файлы в составе APK или AAB пакета. Пользователь может извлечь пакет, заменить библиотеку и собрать его обратно. Ви Эф Эс Консалтинг рекомендует детально описывать этот процесс в технической документации для соблюдения compliance.
Услуги Ви Эф Эс Консалтинг по лицензионному аудиту
Юристы Ви Эф Эс Консалтинг помогают IT-компаниям минимизировать риски при использовании Open Source. Мы проводим полный аудит архитектуры вашего программного обеспечения. Наши эксперты находят скрытые зависимости, которые могут поставить под угрозу вашу интеллектуальную собственность.
Мы предлагаем следующие решения для защиты вашего бизнеса:
- Разработка текстов EULA. Составляем соглашения, которые учитывают требования LGPL по реверс-инжинирингу и не нарушают ваши права.
- Создание Object Code Offer. Готовим юридически корректные предложения о предоставлении объектного кода для мобильных приложений.
- Аудит цепочки поставок ПО. Проверяем все сторонние компоненты на наличие конфликтующих лицензий.
- Консультации по архитектуре. Помогаем выбрать между динамической линковкой и альтернативными библиотеками на этапе проектирования.
Правильная настройка процесса сборки и оформления документов избавляет от претензий правообладателей. Мы защищаем ваш код от принудительного открытия. Ви Эф Эс Консалтинг гарантирует соответствие вашего продукта международным стандартам лицензионной чистоты.