Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: про Лицензию....
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
bobi
Я хочу продать ПО скомпилированное на Qt. Лицензии нет. Вот вопрос возникает: а как могут доказать, что ПО скомпилено именно на Qt, а не на какомнибудь CB, GCC...?
Litkevich Yuriy
Цитата(bobi @ 20.6.2010, 0:51) *
Лицензии нет
что под этим подразумевается?
Andrewshkovskii
Цитата(bobi @ 19.6.2010, 21:51) *
что ПО скомпилено именно на Qt

Твое ПО скомпилировано не на Qt , а компилятором (Напрмер, GCC, MSVS Compiler).
Лицензия как раз то и есть, у тебя , она видимо , LGPL..
Странно, что ты пишешь ПО для продажи, и не знаешь таких вещей..
Цитата(bobi @ 19.6.2010, 21:51) *
Я хочу продать ПО скомпилированное на Qt.
bobi
То есть Qt это не компилятор, а библиотека для интерефейса программ. Как я понял Qt интегрируется с MSVS для Windows или с GCC в случае работы на Linux. Так значит "кроссплатформенность" касается только элементов этой библиотеки? и тогда что значит:
"С версии 4.5 Qt распространяется в 2 редакциях:
Qt Commercial — для разработки коммерческих приложений.
Qt Open Source — под лицензией GNU GPL и GNU LGPL."

как это отражается на ПО разработанным с использованием Qt?

Объясните пжлста, а то не понял
Andrewshkovskii
Цитата
Qt (произносится «кьют»[2]) — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, PySide; Ruby — QtRuby[3] ; Java — Qt Jambi[4]; PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
from Wikipedia?
Так вот, Qt является фреймворком. Ты можешь и под виндой скомпилировать программу с помощью GCC. Qt не интегрируется, просто есть плагины для разных IDE упрощающих разработку приложений с использованием Qt. Просто собрав/скачав Qt под винду - ты можешь строить приложения только под windows, но написав однажды такое приложения, и попробовав скомпилировать его, например, под линуксом (с использованием той-же версии Qt но уже для линукса и не изменяю исходного кода) у тебя все скомпилируется и соберется. На ПО никак не отображается, почитай текст лицензии LGPL , насколько я знаю, ты можешь продовать свой софт, но не обязан предосталять исходный код программы без просьбы покупателя. В коммерческой - делай что хочешь. Только, мне кажется, большинству покупателей софта в россии все равно какая будет лицензия - лишь бы работало..
Litkevich Yuriy
Цитата(Andrewshkovskii @ 20.6.2010, 22:46) *
LGPL , насколько я знаю, ты можешь продовать свой софт, но не обязан предосталять исходный код программы без просьбы покупателя.
ещё проще, исходный код своей программы вообще не обязан предоставлять, а только объектные файлы, да и то для целей проверки, линкуются ли они с Qt. Это нужно, чтобы проверить не вносилось ли изменений в Qt, которые были скрыты.
Если возникла необходимость внести изменения в Qt, то их нужно будет предоставлять заказчику.
bobi
О! понятно. А вот выше говорилось что нельзя скомпилить приложение на Qt, то есть нужен компилятор.. А как насчет Qt Creator? разве это не компилятор? или это тока редактор кода, упрощающий работу с библиотекой, и ему всёравно обязательно нужен компилятор типа gcc, msvc...?
Andrewshkovskii
QtCreator это IDE.
Да, ему нужен компилятор, но работает он точно с MINGW (который включает в себя GCC, и CMake ( каком там компилятор C++ - я не знаю).
Приложения не на , а с использованием Qt пишут.
Litkevich Yuriy
Цитата(Andrewshkovskii @ 20.6.2010, 23:54) *
и CMake ( каком там компилятор C++ - я не знаю).
CMake - это генератор make-файлов, как и qmake
molchanoviv
Цитата(Andrewshkovskii @ 20.6.2010, 20:54) *
QtCreator это IDE.

Более того, msvs тоже не компилятор, а IDE в комплекте с которой идет набор компиляторов от Microsoft.
bobi
Ну вобщем понятно (платить за использование библиотек Qt при написании комерческого приложения без открытия исходников надо тока если сами библиотеки изменялись) А как насчёт статической линковки - она противоречит LGPL?

И ещё вот.. Искал кроссплатформенную IDE и пришол к выводу что креатор самое то! Его можно использовать без библиотек Qt? (ну к примеру если я просто хочу использовать GTK а не Qt)
Litkevich Yuriy
Цитата(bobi @ 22.6.2010, 0:18) *
А как насчёт статической линковки - она противоречит LGPL?
нет, смотри оговорку о предоставлении объектных файлов, вместо исходников

Цитата(bobi @ 22.6.2010, 0:18) *
Его можно использовать без библиотек Qt? (ну к примеру если я просто хочу использовать GTK а не Qt)
это уже отдельная тема (и может быть довольно интересной)
amit
скажите, а если я упакую QT'ишные библиотеки UPX'ом это будет являться нарушением LGPL?
Litkevich Yuriy
Цитата(amit @ 24.6.2010, 16:03) *
если я упакую QT'ишные библиотеки UPX'ом это будет являться нарушением LGPL?
нет, т.к. они всё равно распаковываются во временный каталог, в их изначальном виде.

П.С. только exe'шник UPx'ом не пакуй
amit
Цитата(Litkevich Yuriy @ 24.6.2010, 12:20) *
П.С. только exe'шник UPx'ом не пакуй

а почему?
Litkevich Yuriy
Цитата(amit @ 24.6.2010, 17:44) *
а почему?
потому-что всё распаковывается во временный каталог, а у тебя, возможно, в каталоге с бинарём, что-то лежит, например qm-файл, для перевода. И ищешь ты его в каталоге бинаря (который валяется во временном, а не там где пользователь мышкой щёлкнул), ну и соответственно не найдёшь этот файл. А по завершению работы приложения, бинарь во временном каталоге автоматически удалится.

Поэтому, лучше сжимать только dll'ки, тем более, что на них приходится основной вес программы.
amit
Цитата(Litkevich Yuriy @ 24.6.2010, 13:51) *
потому-что всё распаковывается во временный каталог

странно, а я думал что прямо в памяти все и распаковывается...
Litkevich Yuriy
Цитата(amit @ 24.6.2010, 18:18) *
странно, а я думал что прямо в памяти все и распаковывается...
я уже прошёлся по эти граблям, даже пришлось в командировку на сутки ехать.

П.С.
учись на чужих ошибках
Алексей1153
есть вот такое условие в задании (речь о разработке на Qt):

>>- Лицензия GNU GPL и GNU LGPL

правильно ли я из данной темы понял, что эта страшная надпись означает то, что я должен всего лишь передать заказчику свои исходники, и при этом не редактировать исходники самого Qt (то есть те, что шли с дистрибутивом) ?
Rocky
По LGPL можно не передавать свои исходники. По GPL обязан передать. По-моему основная разница в этом.
Алексей1153
Rocky, так вот странное сочетание - вроде должен, а вроде нет ) Да мне так то нет смысла их зажимать - передам, конечно
Litkevich Yuriy
Цитата(Алексей1153 @ 16.12.2010, 12:38) *
вроде должен, а вроде нет
GPL - для программы, исходники обязан предоставить по первому требованию клиента.
LGPL - для библиотек, если изменил библиотеку (Qt) обязан предоставить изменения по первому требованию клиента.

Идея простая: Free Software - это ПО, приобретённое клиентом, которое он (клиент) может сам изменить под свои нужды.
Алексей1153
Понятно. Ну, правкой дистрибутивных библиотек я не занимаюсь никогда, а свои исходники передать - это можно, если оговорено. Предыдущий заказчик, которому я писал на Qt, исходники не просил ) Поэтому самописный движок для анимированного персонажа на рабстол остался пока у меня и ждёт подходящего заказа на фрилансе )
bvn13
А у меня вопрос в догонку... вот приложение скомпиленно, работает, исходников нету. А как узнать, какая лицензия использовалась при сборке?
Litkevich Yuriy
Цитата(bvn13 @ 17.12.2010, 1:23) *
А как узнать, какая лицензия использовалась при сборке?
только спросив у автора приложения
Rocky
Вообще имхо, могли бы вставить про лицензию либо в QApplication::aboutQt, либо какой-то похожий метод... типа aboutLicense
bvn13
Цитата(Litkevich Yuriy @ 17.12.2010, 6:19) *
Цитата(bvn13 @ 17.12.2010, 1:23) *
А как узнать, какая лицензия использовалась при сборке?
только спросив у автора приложения


т.е. я правильно понимаю, что можно юзать LGPL Qt для сборки проекта, а продавать его по Commerce лицензии, ибо все равно не узнают, какая лицензия использовалась при сборке... ?
Litkevich Yuriy
При использовании Qt по лицензии LGPL, своё ПО никто не мешает продавать по комерческой лицензии.
LeonidPr
Недавно только узнал про то, что QT теперь выпускается и под LGPL. Начал разбираться и сразу появились вопросы. На часть из них нашел ответы в этой ветке. Но кое что хочу уточнить. Не понятен первый абзац пункта 5 текста лицензии. Так в каком же случае на "произведение, использующее Библиотеку" (я пользовался этим переводом) не распространяется действие лицензии? Ведь второй абзац утверждает, что как только я свою прогу слинковал с библиотекой, то она сразу же подпадает по действие лицензии.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.