Bisakah saya menjual aplikasi PyQt4 saya tanpa lisensi PyQt?


18

Saya ingin menjual aplikasi Python yang menggunakan PyQt4. Lisensi komersial untuk Qt PyQt menghabiskan ribuan Euro secara bersamaan. Apakah saya perlu membeli lisensi komersial?

Pertimbangkan ini dari sudut pandang "paket" di mana saya menyediakan paket Ubuntu melalui Pusat Perangkat Lunak. Paket saya akan "bergantung" pada paket-paket Ubuntu Python dan PyQt yang sudah ada, jadi apakah saya perlu melisensikan sesuatu yang Ubuntu distribusikan kembali, bahwa saya tidak langsung?

Sebaliknya, jika saya menyertakan pustaka GPL / LGPL Python dalam paket saya, apakah paket saya akan tetap tidak bebas? Tidak bisakah saya membuat sumber ke pustaka GPL tersedia (jika dimodifikasi)?


Jika jawabannya adalah "Anda memerlukan lisensi komersial", apakah ada alternatif yang lebih murah yang Anda ketahui (seperti pembayaran berbasis royalti dan bukan biaya pengembang di muka)?


5
Saya telah mengedit ini untuk secara eksplisit berbicara tentang Ubuntu sehingga kita bisa melupakan semua ini dan benar-benar menjawab pertanyaan orang. Saya telah membersihkan debat dari komentar dan membuka kembali pertanyaan.
Oli

Perhatikan bahwa pertanyaan ini adalah tentang PyQt4 yang tersedia di bawah kedua GNU GPL. PyQt5 yang lebih baru adalah GNU GPLv3 saja. Diferensiasi teknis yang sangat tepat tentang kode "penautan" tidak berlaku di sana (= kurang cocok untuk kemasan komersial).
mario

Jawaban:


18

Saya bukan pengacara dan ini bukan nasihat hukum. Posting ini adalah tentang opsi apa yang Anda miliki, jadi ini adalah alat penelitian, yang dimaksudkan untuk digunakan bersama dengan alat penelitian lainnya. Bahkan dalam kombinasi dengan alat penelitian lain, ini bukan pengganti untuk berkonsultasi dengan pengacara tentang masalah hukum di mana Anda memerlukan jawaban yang tepat.

Salah satu opsi lisensi untuk Qt ( bukan PyQt ) adalah LGPL 2.1 , yang memungkinkan Anda mendistribusikan program berpemilik yang menggunakan pustaka Qt asalkan Anda mematuhi semua ketentuan LGPL 2.1 .

Namun, PyQt saat ini hanya memiliki dua opsi lisensi (kecuali jika Anda menegosiasikan hal lain dengan pengembangnya, yang biasanya tidak praktis). Ini tersedia di bawah GPL - maka untuk mendistribusikan program Anda itu harus perangkat lunak open source ; lebih khusus lagi, setiap versi program Anda yang Anda tawarkan kepada orang lain dan yang menggunakan pustaka PyQt harus dilisensikan di bawah GPL juga.

Satu-satunya alternatif untuk GPL, untuk program yang menggunakan PyQt, adalah membayar lisensi komersial. Seperti yang Anda tunjukkan, ini seringkali sangat mahal (meskipun untuk beberapa aplikasi itu bagus).

Jika tujuan Anda adalah menulis program yang tidak kompatibel dengan GPL dengan Python yang menggunakan Qt, Anda mungkin ingin mempertimbangkan PySide . Seperti PyQt, PySide adalah Python yang mengikat untuk Qt, yang memungkinkan Anda menulis program Python yang menggunakan Qt. Tidak seperti PyQt, PySide tersedia di bawah LGPL (seperti Qt itu sendiri), dan dengan demikian dapat digunakan oleh program berpemilik asalkan Anda membaca dan mematuhi ketentuan LGPL dengan cermat.

Terkadang, PyQt memiliki keunggulan signifikan dibandingkan PySide. Seringkali tidak. Ada juga unsur subjektivitas yang Anda sukai untuk digunakan; programmer berbeda memiliki preferensi berbeda. Untuk informasi lebih lanjut, lihat Perbedaan Antara PySide dan PyQt .


Aplikasi PyQt4 tidak harus memiliki lisensi GPL. PyQt4 berisi Pengecualian GPL yang secara khusus mengizinkan lisensi non-GPL tertentu. Lihat: riverbankcomputing.com/software/pyqt/license dan github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT
Mario

1
@ Mario Terima kasih atas informasinya! Tapi saya mendorong Anda untuk mengirim jawaban yang menjelaskan hal ini sedikit lagi, dan juga mengklarifikasi bagaimana itu berlaku untuk OP dari pertanyaan ini (yang tampaknya ingin mendistribusikan perangkat lunak berbasis PyQt yang dipatenkan). Berikut ini alasannya: riverbankcomputing.com/software/pyqt/license menunjukkan PyQt dapat berlisensi di bawah GPL (dua versi diperbolehkan) atau lisensi komersial (dua varian) di mana pengembang membayar Riverbank untuk hak untuk mendistribusikan proprietary software berbasis PyQt.
Eliah Kagan

@Mario Koreksi kunci untuk jawaban saya tampaknya ada di github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT , yang memberikan lebih banyak opsi. Tapi sepertinya tidak ada yang mengizinkan pembuatan perangkat lunak berbasis PyQt - itu lisensi FOSS lainnya. Juga, apakah ada halaman resmi dengan link ke file tersebut, atau informasi lain untuk menjelaskan bahwa itu benar-benar merupakan dokumen perizinan resmi? (Saya percaya itu kemungkinan besar adalah, tetapi saya tidak yakin bagaimana saya akan menunjukkan itu kepada CEO atau pemangku kepentingan lainnya.) Aneh bahwa opsi yang diperluas di sana tidak disebutkan pada halaman lisensi pertama di situs resmi Riverbank.
Eliah Kagan

Bisakah saya membuat penginstal aplikasi yang menggunakan PyQt5 berlisensi di bawah GPL, namun memiliki aplikasi yang diinstal berlisensi dengan syarat saya sendiri?
Niklas R

1
Hai @ ElliKagan! Bagaimana dengan PySide 2 , apakah hal yang sama berlaku?
Francesco Pegoraro

5

Sederhananya: Jika Anda tidak memahami ketentuan lisensi perangkat lunak yang Anda gunakan cukup untuk menafsirkan jika apa yang Anda sarankan "tidak apa-apa", Anda perlu berbicara dengan seorang profesional yang mengerti . Jika Anda ingin mencari kesepakatan langsung dengan pemilik lisensi, itu juga berfungsi tetapi Anda masih harus memahami cara kerja lisensi.


Seperti Eliah, saya juga bukan pengacara dan ketika Anda dituntut karena mengikuti saran saya, Anda tidak bisa mengatakan saya tidak memperingatkan Anda. Saya biasanya setuju dengan Eliah tetapi saya pikir dalam kasus ini, Python agak berbeda.

Perangkat lunak GPL memungkinkan Anda mendistribusikan ulang sesuatu selama Anda memberikannya di bawah lisensi yang sama. Dalam hal ini Anda akan mendistribusikan ulang PyQT yang dapat Anda lakukan. Anda juga akan mendistribusikan produk Anda. Saya pribadi tidak mengerti mengapa Anda tidak bisa melakukan keduanya selama Anda membuat sumber tersedia untuk hal-hal GPL yang Anda gunakan. Anda tidak mengintegrasikannya ke dalam Python, Anda hanya menggunakannya.

Untuk menjelaskan lebih lanjut apa yang saya bicarakan, jika Anda memasukkan perpustakaan dalam proyek C dan mengompilasinya, Anda akan berakhir dengan kode GPL dalam biner Anda atau Anda akan membuat perpustakaan statis yang terhubung dengan kode Anda ( statis atau dinamis). FSF akan meminta Anda membuat kode Anda tersedia oleh GPL jika Anda mendistribusikan kembali kode yang dilindungi.

Lihat perbedaannya? Distribusi berbasis teks Python berarti tautannya cukup dinamis: Tidak ada "tautan" statis ke kode GPL dan referensi ke PyQT dapat diganti di lingkungan yang berbeda. Anda hanya menggunakan API-nya.

Jika Anda mencari "python import gpl" Anda akan menemukan banyak, banyak argumen di kedua arah dari banyak, banyak non-pengacara. Ini bukan argumen sederhana dan jika memang sampai pada gugatan hukum, Anda dapat yakin bahwa semua orang di sisi perangkat lunak bebas dari bangku cadangan akan melemparkan segala sesuatu untuk memastikan preseden negatif ditetapkan.

Jadi sekali lagi, Anda mungkin tidak memenuhi syarat untuk membuat keputusan ini sendirian. Entah berbicara dengan pengacara atau melihat berapa banyak yang akan dikenakan biaya dan mencari tahu bahwa itu akan lebih murah hanya untuk membayar lisensi komersial.

Mengabaikan perizinan akan jauh lebih mahal.


2
«Anda tidak mengintegrasikannya ke dalam Python, Anda hanya menggunakannya» Jika Anda mengimpor modul Python GPL, semuanya menjadi GPL.
Andrea Lazzarotto
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.