Le licenze di copyright specificano se e in quali condizioni è possibile apportare modifiche a qualcosa che è stato creato da qualcun altro e se e in quali condizioni è possibile distribuire le versioni originali o modificate.
La "licenza" di copyright predefinita è "tutti i diritti riservati", il che significa che solo l'autore originale può apportare modifiche e distribuire copie.
Le licenze di copyright possono limitare il modo in cui è consentito utilizzare un programma, ma tali restrizioni non sono accettate nelle licenze open source. Avere una tale restrizione nella licenza lo rende automaticamente una licenza proprietaria.
Le licenze open source sono disponibili in vari formati e sceglierne una dipende spesso da ciò che ti piace.
- Le licenze per copyleft strong (come GPL ) si basano sull'ideale che tutti dovrebbero avere la libertà di cambiare / migliorare il software che hanno ricevuto una copia di e per distribuire tali modifiche. Se si distribuisce il software sotto la licenza GPL, deve essere disponibile il codice sorgente per l'intera applicazione. Se qualcuno distribuisce le modifiche a un programma GPL, allora tali modifiche devono anche essere distribuite sotto la licenza GPL (quindi, includendo tutte le fonti).
- Le deboli licenze copyleft (come LGPL ) sono come forti licenze di copyleft, ma hanno lasciato cadere il requisito che il codice sorgente per l'applicazione intera deve essere disponibile. Quando si distribuisce il codice sotto la licenza LGPL, le fonti per tale codice devono essere disponibili e le modifiche al codice devono essere rilasciate anche sotto LGPL.
Se qualcuno desidera utilizzare il codice con licenza LGPL nel proprio prodotto, deve fornire ai propri utenti un mezzo per sostituire le parti del codice LGPL. In genere ciò avviene inserendo il codice LGPL in una libreria collegata dinamicamente.
- Licenze permissive (come MIT , BSD o Licenza Apache ) in genere mancano del requisito che quando vengono apportate modifiche, che quindi la fonte anche il codice per tali modifiche deve essere pubblicato. Possono persino consentire a uno di distribuire la versione modificata sotto una licenza completamente diversa (possibilmente a sorgente chiusa).
Come unico autore del software, sei nella posizione speciale che puoi scegliere in base a quali termini di licenza rilasciare il software e persino utilizzare licenze diverse quando lo rilascialo a persone diverse. Una volta che inizi ad accettare contributi, tali contributi ti vengono forniti in base ai termini della licenza con cui il contributore ha ricevuto il tuo software e ora sei anche vincolato da tali termini di licenza.
Ad esempio, se hai due versioni del tuo software, una con licenza GPL e l'altra con una licenza closed-source, e io apporto una modifica alla versione GPL, allora il mio contributo è anche sotto la licenza GPL e tu puoi ' Usarlo nella versione closed-source senza il mio consenso per modificare la licenza.
Poiché la tua applicazione sembra generare codice, in cui una parte significativa dell'output è il codice che hai scritto (indipendentemente da chi utilizza il programma), tale codice è per impostazione predefinita sotto la stessa licenza di copyright del tuo stesso programma. / p>
Puoi scegliere di rilasciare il tuo programma sotto la licenza GPL (quindi il tuo programma e le eventuali modifiche rimarranno aperte), ma per aggiungere una clausola di esenzione che il tuo codice che lo rende nei file di output non è vincolato dalle disposizioni del copyleft .
In questo modo, il tuo programma potrebbe ancora essere utilizzato per creare l'infrastruttura per le app commerciali (closed-source). Questo non sarebbe possibile se il codice che hai mostrato fosse coperto dalla GPL.