Чи можу я продати свою програму PyQt4, не маючи ліцензії PyQt?


18

Я хотів би продати додаток Python, який використовує PyQt4. Комерційні ліцензії на Qt PyQt коштують тисячі євро разом. Чи потрібно купувати комерційну ліцензію?

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

І навпаки, якби я включив у свій пакет бібліотеку GPL / LGPL Python, мій пакет міг би залишатися невільним? Чи не можу я просто зробити джерело доступним для бібліотек GPL (якщо його змінено)?


Якщо відповідь "Вам потрібна комерційна ліцензія", чи є якісь дешевіші альтернативи, які ви знаєте (наприклад, платежі на основі роялті замість плати за розробники)?


5
Я відредагував це, щоб явно говорити про Ubuntu, щоб ми могли поставити всю цю ручку за нас і насправді відповісти на запитання людей. Я очистив дискусію від коментарів і відновив питання.
Олі

Зауважте, що це питання стосується PyQt4, який доступний під обома GNU GPL. Найновіший PyQt5 - це лише GNU GPLv3. Дуже влучна технічна диференціація щодо кодування "зв'язування" там менш застосовується (= менш підходить для комерційної тари).
Маріо

Відповіді:


18

Я не юрист, і це не юридична порада. У цьому дописі йдеться про те, які у вас є варіанти, тому це інструмент дослідження, призначений для використання поряд з іншими інструментами дослідження. Навіть у поєднанні з іншими інструментами дослідження це не є заміною для консультацій з адвокатом з будь-якого юридичного питання, де потрібна відповідна відповідь.

Один з варіантів ліцензії на Qt ( не PyQt ) - це LGPL 2.1 , який дозволяє розповсюджувати власні програми, які використовують бібліотеку Qt, за умови дотримання всіх умов LGPL 2.1 .

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

Єдина альтернатива GPL для програми, яка використовує PyQt, - це оплата комерційної ліцензії. Як ви вказали, це часто є надмірно дорогим (хоча для деяких застосувань це гарна угода).

Якщо ваша мета - написати програму, сумісну з GPL, на Python, який використовує 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
Маріо

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, але матимуть додаток, який встановлюється, ліцензованим за моїми власними умовами?
Niklas R

1
Привіт @EliahKagan! Що щодо PySide 2 , чи те саме стосується?
Франческо

5

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


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

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

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

Бачите різницю? Текстовий розподіл Python означає, що посилання є досить динамічним: немає статичних "посилань" на GPL-код, і посилання на PyQT можуть бути замінені в іншому середовищі. Ви просто використовуєте його API.

Якщо ви шукаєте "python import gpl", ви знайдете багато, багато аргументів в обох напрямках від багатьох, багатьох не юристів. Це не простий аргумент, і якщо він дійде до судового позову, ви можете бути прокляті впевненими, що всі з вільної програмної сторони лавки будуть кидати все на нього, щоб переконатися, що негативний прецедент встановлений.

Отже, ще раз, ви, мабуть, не кваліфіковані для прийняття цього рішення самостійно. Або поговоріть з юристом або подивіться, скільки це коштуватиме вам, і виясніть, що дешевше буде просто платити за комерційні ліцензії.

Ігнорування ліцензування вийде набагато дорожче.


2
«Ви не інтегруєте їх у свій Python, ви просто використовуєте їх» Якщо ви імпортуєте модулі GPLed Python, вся справа стає GPL.
Андреа Лацаротто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.