Aggiornamento: ho sbagliato sulla licenza PyQt. Non è semplicemente una licenza GPL. Gli autori PyQt includono un set speciale di eccezioni che consente agli utenti di rilasciare il proprio codice con una licenza diversa, purché sia una delle licenze Open-Source specificatamente elencate nel file PyQt GPL_EXCEPTION.TXT
.
Ai fini di questa discussione, considera la seguente app pienamente funzionale, che dipende da PyQt :
# hello_world.py
from PyQt4.QtGui import QApplication, QPushButton
app = QApplication([])
button = QPushButton("Hello, World!", clicked=app.quit)
button.show()
app.exec_()
(Nel caso sia rilevante per la discussione, tieni presente che i programmi Python come questo non richiedono "linking" di per sé.)
La mia preferenza è distribuire il mio codice sotto una licenza permissiva , ad es. la licenza BSD. Tuttavia, PyQt è rilasciato sotto la GNU GPL GNU GPL con eccezioni speciali . Con questo in mente, quali sono le mie opzioni qui? Sono obbligato a rilasciare sotto la GPL, anche se non distribuisco PyQt stesso?
Per essere più specifico, in quale (se esiste) dei seguenti scenari, mi è permesso di rilasciare il mio codice sotto la licenza BSD e di essere obbligato a rilasciare sotto la GPL?
-
Scenario 1: ti fornisco un file binario completo che include
hello_world.py
e PyQt. -
Scenario 2: ti do il codice sorgente di
hello_world.py
e PyQt in un singolo download (ad esempio, un.tar.gz
), ma spetta a te farli funzionare insieme. -
Scenario 3: ti offro solo
hello_world.py
, lasciandoti a ottenere PyQt da solo.
So che molti di noi non sono avvocati, quindi è molto apprezzato se puoi citare le fonti su cui si basa la tua risposta.