Мне ежемесячно поступает по несколько элписем и звонков от руководства компаний, менеджеров и конечных сотрудников, начинающихся примерно так:
- В минувшем году, продажники от Qt сообщили нам, что мы должны приобрести коммерческую лицензию на Qt. В итоге, мы приобрели 5-летнюю лицензию за 1 млн евро. А ты говоришь, что мы законно могли не платить. У нас стойкое ощущение что нас надурили!
- Как представитель малого бизнеса, я не могу потратить 100 000 евро на 5-летнюю коммерческую лицензию Qt
- Продажники от Qt сообщили нам, что мы обязаны публиковать исходный код ввиду LGPLv3 если не приобретаем коммерческую лицензию
- Продажники от Qt сообщили нам, что мы обязаны разрешить нашим покупателям ставить модифицированную версию Qt на нашу спецтехнику. Но мы не можем допустить подобного из соображений безопасности
Это всё ерунда! Нет, ты не должен платить за Qt. Подобно сотням других организаций, ты можешь создавать человеко-машинные интерфейсы твоего встраиваемого оборудования на основе Qt под LGPLv3 - и не платить ни копейки Компании Qt. Включая ЧМИ для промоборудования, машин, спецтехники, медтехники, домашних и корпоративных приблуд, ТВ-приставок и так далее.
Для продуктов уровня бизнес-бизнесу( B2B ), LGPLv3 предусматривает следующее:
- Обязанность предоставить покупателю исходный код библиотек и модулей Qt, текст лицензии LGPLv3 и GPLv3, и уведомление об авторских правах(LGPLv3 §4b)
- Если модифицировался исходный код Qt, нужно сообщить об отличиях, т.е предоставить разницу( diff ) между исходным и модифицированным кодом Qt (LGPLv3 §2)
- Необходимо предоставить тексты лицензий LGPLv3 и GPLv3 и уведомление об авторских правах на заметном месте интерфейса, например, в меню Параметры/Помощь -> Лицензии(LGPLv3 §4a, §4c)
Если продукт продаётся только организациям, т.е не частникам, тогда это продукт категории Бизнес-Бизнесу.
Спецтехника, грузовики и лодки для коммерческого использования, торговые автоматы, СКУДы и специзделия - всё это очевидные её представители.
Лицензия LGPL характеризует продукт категории Бизнес-Частнику как "потребительский продукт [...] обычно используемый для личного, внутрисемейного или домашнего применения или что-либо, изначально спроектированное или продаваемое для домашнего применения". Это, например, всевозможные ТВ-приставки, планшеты, ПК, игрушки, виртуальные помощники, домашние камеры наблюдения.
Если один и тот же продукт продаётся как Бизнесу, так и Частникам, это продукты категории Бизнес-Частнику. Если есть какие-то сомнения - то это Бизнес-Частнику. Например:
- Продажа одних и тех же камер видеонаблюдения и для применения в ТЦ/Офисах и дома - это категория Бизнес-Частнику
- Портативные аппараты гемодиализа или ЭЭГ, используемые пациентами на дому - это категория Бизнес-Частнику. Стало быть, категория Бизнес-Бизнесу тут достижима лишь для изделий, предназначенных и продаваемых больницам и госпиталям
Различие между категориями Бизнес-Бизнесу и Бизнес-Частнику принципиальна.
Ведь LGPLv3 подразумевает дополнительные обязанности для категории Бизнес-Частнику. Включая предоставление инструкций по установке, допускающих покупателям ставить в изделие модифицированную версию Qt (LGPLv3 §4e)
У пользователей должна быть возможность собрать модифицированную версию Qt для устройства, т.е потребуется исходный инструментарий. Вдобавок, нужна возможность установки модифицированной версии, например, посредством механизма обновления. До тех пор, пока модифицированные модули и библиотеки Qt интерфейсно-совместимы с исходными модулями, изделие должно работать с ними. ПО в изделии может подключать Qt посредством статического связывания или любыми другими способами(LGPLv3 §4d)
Перечисленные требования LGPLv3 вполне соответствуют обычному Обновлению-По-Воздуху( OTA ). Требуется, разве что, предоставить покупателю возможность выгружать модифицированную версию Qt на сервер обновлений( для дальнейшей отправки на его устройство ).
НО установка модифицированной версии - это законное основание для аннулирования гарантии. Даже более того, пользователю можно запретить пользоваться таким устройством. В случае, например, с автомобилем, можно запретить вождение автомобиля по дорогам.
LGPLv3 позволяет оставить исходный код приложения и модулей закрытым несмотря на использование ими Qt под LGPLv3 (LGPLv3 §4): "Вы можете предоставить конечный продукт на своих условиях [...]". Иными словами, "конечный продукт" - это комбинация самого приложения и модулей Qt. Можно выпустить конечное изделие на своих условиях. Например, лицензия на изделие может гласить, что все исходные коды приложения и библиотек не подлежат огласке.
В свете вышеупомянутого, должно быть очевидно, что можно законно использовать Qt с лицензией LGPLv3, не платя конторе ни копейки, не открывая исходных кодов своего ПО, лишь предоставляя возможность установки модифицированной версии Qt на устройство - и то, лишь для продуктов категории Бизнес-Частнику, для категории Бизнес-Бизнесу не требуется и этого. Использование Qt под LGPLv3 - отличная возможность для бизнеса. Вообще-то, очень многие поступают подобным образом.
Однажды, когда ты всё-таки поймёшь смысл LGPLv3, главный вопрос с "Нужно ли мне платить за Qt ?" изменится на "В каких случаях я получу выигрыш от платы за Qt ?" - и это очень хороший вопрос. И это - то, на что должны ответить ответить продажники Qt.
Мой ранее опубликованный пост "Использование Qt 5.15 и Qt 6 под LGPLv3" наглядно показывает, какие Qt-модули доступны под LGPLv3 ( зелёные ), под коммерческой лицензией( красные ) и под лицензией Площадки Дополнений Qt( жёлтые ).
Красные модули, т.е доступные лишь под коммерческой лицензией - это, в том числе, Виртуальная клавиатура( Virtual Keyboard ), Вэйландовский композитор( Wayland Compositor ), блок для работы с трёхмерщиной( Quick 3D ), васм( WebAssembly ), Qt для микроконтрорллеров( Qt for MCU ) и безопасная отрисовка( Safe Renderer ). Для каждого из красных модулей определено когда они релаьно нужны, какие есть альтернативы и как долго будет либо х интегрировать, либо - реализовать самостоятельно.
Это даёт приблизительное понимание затрат на использование Qt под LGPLv3. Сравните это со стоимостью коммерческой лицензии и сделайте выбор.
Комментарии
Qt, lgp... и почитай зоопарк. Кто все эти зверьки?
Qt - программный пакет для разработки ПО под разные платформы
Другое - названия разных лицензий под которыми он распространяется, которые что-то разрешают, что-то запрещают, что- - ограничивают или требуют. Он, начиная с недавней 6-й версии, вдруг стал шибко платным, появился целый зоопарк разных лицензий в котором чёрт ногу сломит
Ну это чтиво скорее для тех, кто по роду деятельности к ИТ относится
Кажется это связано с сертификациями, гарантиями и главное - страховка.
Как например ответственность в дтп у авторобота.
Я вот ни разу не проггер, а игровой дизайнер. С моего дивана qt это какой-то кусок субстанции. Не знаю как там под капотом, но выглядит и юзается все это мягко скажем не очень. Помню как все это знатно тормозило в кедах лет 10 назад даже на приличных конфигах. Недавно ставил манжару с кедами. Как был запутанный, неюзабельный интерфейс так и остался. Поставил ту же манжару с крысой и вот просто ванлав. Я видимо какой-то упертый адепт gtk. Сколько смотрел на qt столько и ужасался нафиг))).
Могу вас успокоить: вы - не один такой.
И могу заверить с точки зрения программиста: внутри у Qt - всё - ещё хуже, чем снаружи.
Вообще, оглядываясь на свой, уже более, чем тридцатипятилетний трудовой опыт, могу точно сказать: похоже, что кто-то специально следит за тем, чтобы "популярными" становились решения и средства - чуть ли ни самые идиотские, уродские и безграмотно спроектированные и сделанные.
В отрасли "перемогает" шизофренические настойчивость, упорство, мотивированность и энергия, а - не систематические знания и проработка и упорный труд с "доточкой" на приближении к идеалу.
Кто-то УПОРНО отводит от "закрывающих технологий" в ИТ. Это - тем более прискорбно, что именно в ИТ это легче всего было и есть сделать.
Вместо этого - постоянный цирк с беготнёй взбудораженной и возбуждённой толпы по одному и тому же кругу.
Qt как-то мощно полез в сторону всевозможной встройщины и автоматики, в т.ч отказоустойчивой. Например, тот же не_бесплатный безопасная отрисовка( Safe Renderer ) - позволяет продолжить отображение каких-то данных на экране в случае если у приложения что-то пошло совсем не так. Тот же вывод данных по скорости и проч на приборную панель. Активных элементов вроде кнопок туда ещё вроде бы не подвезли.
Были штуки, вроде готовых образов для быстрого старта на огромном количестве разного железа( всм, разных процов, включая кучу армовых )
Но стоит оно всё там денег прямо-таки неприличных.
Для обычных компов и мобильных устройств смысла в нём не вижу - куча заморочек с лицензиями и перспектива что в дальнейшем всё станет ещё более платным.. да и удобство разработки то ещё. С подобным же успехом можно и на игровом двжике вроде юнити или анреала приложения лепить - и под ПК и под мобилу там собирается, только ещё и возможности быстрой обработки графики и поддержки железа.
В то же время, у встраиваемых решений, мне других пакетов для создания тех же норм интерфейсов неизвестно, а ведь там дополнительно ещё куча всего требуется.
Хотя с каждым днём их всё больше побеждает жадность. Автор статьи из поста недавно написал:
И похоже что однажды оно полетит-таки на свалку
А - зачем выбирать что-то с такими идиотскими лицензиями?
Интернет - велик...