Ha clausola di prevenire l'esposizione di PyQt nello script API vicino scappatoia di un'applicazione in licenza? [chiuso]

StackOverflow https://stackoverflow.com/questions/1152777

Domanda

Al momento sto valutando utilizzando PyQt in un'applicazione commerciale, e sono rimasto sorpreso di apprendere che la licenza commerciale PyQt non consente di esporre qualsiasi della biblioteca PyQt nella API di script dell'applicazione. Da il PyQt sito :

  

Il diritto di distribuire i moduli richiesti e PyQt biblioteca QScintilla con le applicazioni fino a quando gli utenti di tali applicazioni non si ha accesso diretto al PyQt. In caso contrario, gli utenti diventano essi stessi sviluppatori e richiedono le proprie copie di versioni commerciali di entrambi PyQt e Qt.

E 'questo perché se sono consentito l'accesso a PyQt si avrebbe effettivamente un 'scappatoia' nella licenza PyQt commerciale? Questa clausola chiude tale lacuna, presumo. Mi chiedevo se ci deve essere una clausola simile nel GPL e le licenze correlate? In caso contrario, sicuramente, si sarebbe in grado di rilasciare un'applicazione sotto una licenza open-source che era essenzialmente niente di più di una domanda di 'shell', che ha permesso alle persone di 'script' il suo comportamento - ha detto il comportamento è la creazione di un secondo, non applicazione GPL utilizzando le associazioni GPL PyQt.

Non ho alcun dubbio che questo 'scappatoia' si rivolge a GPL, che deve aver avuto molti avvocati di talento esaminando con pettini a denti fini. - Davvero, sto cercando di imparare di più su come legge colpisce la vita di un coder. La altre licenze open source GPL e sembrano un buon punto di partenza.


Inoltre, sarebbe lo stesso sistema rilasciato sotto licenza LGPL avere un problema simile? Oppure natura più permissiva di quella licenza significa che non ci sarebbe stato più di un conflitto che consente agli utenti di accedere alla biblioteca tramite un'applicazione?

È stato utile?

Soluzione

Will,

Se si esegue la codifica di un'applicazione Qt con funzionalità di scripting Python, allora è possibile:

1) consentire l'uso di Qt sulla sceneggiatura via PyQt. Ciò richiede una licenza PyQt per utente. Forse si può offrire come un extra e spostare il costo per l'utente che lo richiede.

2) Esporre (usando parti dell'applicazione che non sono legati PyQt sorso o sorso)

3) Creare la propria interfaccia per Qt (o, almeno, la parte che si sta esponendo).

4) Attendere per una versione LGPL. Purtroppo la situazione attuale "non è per ora": http://www.riverbankcomputing.com/pipermail/pyqt/2009- maggio / 022931.html

Altri suggerimenti

"software commerciale" si intende un software che si può vendere, tra cui un software GPL libero. Il modo in cui i ragazzi PyQt usano "commerciale" è fuorviante.

È possibile utilizzare la libreria sotto la GPL e la carica per esso, fino a quando si fornisce il codice del programma sotto una licenza compatibile GPL. Non so cosa hanno tale clausola -o persino una licenza opzionale non libera a tutti-, ma non ha nulla a che fare con la GPL. Quello che i ragazzi stanno facendo PyQt è il esattamente opposto della GPL:. Vietarvi di fare quello che vuoi con il codice pagato

Si noti che il GPL non è una licenza "open source", ma un "software libero" uno. Si tratta di due gruppi molto diversi di persone con idee diverse. Si può leggere su che alla http: //www.gnu. org / filosofia / software libero-per-freedom.html # rapporto

Prima di tutto: Avvocati governano il mondo e mai si dimentica

.

In secondo luogo, IANAL .

GPL fa proprio la stessa cosa: Se si scrive un po 'di codice e pubblicarlo sotto la licenza GPL, tutto il lavoro derivato deve essere GPL, anche. Questo è noto come la "natura virale" della GPL. R. Stallman aggiunto specificamente questo per proteggere il lavoro degli sviluppatori GPL. È possibile vendere codice GPL, ma è necessario sempre includere la fonte. È possibile Modifica e venderlo il risultato, ma ancora una volta, è necessario includere fonte sia del codice originale e le modifiche.

Nel caso di PyQt, questo è esattamente lo stesso:. Potrei creare una piccola applicazione che ha appena chiama QApplication._exec() e lasciare il "script" ad un "utente", pagando quindi solo per una singola licenza

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top