È uscito il Corso SQL Completo
Torna al blog

Cosa sono le licenze software (MIT, GPL, Apache)

Cosa sono le licenze software spiegate semplice: differenza tra licenze permissive e copyleft, MIT, GPL, Apache, e perché contano quando usi codice o librerie altrui.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

4 min di lettura

Le licenze software sono uno di quei temi che molti sviluppatori ignorano finché non diventano un problema. Eppure ogni volta che usi una libreria o del codice altrui, c'è una licenza che dice cosa puoi farne. In questo articolo ti spiego cosa sono le licenze software e quali sono le più comuni, in modo semplice e pratico.

Cosa sono le licenze software in parole semplici

Una licenza software è un documento legale che stabilisce come un software (o il suo codice) può essere usato, modificato e distribuito. Definisce i diritti e i doveri di chi usa quel codice. In sostanza, è il "regolamento d'uso" che accompagna ogni progetto software.

Punto fondamentale che molti ignorano: il codice senza licenza non è "libero", è tutto il contrario. Per impostazione predefinita, il codice è protetto dal diritto d'autore, e senza una licenza esplicita che dia il permesso, nessuno è autorizzato a usarlo. La licenza serve proprio a concedere quei permessi.

Permissive vs copyleft: la distinzione chiave

Le licenze open source si dividono in due grandi famiglie, ed è la cosa più importante da capire:

  • Licenze permissive: ti lasciano grande libertà. Puoi usare il codice quasi come vuoi, anche in progetti commerciali e chiusi, di solito con il solo obbligo di mantenere l'attribuzione all'autore.
  • Licenze copyleft: impongono che, se distribuisci software basato su quel codice, anche il tuo debba essere rilasciato con la stessa licenza aperta. In altre parole, "l'apertura si propaga".

La differenza pratica è enorme: una licenza permissiva puoi usarla in un prodotto commerciale chiuso; una copyleft forte potrebbe obbligarti ad aprire il tuo intero progetto.

Le licenze più comuni

Ecco le tre licenze che incontri più spesso, in sintesi:

LicenzaTipoIn breve
MITPermissivaMolto libera: usa come vuoi, mantieni l'attribuzione
Apache 2.0PermissivaSimile a MIT, con tutele aggiuntive su brevetti
GPLCopyleftSe distribuisci, devi rilasciare con la stessa licenza

Licenza MIT

La più diffusa e amata per la sua semplicità e libertà. Praticamente: "fai quello che vuoi, ma cita l'autore e non ritenerlo responsabile". Ideale per chi vuole massima adozione del proprio codice.

Licenza Apache 2.0

Permissiva come la MIT, ma con clausole esplicite sui brevetti che la rendono più adatta a contesti aziendali. Una scelta solida per progetti seri.

Licenza GPL

La più nota tra le copyleft. Garantisce che il software resti libero: chi lo usa e distribuisce deve mantenere la stessa libertà. Ottima per la filosofia del software libero, ma da valutare con attenzione in contesti commerciali.

Perché le licenze contano per te

Anche se non scrivi software da distribuire, le licenze ti riguardano in pratica:

  • Quando usi librerie: ogni dipendenza ha una licenza. Alcune (copyleft forti) potrebbero imporre obblighi al tuo progetto.
  • Quando rilasci codice: scegliere la licenza giusta determina come gli altri potranno usarlo.
  • In azienda: usare codice con licenze incompatibili può creare problemi legali seri.

Il consiglio pratico: prima di integrare una libreria in un progetto importante, dai un'occhiata alla sua licenza. Per la maggior parte degli usi, le librerie con licenza MIT o Apache sono le più sicure e flessibili.

In sintesi

Una licenza software stabilisce come un codice può essere usato, modificato e distribuito; senza licenza, il codice non è liberamente utilizzabile. Le licenze open source si dividono in permissive (come MIT e Apache, molto libere) e copyleft (come GPL, che impongono di mantenere l'apertura). Conoscere le licenze è importante sia quando usi codice altrui sia quando rilasci il tuo, per evitare problemi legali.

Per il contesto, vedi cos'è l'open source e cos'è una libreria.