Posso includere codice con licenza GPL in un prodotto con licenza MIT?
Puoi. La GPL è un software libero così come lo è il MIT, entrambe le licenze non ti limitano a riunire il codice dove "include" è sempre bidirezionale.
Nel diritto d'autore per un'opera combinata (ovvero due o più opere formano insieme un'opera), non fa molta differenza se un'opera è "più grande" dell'altra oppure no.
Quindi, se includi codice con licenza GPL in un prodotto con licenza MIT, allo stesso tempo includerai anche un prodotto con licenza MIT nel codice con licenza GPL.
Come secondo parere, l' OSI ha elencato i seguenti criteri (più in dettaglio) per entrambe le licenze (MIT e GPL):
- Ridistribuzione gratuita
- Codice sorgente
- Opere derivate
- Integrità del codice sorgente dell'autore
- Nessuna discriminazione contro persone o gruppi
- Nessuna discriminazione nei campi di applicazione
- Distribuzione della licenza
- La licenza non deve essere specifica per un prodotto
- La licenza non deve limitare altri software
- La licenza deve essere neutrale rispetto alla tecnologia
Entrambi consentono la creazione di opere combinate, che è quello che stavi chiedendo.
Se la combinazione delle due opere è considerata un derivato, anche questo non è limitato da entrambe le licenze.
Ed entrambe le licenze non si limitano alla distribuzione del software.
Mi sembra che la principale differenza tra la licenza del MIT e la GPL sia che il MIT non richiede che le modifiche siano open source mentre la GPL lo fa.
La GPL non richiede che tu rilasci le tue modifiche solo perché le hai fatte tu. Non è preciso.
Potresti combinare questo con la distribuzione di software sotto GPL che non è ciò che hai chiesto direttamente.
È corretto - la GPL è più restrittiva della licenza MIT?
Ecco come lo capisco:
Per quanto riguarda la distribuzione, è necessario mettere l'intero pacchetto sotto GPL. Il codice MIT all'interno del pacchetto sarà ancora disponibile sotto MIT mentre la GPL si applica al pacchetto nel suo insieme se non limitato da diritti superiori.
"Restrittivo" o "più restrittivo" / "meno restrittivo" dipende molto dal punto di vista. Per un utente di software il MIT potrebbe risultare in un software più limitato di quello disponibile sotto GPL, anche se alcuni chiamano la GPL più restrittiva oggigiorno. Quell'utente in particolare chiamerà il MIT più restrittivo. È solo soggettivo dirlo e persone diverse ti daranno risposte diverse a questo.
Poiché è solo soggettivo parlare di restrizioni di licenze diverse, dovresti pensare a cosa vorresti ottenere invece:
- Se vuoi limitare l'uso delle tue modifiche, il MIT può essere più restrittivo della GPL per la distribuzione e questo potrebbe essere quello che stai cercando.
- Nel caso in cui desideri assicurarti che la libertà del tuo software non venga limitata così tanto dagli utenti a cui lo distribuisci, allora potresti voler rilasciare sotto GPL invece che MIT.
Finché sei l'autore, sei tu che puoi decidere.
Quindi la persona più restrittiva in assoluto è l'autore, indipendentemente dalla licenza che qualcuno sta optando per;)