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


85

Я хочу розпочати крос-платформний проект. Я проводив свої дослідження, і зараз я майже впевнений, що Qt - це правильна угода. Однак тут є велика перешкода: ліцензування .

Я хочу продати свій проект, а також не хочу видавати джерела, пов’язані з моєю роботою, або платити за ліцензію. Я перевірив і помітив, що Qt пропонує як комерційні рішення, так і рішення з відкритим кодом. Я чув надто багато суперечливих висловлювань щодо ліцензування Qt, що мене дуже бентежило. Деякі кажуть, що навіть якщо я використовую LGPL версію Qt, мені все одно потрібно подати свій код. Це правда?

Хтось може дати мені просте пояснення щодо ліцензій Qt і сказати, чи можу я продати свою заявку без будь-яких обмежень взагалі чи ні? Хто-небудь сказав би мені якісь інші еквіваленти Qt для крос-платформної розробки без будь-яких обмежень?


5
Це питання зводиться до юридичних питань. Це, на жаль, поза темою тут на SO.
Барт,

1
У мене дилема з цього приводу: Немає сварок щодо самого ліцензування! просто те, як з ними поводяться і як вони впливають на мене в процесі розробки. Тому я думаю, що цілком нормально поставити таке питання.
Ріка

1
Я не шукаю жодної поради щодо комерційного використання або LGPL, мені потрібні лише роз'яснення щодо самої системи ліцензування, тому я буду вдячний, якщо ви відкриєте це питання для подальших роз'яснень з цього питання.
Ріка

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.