На прошлой неделе компания Qt Company (подразделение Digia) обновила текст соглашения с организацией KDE Free Qt Foundation и объявила о новой политике лицензирования Qt.
Организация KDE Free Qt Foundation была основана в 1998 г. с целью защиты Qt как свободного ПО. Между организацией и компанией Trolltech был заключен договор, позволяющий в случае прекращения разработки свободной версии Qt, выпустить Qt под лицензией типа BSD (или любой другой свободной). Договор обновлялся, по мере того, как права на Qt переходили к Nokia, а затем к Digia.
Подробности новой лицензионной политики Qt под катом.
Смена лицензии
Qt долгое время выпускалась под лицензией LGPLv2.1. В версии 5.4 добавилась лицензия LGPLv3 и теперь планируется переход на третью версию GPL и LGPL. Начиная с версии 5.7, Qt больше не будет доступна под лицензией LGPLv2.1. Тем не менее, основные модули будут доступны также под GPLv2 для сохранения совместимости с ПО, выпущенным под второй версией GPL.
Переход на третью версию GPL/LGPL дает следующие преимущества:
- Защита от патентных претензий со стороны поставщика ПО.
- Защита от тивоизации.
- Совместимость с лицензией Apache.
Стоит отметить, что разработчик ПО может применить тивоизацию, если использует коммерческую версию Qt, либо версию под GPLv2.
Изменения не затрагивают следующую версию Qt 5.6, которая должна выйти в феврале. Qt 5.6 будет выпуском с длительным сроком поддержки (3 года).
Новая лицензионная политика
Теперь разберемся, какие лицензии будут поддерживаться у разных компонентов Qt.
- Основные библиотеки (Qt Essentials), а также дополнения (Qt Add-ons), код которых сейчас открыт будут доступны под LGPLv3 и GPLv2. Qt WebEngine будет также доступна под LGPLv2.1 (из-за зависимости от Chromium).
- Новые дополнения (Qt Charts, Qt Data Visualization и т.п.), будут доступны под GPLv3.
- Инструменты разработки (Qt Tools, moc, Qt Creator и т.п.), будут доступны под GPLv3.
В итоге, все компоненты доступны в коммерческой лицензии и в GPLv3, большинство компонентов также доступны под LGPLv3 и GPLv2. Список модулей для версии 5.5 можно посмотреть здесь.
Для иллюстрации, приведу наглядную схему (взял здесь):
Примечание: видимо, насчет Serial Port ошибка — должно быть LGPLv3.
Новые открытые модули
В составе открытой версии Qt 5.7 появятся следующие модули:
- Qt Charts
- Qt Data Visualization
- Qt Virtual Keyboard
- QML Profiler
- Clang static analyzer
- Qt Test Integration
- Qt Quick 2D renderer
Для Qt 5.6 эти модули поставляться не будут, но можно собрать самому из исходных кодов. Qt Quick Compiler планируется интегрировать в Qt QML в версии 5.8.
Обновление соглашения с KDE Free Qt Foundation
Изначально соглашение касалось только платформы X11 (плюс, несколько лет назад была добавлена Android). Новое соглашение расширяет область действия на Microsoft Windows, Microsoft Windows Phone, Apple MacOS и Apple iOS. Организация также может расширить действие соглашения на платформу-преемника (например, Wayland для X11).
Итоги
В соответствии с новой лицензионной политикой, чтобы использовать все модули открытой версии Qt, нужно использовать версию под GPLv3, т.е. ПО нужно выпускать под лицензией, совместимой с GPLv3. Для проприетарного ПО нужно использовать либо коммерческую версию либо не использовать новые модули. Эти изменения не затрагивают версию 5.6, которая будет поддерживаться 3 года, как и коммерческую версию.
Небольшое дополнение о коммерческой версии: планируется выпустить более дешевую версию Qt for Start-Ups. Подробностей пока нет, обещают выпустить в течении первого квартала 2016 г.
Дополнительная информация
Автор: BlackRaven86