Интересные обсуждения
темы заинтересовавшие velkin
Коммерческое использование Qt
24.06.2025
|
terrible_mummy
|
Есть тут кто-нибудь, кто использует Qt в своих продуктах, распространяемых за плату?
Если да, то можете рассказать детали по лицензированию? Лицензионные соглашения изучала, но интересны реальные кейсы для современных версий Qt.
Если да, то можете рассказать детали по лицензированию? Лицензионные соглашения изучала, но интересны реальные кейсы для современных версий Qt.
24.06.2025 28 комментариев |
_>Есть тут кто-нибудь, кто использует Qt в своих продуктах, распространяемых за плату?
_>Если да, то можете рассказать детали по лицензированию? Лицензионные соглашения изучала, но интересны реальные кейсы для современных версий Qt.
Qt Community Edition — там есть не всё, что есть в "настоящем" Qt, но всё, что надо, там есть. Лицензия — LGPL. Т.е., в коммерческих программах использовать можно, раскрытие исходников не требуется, но линковка с Qt должна быть динамической, ну и там правильные слова в документации должны быть написаны.
Pzz>Здравствуйте, terrible_mummy, Вы писали:
_>>Есть тут кто-нибудь, кто использует Qt в своих продуктах, распространяемых за плату?
_>>Если да, то можете рассказать детали по лицензированию? Лицензионные соглашения изучала, но интересны реальные кейсы для современных версий Qt.
Pzz>Qt Community Edition — там есть не всё, что есть в "настоящем" Qt, но всё, что надо, там есть. Лицензия — LGPL. Т.е., в коммерческих программах использовать можно, раскрытие исходников не требуется, но линковка с Qt должна быть динамической, ну и там правильные слова в документации должны быть написаны.
А вы продаете ваш продукт? В Qt факе написано:
"If I started development using the open source, can I later purchase a commercial license and move my code under that license?
This is not permitted without written consent from The Qt Company. If you have already started the development with a Qt Community Edition, please contact The Qt Company to resolve the issue. If you are unsure of which license or version to use when you start development, we recommend you contact The Qt Company to advise you on the best choice based on your development needs.
"
То есть коммерческое распространение не разрешено под этой лицензией, выходит.
_>То есть коммерческое распространение не разрешено под этой лицензией, выходит.
Выходит, что перейти от community edition к коммерческой лицензии можно, только если специально поныть.
Но при этом community edition распространяется под LGPL. А LGPL позволяет использовать то, что под ней распространяется, при условии динамической линковки.
Pzz>Здравствуйте, terrible_mummy, Вы писали:
_>>То есть коммерческое распространение не разрешено под этой лицензией, выходит.
Pzz>Выходит, что перейти от community edition к коммерческой лицензии можно, только если специально поныть.
Ну вроде как так. Позвольте спросить, так вы в итоге продаете продукт? Остались на лицензии без проблем или как? можно узнать детали?
_>Ну вроде как так. Позвольте спросить, так вы в итоге продаете продукт? Остались на лицензии без проблем или как? можно узнать детали?
Я продавал с Qt, правда не последней версии, всем пофиг. Линковал динамически и все. Напродаешь в таких масштабах, что на это обратят внимания — ну купишь коммерческую. А пока — забей, нет никакого криминала, не трать на это время и силы
Н>Здравствуйте, terrible_mummy, Вы писали:
_>>Ну вроде как так. Позвольте спросить, так вы в итоге продаете продукт? Остались на лицензии без проблем или как? можно узнать детали?
Н>Я продавал с Qt, правда не последней версии, всем пофиг. Линковал динамически и все.
А вы продавали в России (локально) или на Запад.
При втором варианте, боюсь, могут быть недовольны сами разработчики Qt.
Н>Напродаешь в таких масштабах, что на это обратят внимания — ну купишь коммерческую. А пока — забей, нет никакого криминала, не трать на это время и силы
Вроде обсуждали в форуме по Qt, что из России сейчас его не купить или я путаю и речь шла только про скачивание? (впрочем, второе почти гарантированно предполагает первое).
На Запад конечно. Лет 5 назад было.
Не было никаких проблем. Линковал-то динамически и в исходниках Qt ничего не менял
_>>Ну вроде как так. Позвольте спросить, так вы в итоге продаете продукт? Остались на лицензии без проблем или как? можно узнать детали?
Н>Я продавал с Qt, правда не последней версии, всем пофиг. Линковал динамически и все. Напродаешь в таких масштабах, что на это обратят внимания — ну купишь коммерческую. А пока — забей, нет никакого криминала, не трать на это время и силы
А с чего бы покупать коммерческую лицензию, когда люди используют LGPL. Я не знаю, что там у них сейчас, но под конец пятой версии было только три компонента GPL + коммерческие.
Это значит, что если не хочешь открывать код согласно GPL используя эти компоненты, то покупай коммерческую лицензию. И здесь у меня есть сомнения подобных практик, когда можешь не открывать код, если заплатил, когда этот же код уже лежит под GPL.
GPL есть GPL, а реальный суд в том же США ещё неизвестно что скажет. Люди заплатили и свой код не открыли, а на них раз и подадут в суд, типа код под GPL, давай открывай. А они начнут мямлить, да мы же заплатили разработчику. Но код один и тот же.
А у LGPL ещё есть такая особенность, что динамическая линковка это доказательство, что свой код и чужой код под LGPL не связан. Но те кто читал лицензию сами могут заметить, что можно предоставить объектные файлы для статической линковки сторонним лицам. Это тоже доказательство независимости своего кода от чужого кода LGPL, просто более сложное.
Но что ещё важнее даже GPL можно продавать, просто там нельзя запретить торговать собственными продуктами другим людям, что осложняет коммерциализацию. Но и здесь те кто читал лицензию могут увидеть путь заработка.
Свободный код GPL нужно раздавать открыто, а любые объектные (бинарные) файлы и сборки можно продавать за деньги, как и услуги по поддержке программного обеспечения. То есть бинарные сборки это уже собственность тех, кто их сделал. Не нравится, иди делай свою сборку.
Я потому в своё время много раз перечитал свободные лицензии, потому что одни комментаторы говорят одно, другие другое. Что касается Qt, то я там вообще проблем не вижу.
А ещё есть моё личное мнение, что если хочешь вести коммерческую разработку с закрытым кодом никогда не используй GPL, а используй LGPL или ещё лучше MIT и подобные. И никогда, никогда не плати.
У тех кто платил это всё заканчивалось плохо. Надо или покупать у исходных разработчиков продукт с потрохами. Или нанимать своих программистов и соблюдать лицензию, но не давать ни копейки исходным разработчикам или перекупам.
А в Qt сидят не исходные разработчики, а именно что перекупы ставшие новыми разработчиками, да ещё и враждебно настроеные в отношении России и клиентов из России. Они же всех киданули на деньги и радуются. Но лицензию составлял Ричард Столлман, а он учёл таких кадров. Так что никогда ничего не нужно покупать.
В некоторой мере я толкаю аморальную точку зрения. Как же так, не подерживать авторов продуктов. Но после многократного прочтения свободных лицензий, да и не за один раз, а на протяжении многих лет, я понял, что именно так и работает свободный софт.
И люди, которые бегут платить не понимают элементарных вещей написанных в свободных лицензиях. А там ясно сказано, что платить не нужно никому и никогда. И нюансы в основном идут в каких случаях делиться своим кодом с другими построенным на коде чужих продуктов со свободными лицензиями, а в каких нет.
И опять же повторюсь, самое главное не платить никому и никогда за свободные лицензиии. GPL избегать, если нужно распространять во вне, а наработками кода делиться не хочется. LGPL и MIT без опаски использовать согласно лицензиям.
Те же текущие владельцы Qt могут закрыть свою разработку и делать, что хотят. Ну и прекрасно, появятся форки. А лицензия Ричарда Столлмана захоти они вернуться на рынок всё равно будет работать против них.
Платить или не платить за свободную лицензию, вот в чём вопрос? Ответ: всегда не платить! В том, что не платишь за свободную лицензию нет нарушений. Нарушения могут быть только в четырёх свободах при определённых обстоятельствах.
И, кстати, текущие владельцы Qt плевали на любые законы. Они ориентируются на политическую повесточку. То что они брали деньги с клиентов, а потом киданули на них же и забанили целую страну тоже о чём-то говорит.
Это прежде всего говорит, что разбирательства по делам даже, если они возникнут будут не в судах США, ЕС или ещё где, а точно так же по беспределу. Как Google Play киданул россиян, как App Store киданул россиян, как Microsoft киданул россиян, как Sony киданули россиян, как Nintendo киданули россиян.
Или как в начале СВО люди пытались гадить в свободный софт, что если ip адрес из России, то сделать что-нибудь ужасное. Ну и где они сейчас? Повывелись все, вот где.
В общем пока в наглую не начнёшь нарушать лицензию LGPL я проблем не вижу. А что касается GPL, то тема на мой взгляд сомнительная, и я бы избегал этих компонентов в любом случае, даже за деньги, если нужно сохранить коммерческую тайну кода.
А против слишком "умных" коммерсов, которые думают, что можно подсадить людей на свободный продукт, а потом брать деньги, или купить свободный продукт и потом всё закрыть, вроде текущих владельцев Qt, придуманы свободные лицензии.
Pzz>>Выходит, что перейти от community edition к коммерческой лицензии можно, только если специально поныть.
_>Ну вроде как так. Позвольте спросить, так вы в итоге продаете продукт? Остались на лицензии без проблем или как? можно узнать детали?
Я — нет. Но у меня достаточно большой опыт с open source по другим делам (не по продаже коммерческого продукта на Qt).
Я б не стал покупать лицензию на Qt, если мне достаточно функциональности community edition (она чуть урезана по сравнению с коммерческими версиями). На самом деле, меня в основном интересует разработка под линукс, а не под венду, и там, я бы вообще постарался обойтись тем Qt, который к операционке прилагается, а не тащить с собой. Т.е., community edition.
И еще добавлю. Пишут они лютую хрень, что нельзя перелицензировать. Может, вы вообще решили делать опенсорсный продукт, потом поменяли своё решение. Пока вы наружу свой софтварий не выдавали, имеете полное право. И что, вам теперь перед какими-то Qt-никами отчитываться о ваших внутренних решениях? Пока нет релизов, ваша внутренняя кухня — вообще ваше дело и никого не касается.
Pzz>...
Pzz>И еще добавлю. Пишут они лютую хрень, что нельзя перелицензировать. Может, вы вообще решили делать опенсорсный продукт, потом поменяли своё решение. Пока вы наружу свой софтварий не выдавали, имеете полное право. И что, вам теперь перед какими-то Qt-никами отчитываться о ваших внутренних решениях? Пока нет релизов, ваша внутренняя кухня — вообще ваше дело и никого не касается.
Ребята из Qt пояснили мне в своё время две вещи:
Первое, они не занимаются отслеживанием корректности использования gpl/lgpl версий кутэ, ибо этим занимаются соответствующие международные комитеты. То есть проблемы возникнут если ваши недоброжелатели соберут доказательства и настучат в GPL, а те уже будут подавать иск. Если у вас не какой-то глобальный продукт, то вероятность отгрести практически минимальна. Особенно за пределами ЕС.
Второе — когда вы просто установили lgpl qt и слинковали его со своим проектом (пофиг, статически или динамически) — ваш проект и все его форки автоматом должны иметь lgpl версию. Поэтому даже если вы решите его перевести на коммерческие рельсы, то должны будете всё равно распространять и под lgpl лицензией.
Моменты, которые надо понимать: lgpl вовсе не требует динамической линковки, просто так проще всего. Так же это не означает что вы должны распространять свой софт бесплатно.
SaZ>Второе — когда вы просто установили lgpl qt и слинковали его со своим проектом (пофиг, статически или динамически) — ваш проект и все его форки автоматом должны иметь lgpl версию. Поэтому даже если вы решите его перевести на коммерческие рельсы, то должны будете всё равно распространять и под lgpl лицензией.
А вот тут врут. Линковка с LGPL-библиотеками не принуждает распространять сам софт под LGPL (но накладывает забавную обязанность предоставлять доступ к исходникам библиотек; впрочем, можно обойтись ссылкой).
SaZ>Второе — когда вы просто установили lgpl qt и слинковали его со своим проектом (пофиг, статически или динамически) — ваш проект и все его форки автоматом должны иметь lgpl версию. Поэтому даже если вы решите его перевести на коммерческие рельсы, то должны будете всё равно распространять и под lgpl лицензией.
Нет, если используешь чужой проект находящийся под LGPL, то при изменении чужого проекта именно для него нужно предоставлять четыре степени свободы по Ричарду Столлману, то есть исходные коды в том числе. А свой проект может быть под любой лицензией, в нашем случае проприетарной.
Вот с GPL да, подсоединил такой проект к своему, обязан сделать свой проект под GPL лицензией. Фактически всё будет вращаться вокруг GPL, потому её и называют вирусная лицензия.
Там три вида лицензии.
1. GPL для программ.
2. LGPL для библиотек.
3. AGPL для веб.
Взять ту же LGPL, если бы она была как GPL, то есть требовала обеспечить четыре степени свободы для кода, который использует хотя бы одну библиотеку с GPL, то ей бы мало кто пользовался и уж точно не коммерсы. Я когда вижу библиотеку под GPL сразу скипаю (пропускаю) даже если она хороша.
Вот программы под GPL меня особо не напрягают. Они же не говорят, что все файлы созданные с помощью этих программ теперь должны иметь четыре степени свободы. Просто коммерсы как правило будут избегать и предложений разработчикам для программ под GPL, если их только не будет устраивать, что их трудом будет пользоваться любой бесплатно. А это устраивает только спонсоров двигающих какой-то свой бизнес где программа лишь вспомогательный инструмент.
SaZ>Ребята из Qt пояснили мне в своё время две вещи:
Я не знаю с кем ты говорил, но не думаю, что тебе стали бы врать намеренно. Скорее всего ты просто не понял о чём речь. Или тебе говорили про то, что Qt под LGPL при изменении с твоей стороны должен оставаться под LGPL. Или тебе говорили о лицензии GPL и о том, что это вирусная лицензия.
Если же тебе вот так прямо и сказали как ты описал, что те кто используют чужие проекты под LGPL обязаны лицензировать свои проекты под LGPL, то это возмутительное гонево. В интернете куча статей на тему свободных лицензий и никто не додумался такое писать, не говоря уже про текст самих лицензий.
Не знаю, может у меня глаза замылились за десятилетия и для меня ответы на такие вопросы кажутся простыми. Я помню тоже когда-то давно штудировал, что же это такое.
Из своего опыта я бы рекомендовал почитать русские переводы этих лицензий или в онлайн переводчике. И ещё дополнительно рассмотреть вопрос различия версий 2.1 и 3, которые наиболее часто используются в проектах. Вкратце в 3-ей версии есть уточнения по тивоизации.
Pzz>линковка с Qt должна быть динамической, ну и там правильные слова в документации должны быть написаны.
Линковка у нас есть, а про правильные слова — это пункт в EULA конечного продукта в котором Qt используется? Мы тут посмотрели некоторые комм продукты, использующие Qt, там кстати из того что попалось, никаких упоминаний Qt, хотя упомянуты другие опенсорсные ПО, но мы пока так навскидку посмотрели что попалось.
По пункту EULA вот такое предлагается для продукта, в котором Qt использовался "«Использование данного продукта не даёт права на извлечение, модификацию или повторное использование содержащихся в нём компонентов Qt в других проектах, особенно в сочетании с Open Source Qt.»". Но это иишка, так что надо еще чекать
Pzz>>линковка с Qt должна быть динамической, ну и там правильные слова в документации должны быть написаны.
_>Линковка у нас есть, а про правильные слова — это пункт в EULA конечного продукта в котором Qt используется? Мы тут посмотрели некоторые комм продукты, использующие Qt, там кстати из того что попалось, никаких упоминаний Qt, хотя упомянуты другие опенсорсные ПО, но мы пока так навскидку посмотрели что попалось.
Ну, возможно они используют коммерческую версию Qt, и в этой связи свободны от упоминаний.
_>По пункту EULA вот такое предлагается для продукта, в котором Qt использовался "«Использование данного продукта не даёт права на извлечение, модификацию или повторное использование содержащихся в нём компонентов Qt в других проектах, особенно в сочетании с Open Source Qt.»". Но это иишка, так что надо еще чекать
Выглядит как EULA от продукта, который использует коммерческую лицензию Qt.
Лицензия — это документ от правообладателя к потребителям, оговаривающий условия использование продукта. Некоторые продукты распространяются под двойными (или более) лицензиями. Это значит, что потребитель вправе выбрать какую-то одну лицензию, и следовать ее условиям. Но это не означает, что лицензии можно произвольно комбинировать.
https://opensource.stackexchange.com/questions/8804/do-i-need-a-commercial-license-for-the-qt-framework
https://opensource.stackexchange.com/questions/13717/use-qt-open-source-with-qt-creator-for-commercial-and-private-code-application
https://www.qt.io/licensing/open-source-lgpl-obligations:
F>
В GNU-ном FAQ написано, что вместо динамической линковки можно предоставить объектники (без исходников) от своей программы, чтобы любой желающий мог статически перелинковаться с измененной версией LGPL-ной библиотеки.
Но по-моему, это уже какой-то запредельный геморрой.
Pzz>Но по-моему, это уже какой-то запредельный геморрой.
Недавно как раз встречался с такой формулировкой от автора комм. софта (ссылка)
_>Есть тут кто-нибудь, кто использует Qt в своих продуктах, распространяемых за плату?
Да, есть. Правда не свои, а корпоративные
_>Если да, то можете рассказать детали по лицензированию? Лицензионные соглашения изучала, но интересны реальные кейсы для современных версий Qt.
Всё сложно. Представители Qt на прямые вопросы отвечают весьма уклончиво. Складывается впечатление, что с одной стороны они хотят продать лицензию, а с другой, что коммерческая лицензия не нужна, а нагнетать они не хотят. На данный момент понимание примерно такое: для бесплатного использования Qt должна линковаться динамически. В поставке конечному пользователю (кстати, не всегда понятно кто это), должен присутствовать файл с лицензией Qt. Конечный пользователь должен иметь возможность обновить библиотеки Qt. Изменения вносимые в сам Qt (если вдруг) должны быть опубликованы. В about окне продукта должно быть упоминание об использовании Qt как и некоторых других лицензий.