Чи можу я продати свою програму 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.