Come gestisco i moduli importati in GPL?

3

Desidero rilasciare un'applicazione python non commerciale sotto GPL3 in entrambi i formati sorgente e (PyInstaller) eseguibile. Sto lottando per trovare una risposta coerente al problema dei moduli importati.

Posso semplicemente inserire le solite intestazioni GPL nei miei file sorgente, includere la GPL in COPYING e lasciarlo?

Oppure devo raccogliere insieme tutte le licenze e il codice sorgente (sia python che, ad esempio, le dipendenze C / C ++) per tutto ciò che importare e includerle nella mia distribuzione? Suppongo di no, ma leggere la licenza GPL3 suggerisce * che io lo faccia. Sicuramente non devo spedire la fonte per Qt, PyQt4, Numpy, Scipy, Matplotlib, Gdal ecc. Ecc. Nella mia distribuzione?

Voglio anche distribuire un binario di Windows perché è improbabile che gli utenti finali utilizzino il software se devono essere eseguiti dalla fonte. Questo impacchetterà e ridistribuirà python e tutte le dipendenze delle librerie condivise. Quali sono i miei obblighi legali qui con GPL? Le importazioni sono "Componenti principali" e quindi non è necessario che l'origine sia distribuita?

Sezione 1, codice sorgente:

... The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code...

    
posta David Wallis 18.12.2014 - 17:21
fonte

2 risposte

2

Hai chiesto:

Can I just put the usual GPL headers on my source files, include the GPL in COPYING and leave it at that?

Sì, va bene.

Or do I have to collect together all the licences and source code (both python and, e.g. C/C++ dependencies) for everything that I import and include these in my distribution?

No, perché non saranno rilasciati come la loro precedente licenza

Per essere un po 'meno criptico a riguardo.

Finché i progetti incorporati dispongono di licenze GPL compatibili, quando si includono i moduli all'interno del programma, si ri-licenziano in modo efficace quei moduli come moduli GPL. Ecco perché non devi 1 preoccuparti di includere il loro precedente stato di licenza.

Per quanto riguarda la distribuzione del codice - La GPL non richiede di distribuire il codice insieme al file binario. Richiede solo di rendere il codice disponibile per la distribuzione. Questa è una sfumatura importante da tenere a mente.

Dato che il tuo progetto sta per succedere ad altri progetti, ti incoraggio a rendere disponibile per la distribuzione il codice sorgente dei progetti che hai incorporato nella tua applicazione.

Il modo in cui tutto il ri-licenziamento funziona è un po 'complicato. Dai uno sguardo a una risposta precedente della mia per capire in che modo GPL e copyleft si applicano a progetti con licenza compatibile incorporati in un altro.

Il riassunto più breve da la mia risposta precedente è la citazione di FSF che spiega come funziona.

It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.

1 Tuttavia, devi davvero assicurarti che la loro licenza attuale sia una licenza compatibile GPL. Non sei legalmente autorizzato a incorporare un progetto con licenza non compatibile all'interno della tua applicazione GPL. Dovresti invece cercare la LGPL o AGPL.

    
risposta data 18.12.2014 - 17:42
fonte
0

La GPL principalmente impone obblighi alle persone re che distribuiscono il tuo codice. Non puoi citare in giudizio te stesso per aver violato la GPL, quindi quello che fai con il tuo codice è una tua decisione.

Ora, se devi ridistribuire il codice sorgente per queste librerie dipende dalle loro licenze , non dalle tue. Potresti essere in grado di fare affidamento sulla sottosezione 6c nel caso in cui utilizzi (L) GPL 3: "Trasmetti singole copie del codice oggetto con una copia dell'offerta scritta per fornire la Sorgente Corrispondente. Questa alternativa è consentita solo occasionalmente e non a scopo commerciale, e solo se hai ricevuto il codice oggetto con tale offerta, in accordo con la sottosezione 6b. ".

Dove diventa complicato è quando si mescola il codice MIT / BSD con il codice GPL esistente. Questo potrebbe obbligarti a fornire tutte le fonti per licenza GPL, poiché tutto quel codice è necessario per costruire il tuo eseguibile con licenza GPL. Non puoi rifiutare di distribuire il codice MIT / BSD quando il codice GPL dipende da esso.

    
risposta data 18.12.2014 - 18:05
fonte

Leggi altre domande sui tag