PyQt4 uygulamamı PyQt lisansına sahip olmadan satabilir miyim?


18

PyQt4 kullanan bir Python uygulaması satmak istiyorum. Qt PyQt ticari lisansları birlikte binlerce Euro'dur. Ticari lisans satın almam gerekir mi?

Bunu, Yazılım Merkezi aracılığıyla bir Ubuntu paketi sağladığım "paketlenmiş" bir bakış açısından düşünün. Benim paket mevcut Ubuntu Python ve PyQt paketlerine "bağımlı" olurdu, bu yüzden Ubuntu'nun yeniden dağıtmadığı, doğrudan olmadığım bir şeyi lisanslamam gerekir mi?

Buna karşılık, paketime bir GPL / LGPL Python kütüphanesi ekleseydim paketim özgür kalmayacak mı? GPL kitaplıklarının kaynağını kullanılabilir hale getiremedim (değiştirildiyse)?


Cevabınız "Ticari lisansa ihtiyacınız var" ise, bildiğiniz daha ucuz alternatifler var mı (ön geliştirici ücretleri yerine telif hakkı ödemeleri gibi)?


5
Bunu, Ubuntu hakkında açıkça konuşmak için düzenledim, böylece tüm bu el sıkışmasını arkamıza koyabilir ve aslında insanların sorularını yanıtlayabiliriz. Tartışmayı yorumlardan çıkardım ve soruyu yeniden açtım.
Oli

Bu sorunun her iki GNU GPL altında bulunan PyQt4 ile ilgili olduğunu unutmayın . Daha yeni PyQt5 sadece GNU GPLv3'tür . Kod "bağlama" ile ilgili teknik açıdan en uygun fark daha az geçerlidir (= ticari ambalajlar için daha az uygundur).
mario

Yanıtlar:


18

Ben bir avukat değilim ve bu yasal bir tavsiye değil. Bu yazı hangi seçeneklere sahip olduğunuzla ilgilidir, bu nedenle diğer araştırma araçlarının yanında kullanılması amaçlanan bir araştırma aracıdır. Diğer araştırma araçlarıyla birlikte bile, bu, doğru bir cevaba ihtiyaç duyduğunuz herhangi bir yasal konu hakkında bir avukata danışmanın yerini tutmaz.

Qt ( PyQt değil ) için lisans seçeneklerinden biri, LGPL 2.1'in tüm koşullarına uymanız koşuluyla Qt kütüphanesini kullanan özel programları dağıtmanıza izin veren LGPL 2.1'dir .

Bununla birlikte, PyQt şu anda sadece iki lisans seçeneğine sahiptir (geliştiricileriyle normalde pratik olmayacak başka bir şey müzakere etmezseniz). GPL altında kullanılabilir - daha sonra programınızı dağıtmak için ücretsiz açık kaynaklı yazılım olması gerekir ; daha spesifik olarak, programınızın başkalarına sunduğunuz ve PyQt kütüphanesini kullanan herhangi bir sürümünün de GPL lisansı altında olması gerekir.

PyQt kullanan bir program için GPL'nin tek alternatifi ticari lisans için ödeme yapmaktır. Belirttiğiniz gibi, bu genellikle aşırı derecede pahalıdır (ancak bazı uygulamalar için iyi bir anlaşmadır).

Hedefiniz bir GPL uyumlu değil yazmaksa Python'da Qt kullanan program yazmaksa, PySide'ı düşünmek isteyebilirsiniz . PyQt gibi, PySide da Qt için bir Python bağlayıcısıdır, bu da Qt kullanan Python programları yazmanıza olanak tanır. PyQt'tan farklı olarak PySide, LGPL altında (Qt gibi) mevcuttur ve bu nedenle LGPL şartlarını dikkatlice okumanız ve bunlara uymanız koşuluyla tescilli programlar tarafından kullanılabilir .

Bazen PyQt, PySide'a göre önemli avantajlara sahiptir. Genellikle, öyle değildir. Kullanmayı tercih edebileceğiniz bir öznellik unsuru da vardır; farklı programcıların farklı tercihleri ​​vardır. Daha fazla bilgi için bakınız . PySide ve PyQt Arasındaki Farklar .


PyQt4 uygulamalarının GPL lisanslı olması gerekmez. PyQt4, belirli GPL olmayan lisanslara özellikle izin veren bir GPL İstisnası içerir. Bkz: riverbankcomputing.com/software/pyqt/license ve github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT
Mario

1
@Mario Bilgi için teşekkürler! Ancak, bunu biraz daha açıklayan ve ayrıca bu sorunun OP'sine (tescilli PyQt tabanlı yazılımı dağıtmak isteyen görünüyor) nasıl uygulanacağını açıklığa kavuşturmanızı öneririm. Bunun nedeni: riverbankcomputing.com/software/pyqt/license , PyQt'un GPL (iki versiyona izin verilir) veya bir geliştiricinin tescilli PyQt tabanlı yazılımı dağıtma hakkı için Riverbank'a ödeme yaptığı ticari bir lisans (iki varyant) kapsamında lisanslandığını gösterir.
Eliah Kagan

@Mario Cevabımın temel düzeltmesi , daha fazla seçenek sunan github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT adresinde görünüyor . Ancak hiçbiri PyQt tabanlı yazılımı tescilli hale getirmeye izin vermiyor gibi görünüyor - bunlar başka FOSS lisansları. Ayrıca, resmi bir sayfa gerçekten açıklığa kavuşturmak üzere bu dosyanın veya diğer bilgilere bir bağlantı ile orada olan resmi bir lisans belge? (Büyük olasılıkla olduğuna inanıyorum, ancak bunu bir CEO ya da diğer paydaşlara nasıl göstereceğimden emin değilim.) Buradaki genişletilmiş seçeneklerin resmi Riverbank sitesindeki ilk lisans sayfasında belirtilmemiş olması tuhaf.
Eliah Kagan

Ben yapabilir miyim yükleyici PyQt5 GPL lisanslı kullanan bir uygulamanın henüz kendi koşulları kapsamında lisanslı yüklü olan uygulama var?
Niklas R

1
Merhaba @EliahKagan! PySide 2 ne olacak , aynı şey geçerli mi?
Francesco Pegoraro

5

Basitçe söylemek gerekirse: Eğer önerdiğiniz şeyin "iyi" olup olmadığını yorumlamak için kullandığınız yazılımın lisans koşullarını anlamıyorsanız, bunu yapan bir profesyonelle konuşmanız gerekir. Bir anlaşma yapmak istiyorsanızDoğrudan lisans sahipleriyle , bu da işe yarar, ancak yine de lisanslamanın nasıl çalıştığını anlamanız gerekir.


Eliah gibi ben de avukat değilim ve tavsiyeme uyduğun zaman seni uyarmadığımı söyleyemezsin. Genel olarak Eliah'a katılıyorum ama bence bu durumda Python biraz farklı.

GPL yazılımı, aynı lisans altında sağladığınız sürece bir şeyi yeniden dağıtmanıza olanak tanır. Bu durumda, yapabileceğiniz PyQT'yi yeniden dağıtabilirsiniz. Ayrıca ürününüzü dağıtabilirsiniz. Şahsen, kaynağı kullandığınız GPL şeyleri için kullanılabilir hale getirdiğiniz sürece neden her ikisini de yapamayacağınızı anlamıyorum. Onları Python'unuza entegre etmiyorsunuz, sadece kullanıyorsunuz.

Ne hakkında konuştuğumu daha fazla açıklamak için, bir C projesine bir kitaplık eklediyseniz ve derlediyseniz, ikili dosyanızdaki GPL kodunu alırsınız veya kodunuzun bağlı olduğu statik kitaplıklar yaratırsınız ( statik veya dinamik). FSF, korumalı kodlarını yeniden dağıtırsanız, kodunuzu GPL tarafından kullanılabilir hale getirmenizi talep edecektir.

Farkı gör? Python'un metin tabanlı dağıtımı, bağlantının oldukça dinamik olduğu anlamına gelir: GPL koduna statik "bağlantılar" yoktur ve PyQT referansı farklı bir ortamda değiştirilebilir. Yalnızca API'sını kullanıyorsunuz.

"Python import gpl" için arama yaparsanız, birçok avukat olmayan her iki yönde birçok argüman bulacaksınız. Bu basit bir argüman değildir ve bir davaya gelirse, bankanın özgür yazılım tarafındaki herkesin olumsuz bir emsal oluşturulduğundan emin olmak için her şeyi attığından emin olabilirsiniz.

Dolayısıyla, bir kez daha, muhtemelen bu kararı tek başına almaya yetkili değilsiniz. Bir avukatla konuşun ya da bunun size ne kadara mal olacağını görün ve sadece ticari lisansları ödemenin daha ucuz olacağını anlayın.

Lisansı yok saymak çok daha pahalıya mal olacaktır.


2
«Bunları Python'unuza entegre etmiyorsunuz, sadece kullanıyorsunuz» GPLed Python modüllerini içe aktarırsanız, her şey GPL olur.
Andrea Lazzarotto
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.