Могу ли я использовать лицензию Qt LGPL и продавать свое приложение без каких-либо ограничений? [закрыто]

85

Я хочу начать кроссплатформенный проект. У меня были исследования, и теперь я почти уверен, что Qt - правильное решение. Но здесь есть большое препятствие: лицензирование .

Я хочу продать свой проект, и я также не хочу выдавать какой-либо источник, связанный с моей работой, или платить за лицензию. Я проверил и заметил, что Qt предлагает как коммерческие решения, так и решения с открытым исходным кодом. Я слышал слишком много противоречивых высказываний о лицензировании Qt, которые меня сильно смущали. Некоторые говорят, что даже если я использую версию Qt LGPL, мне все равно нужно отправить свой код. Это правда?

Может ли кто-нибудь дать мне простое объяснение лицензий Qt и сказать, могу ли я продать свое приложение вообще без каких-либо ограничений или нет? Кто-нибудь скажет мне какие-либо другие эквиваленты Qt для кроссплатформенной разработки без каких-либо ограничений?

Рика
источник
5
Этот вопрос сводится к юридическим вопросам. Это, к сожалению, не по теме здесь, на SO.
Барт
1
У меня есть дилемма по этому поводу: по поводу самого лицензирования нет скандалов! как с ними обращаются и как они влияют на меня в процессе разработки. Поэтому я думаю, что задавать такой вопрос - это нормально.
Rika
1
Мне не нужны какие-либо советы по переходу на коммерческую версию или LGPL, мне просто нужны пояснения по самой системе лицензирования. Я был бы признателен, если вы откроете этот вопрос для дальнейших разъяснений по этому поводу.
Rika
1
Тогда приходите к Мете. Спросите, относится ли ваш вопрос к теме и может ли он быть открыт повторно. Для его открытия нужен либо модератор, либо 5 человек с достаточными правами. Просто задайте здесь дружеский вопрос, и сообщество его рассмотрит. meta.stackoverflow.com
Барт
1
Мета хороша, пока вы не заботитесь о своей Мета-репутации. Голосование там намного либеральнее.
rlemon

Ответы:

100

Просто динамически подключайтесь к Qt. Если вы динамически подключаетесь к библиотекам LGPL, вам не о чем беспокоиться.

Если вы статически ссылаетесь на них, вы можете просто распространять свои объектные файлы (не исходный код), и все будет в порядке.

Идея LGPL заключается в том, что конечный пользователь должен иметь возможность заменить библиотеку LGPL на нужную ему версию. Это позволяет вам делать динамическое связывание с библиотекой LGPL, а также статическое связывание и распространение ваших объектных файлов. Пока вы это делаете, вы можете продавать свою программу с закрытым исходным кодом сколько угодно.

Конечно, LGPL - это нечто большее, чем просто это, но это важная часть.

Кукурузные стебли
источник
6
LGPL также требует, чтобы вы «не ограничивали модификацию частей Библиотеки, содержащихся в Комбинированной работе, и обратное проектирование для отладки таких модификаций», что может вступать в противоречие с запретами некоторых коммерческих лицензионных соглашений на обратное проектирование.
Джош Келли
15
@Hossein Ты вообще читал ответ? Это не имеет ничего общего с вашим кодом. Лицензия LGPL Qt относится только к Qt и Qt, поэтому вы можете упаковать свой код и лицензировать его, как вам нравится, но если вы не планируете покупать коммерческую лицензию Qt, вы должны динамически связываться с Qt. Коммерческая лицензия Qt предназначена для тех случаев, когда вы хотите изменить исходный код Qt , а не публиковать внесенные вами изменения.
cmannett85
1
@Hossein: И пока вы динамически связываетесь с Qt. Честно говоря, тебе просто нужен адвокат. Вы всегда должны поговорить с одним из них, прежде чем вступать в коммерческое предприятие. И FWIW, IANAL.
Cornstalks
2
@Hossein, Пользователи должны иметь возможность перепроектировать и полностью заменить сам Qt. Однако это означает, что вы НЕ должны запрещать обратное проектирование. Вы должны распространять Qt как библиотеки DLL ... и в качестве бонуса объектные файлы вашего приложения (не обязательно). Если вы ЗАБОТИТЕСЬ о своих объектных файлах, вы должны также позаботиться о своем EXE! Потому что для парня, который знает, как использовать объектные файлы, он также знает, что ТОЧНО такое EXE! Эти люди, как правило, заботятся о мелочах, и они знают гораздо больше, чем мы. Для них даже ваш EXE может быть таким же читаемым, как и исходный код: P
Петър Петров
1
@ ПетърПетров Да, реверс-инжиниринг - серьезная проблема при использовании библиотек LGPL. Однако исполняемые файлы обычно гораздо сложнее реконструировать, чем набор объектных файлов (а именно потому, что исполняемые файлы обычно удаляются, применяются оптимизации времени компоновки и встраивание и т. Д.). Но вы абсолютно правы: если вы не будете осторожны с тем, как вы создаете свой исполняемый файл, его может быть так же легко реконструировать, как и все ваши объектные файлы.
Cornstalks