Могу ли я продать свое приложение PyQt4 без лицензии PyQt?

18

Я хотел бы продать приложение Python, которое использует PyQt4. Коммерческие лицензии на Qt PyQt стоят вместе тысячи евро. Нужно ли покупать коммерческую лицензию?

Рассмотрим это с "упакованной" точки зрения, когда я предоставляю пакет Ubuntu через Центр программного обеспечения. Мой пакет будет «зависеть» от существующих пакетов Ubuntu Python и PyQt, поэтому мне нужно будет лицензировать что-то, что Ubuntu распространяет, что я не являюсь напрямую?

И наоборот, если бы я включил библиотеку GPL / LGPL Python в свой пакет, мой пакет мог бы остаться несвободным? Не могу ли я просто сделать доступным исходный код для библиотек GPL (если он был изменен)?


Если ответ «Вам нужна коммерческая лицензия», есть ли более дешевые альтернативы, о которых вы знаете (например, платежи на основе роялти вместо первоначальных сборов за разработку)?

user2366975
источник
5
Я отредактировал это, чтобы явно поговорить об Ubuntu, чтобы мы могли оставить все это под рукой и фактически отвечать на вопросы людей. Я очистил дискуссию от комментариев и вновь открыл вопрос.
Оли
Обратите внимание, что этот вопрос касается PyQt4, который доступен под обоими лицензиями GNU. Более поздний PyQt5 - только GNU GPLv3. Очень уместное техническое различие в отношении «связывания» кода там применяется меньше (= менее подходит для коммерческой упаковки).
Марио

Ответы:

18

Я не юрист, и это не юридическая консультация. Этот пост о том, какие у вас есть варианты, так что это инструмент исследования, предназначенный для использования вместе с другими инструментами исследования. Даже в сочетании с другими инструментами исследования это не заменит консультацию адвоката по любому юридическому вопросу, когда вам нужен правильный ответ.

Один из вариантов лицензии для Qt ( не PyQt ) - это LGPL 2.1 , который позволяет вам распространять проприетарные программы , использующие библиотеку Qt, при условии, что вы соблюдаете все условия LGPL 2.1 .

PyQt, однако, в настоящее время имеет только два варианта лицензирования (если вы не договорились с разработчиками о чем-то другом, что обычно нецелесообразно). Он доступен под лицензией GPL - тогда для распространения вашей программы это должно быть бесплатное программное обеспечение с открытым исходным кодом. ; более конкретно, любая версия вашей программы, которую вы предлагаете другим и которая использует библиотеку PyQt, также должна быть лицензирована по лицензии GPL.

Единственная альтернатива GPL для программы, использующей PyQt, - это оплата коммерческой лицензии. Как вы указали, это часто слишком дорого (хотя для некоторых приложений это выгодно).

Если ваша цель - написать на Python несовместимую с GPL программу, использующую Qt, вы можете рассмотреть PySide . Как и PyQt, PySide - это привязка Python для Qt, которая позволяет вам писать программы на Python, использующие Qt. В отличие от PyQt, PySide доступен под LGPL (как и сам Qt) и, таким образом, может использоваться проприетарными программами при условии, что вы внимательно прочитали и соблюдаете условия LGPL.

Иногда PyQt имеет значительные преимущества перед PySide. Часто это не так. Существует также элемент субъективности, в отношении которого вы можете предпочесть использовать; у разных программистов разные предпочтения. Для получения дополнительной информации см. Различия между PySide и PyQt .

Элия ​​Каган
источник
Приложения PyQt4 не должны иметь лицензию GPL. PyQt4 содержит исключение GPL, которое разрешает определенные лицензии не-GPL. См .: riverbankcomputing.com/software/pyqt/license and github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT
Mario
1
@Mario Спасибо за информацию! Но я бы посоветовал вам опубликовать ответ, объясняющий это чуть подробнее, а также разъясняющий, как это относится к ОП этого вопроса (который, похоже, хочет распространять проприетарное программное обеспечение на основе PyQt). И вот почему: riverbankcomputing.com/software/pyqt/license показывает, что PyQt может быть лицензирован по лицензии GPL (разрешены две версии) или по коммерческой лицензии (два варианта), когда разработчик платит Riverbank за право распространять проприетарное программное обеспечение на основе PyQt.
Элия ​​Каган,
@Mario Основная поправка к моему ответу, кажется, на github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT , которая дает больше возможностей. Но никто, похоже, не позволяет делать проприетарное ПО на основе PyQt - это другие лицензии FOSS. Кроме того , есть официальная страница со ссылкой на этот файл, или другую информацию , чтобы уточнить , что это на самом деле является официальным документом лицензирования? (Скорее всего, так оно и есть, но я не уверен, как продемонстрирую это генеральному директору или другим заинтересованным сторонам.) Странно, что расширенные варианты там не упомянуты на первой странице лицензирования на официальном сайте Riverbank.
Элия ​​Каган,
Могу ли я сделать установщик приложения, использующего PyQt5, лицензированного по лицензии GPL, при этом лицензируемое приложение устанавливается на моих условиях?
Никлас Р
1
Привет @EliahKagan! А как насчет PySide 2 , то же самое относится?
Франческо
5

Проще говоря: если вы не понимаете условий лицензий на программное обеспечение, которое вы используете, достаточно, чтобы понять, что то, что вы предлагаете, «в порядке», вам нужно поговорить с профессионалом, который понимает. Если вы хотите заключить сделку напрямую с владельцами лицензий, это тоже работает, но вам все равно нужно понять, как работает лицензирование.


Как и Илия, я тоже не адвокат, и когда вам предъявили иск за следование моему совету, вы не можете сказать, что я вас не предупреждал. Я в целом согласен с Элией, но я думаю, что в этом случае Python немного отличается.

Программное обеспечение GPL позволяет вам распространять что-либо, если вы предоставляете его по той же лицензии. В этом случае вы будете распространять PyQT, что вы можете сделать. Вы также будете распространять свой продукт. Я лично не понимаю, почему вы не можете сделать и то и другое, если вы делаете источник доступным для вещей, которые вы используете под GPL. Вы не интегрируете их в свой Python, вы просто используете их.

Чтобы более подробно описать то, о чем я говорю, если вы включите библиотеку в проект C и скомпилируете ее, то в итоге вы получите либо код GPL в вашем двоичном файле, либо создадите статические библиотеки, с которыми связан ваш код ( статически или динамически). FSF потребует от вас предоставления вашего кода GPL, если вы распространяете их защищенный код.

Увидеть разницу? Текстовый дистрибутив Python означает, что ссылки довольно динамичны: нет статических «ссылок» на код GPL, и ссылку на PyQT можно заменить в другой среде. Вы просто используете его API.

Если вы ищете «python import gpl», вы найдете множество аргументов в обоих направлениях от многих, не юристов. Это не простой аргумент, и если дело дошло до судебного разбирательства, вы можете быть чертовски уверены, что все на стороне свободного программного обеспечения приложат все усилия, чтобы убедиться, что был установлен отрицательный прецедент.

Итак, еще раз, вы, вероятно, не квалифицированы, чтобы принять это решение в одиночку. Либо поговорите с юристом, либо посмотрите, сколько это будет стоить вам, и определите, будет ли дешевле просто платить за коммерческие лицензии.

Игнорирование лицензирования обойдется намного дороже.

Оли
источник
2
«Вы не интегрируете их в свой Python, вы просто используете их». Если вы импортируете модули Python под GPL, все становится GPL.
Андреа Лаззаротто