Disclaimer, questo è simile alla mia altra risposta su MIT & GPL , ma ci sono alcune sfumature coinvolte con MPL.
can I included GPL(v3) licensed code(/binaries) in a larger MPL(2.0) licensed project?
Risposta breve: No, non puoi *. Saranno soggetti al copyleft.
* Vedi la risposta più lunga in quanto questa è una delle più difficili
Risposta lunga:
Riferimento 1 ) L' articolo di Wikipedia sulla compatibilità delle licenze ha una buona sezione su Compatibilità GPL :
Many of the most common free software licenses, such as the original MIT/X license, ... are "GPL-compatible". That is, their code can be combined with a program under the GPL without conflict (the new combination would have the GPL applied to the whole).
[grassetto aggiunto]
Riferimento 2 ) E più esplicitamente dalle Domande frequenti sulla FSF sulla compatibilità GPL :
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.
E solo per l'edificazione, ecco i commenti di FSF su varie licenze
FSF ha un numero di commenti sulla licenza MPL .
La versione abbreviata è che il tuo lavoro combinato deve essere rilasciato come GPL.
Dove diventa difficile
Supponiamo di avere una licenza di Foo
di progetto sotto MPL e una licenza di Bar
di progetto sotto GPL e che voglia utilizzare Foo
.
Bar+Foo
è consentito poiché le licenze sono compatibili e il rilascio di Bar+Foo
deve essere GPL come Bar
è GPL. Foo
, di per sé e senza Bar
o Bar+Foo
, è ancora disponibile sotto la licenza MPL. Detto in altro modo, Bar+Foo
non ha alcun impatto sulla licenza su Foo
stesso.
La licenza risultante della combinazione del progetto è un evento che agisce in avanti solo per la combinazione. È non un evento retroattivo. MPL fa un ulteriore passo avanti con la sezione 3.3 e richiede esplicitamente il proprietario di Bar+Foo
per fornire la distribuzione di Foo
in formato MPL.
Quindi, se qualcun altro vuole prendere Foo
e fare qualcos'altro con esso, è comunque libero di farlo senza la clausola del copyleft della GPL. Tuttavia, se prendono Bar+Foo
, eliminano Bar
e usano solo +Foo
, quindi sono ancora vincolati dai termini della GPL poiché Bar+Foo
era GPL'd.
A mio parere, si tratta di una soluzione tanto vicina quanto una licenza che può annullare l'effetto virale di GPL. I proprietari di Foo
si assicurano che continui a vivere e siano pubblicizzati come MPL, pur continuando a permetterti di fare ciò che vuoi con la tua applicazione GPL.
Hai anche chiesto:
If this is correct, can I write software and release it under the MPL, even if it depends on a GPL library, as long as I don't distribute the GPL licensed parts with my MPL licensed parts?
No, questo non è corretto. Sarà GPL poiché dipende da una libreria GPL.
And, if I then want to distribute both parts as a "larger work", how would the overarching GPL affect my MPL code?
Distribuirai il lavoro più ampio come GPL.
Dovrai anche fornire la MPL più piccola come MPL.