Che cos'è una licenza open source? Definizione e tipi di licenza
Che cos'è una licenza open source? Queste licenze, note anche come licenze a codice aperto, regolano l'uso del software open source. Il codice sorgente di tale software può essere riutilizzato e le versioni modificate possono essere ridistribuite a determinate condizioni.
GNU GPL, MIT, Apache, con o senza copyleft ? Come si sceglie una licenza? Diamo uno sguardo alle licenze open source più comunemente utilizzate per aiutare gli sviluppatori a scegliere quella più adatta al loro progetto.
Licenze open source: definizione
Che cos'è una licenza open source?
Una licenza open source è una licenza software il cui codice sorgente è "aperto". In altre parole, il codice è reso disponibile al grande pubblico e può essere condiviso e modificato. Si parla anche di software libero o di licenza libera.
Questo tipo di licenza non elimina in alcun modo il copyright dell'autore; semplicemente, l'autore concede agli utenti il diritto di utilizzare la licenza e sfruttare il suo lavoro.
L' Open Source Initiative è un'organizzazione che promuove l'uso del software open source in tutto il mondo.
©️ guidecms.com
Perché scegliere l'open source?
L'idea originale era quella di offrire un'alternativa alle licenze proprietarie protette da copyright. Questi diritti sono detenuti da un'azienda o da un programmatore.
Oggi l'open source si basa su una solida comunità.
©️ Anybox
Quali sono i quattro criteri che definiscono il software libero?
Un software può dirsi libero se offre le seguenti libertà:
- libertà di utilizzare il software,
- libertà di modificare il software per soddisfare esigenze specifiche,
- libertà di copiare e condividere il software,
- libertà di modificare il software e di condividere le versioni modificate.
Qual è la differenza tra software libero e software open source?
In inglese, il termine "free software" è ambiguo in quanto "free" significa sia "libero" che "gratuito". Questo duplice significato ha portato la comunità degli sviluppatori a distinguere tra software libero e software open source.
L'espressione "open source" è stata proposta nel 1998 da Christine Peterson per trasmettere questa realtà a parole. L'obiettivo è ricordare che il software ha un costo.
Il software open source, come il software libero, non è gratuito. Richiede risorse, umane, finanziarie o materiali, per :
- sviluppare il software
- modificarlo e renderlo adatto alle esigenze di un'azienda o di un'organizzazione,
- mantenerlo aggiornato
- risolvere i problemi in assenza di supporto,
- ospitarlo sui server.
Tutto questo ha un costo: non si può confondere il software open source con il software libero, anche se gli utenti possono avere accesso al codice sorgente.
I diversi tipi di licenza open source
Esistono centinaia di licenze open source diverse. Alcune sono compatibili tra loro, altre no. Se sono compatibili, significa che è possibile unire il codice di programmi diversi.
Vediamo i tipi di licenza più comuni per aiutarvi a capire meglio.
Copyleft
Il copyleft è tradotto in francese come "gauche d'auteur", in riferimento al copyright. È il permesso dell'autore di "utilizzare, studiare, modificare e distribuire la propria opera", sia essa un testo, un'opera d'arte o un programma informatico.
Ciò significa che l'utente di un'opera con copyleft può modificarla, riutilizzarla e distribuirla, ma è tenuto a rispettare le stesse libertà che si applicano all'opera originale. In altre parole, se uno sviluppatore desidera modificare un software e condividerlo nuovamente, il software modificato sarà necessariamente soggetto al copyleft.
Non è possibile distribuire software con licenza copyleft con una licenza proprietaria.
©️ Wikipedia
Esistono diversi livelli di copyleft:
- copyleft stretto: il software, modificato o meno, e i suoi componenti possono essere ridistribuiti solo con la licenza originale;
- copyleft standard o basso: il software, modificato o meno, può essere ridistribuito solo con la licenza iniziale, ma i nuovi componenti possono essere aggiunti e ridistribuiti con un'altra licenza, o anche con una licenza proprietaria.
Le licenze copyleft più note sono le seguenti:
- MPL,
- DSL,
- ODbL,
- GFDL,
- GNU,
- VECCHIO,
- SIL Open Font License,
- CC-BY-SA,
- CeCILL,
- licenza d'arte libera.
Licenze pubbliche generali GPL o GNU GPL
Sono le licenze di software libero più diffuse: più della metà del software libero attualmente distribuito è rilasciato sotto licenza GNU GPL.
Le licenze GPL (General Public License ) sono consigliate se si vuole rendere il proprio codice accessibile e riutilizzabile dal maggior numero di persone possibile. Esse beneficiano di un forte copyleft.
Sono disponibili diverse versioni: GPL 2, GPL 3, l'ultima delle quali è la più completa, in quanto affronta in particolare il problema della tivoizzazione ("la creazione di un sistema che include software libero, ma utilizza un hardware elettronico per proibire agli utenti di eseguirne versioni modificate", secondo Wikipedia).
Esistono licenze derivate dalla GPL, anch'esse redatte dalla Free Software Foundation:
- la LGPL, Lesser General Public License: questa licenza è derivata dalla GNU GPL e mira a essere meno restrittiva nei confronti del software proprietario. Viene spesso applicata alle librerie.
- la licenza AGPL, o GPL Affero, è derivata dalla versione 3 della GNU GPL. Ha un requisito: "se eseguite un programma modificato su un server e consentite ad altri utenti di comunicare con esso, il vostro server deve anche consentire loro di scaricare il codice sorgente della versione modificata in esecuzione" (fonte: gnu.org).
La licenza MIT
Questa licenza prende il nome dal Massachusetts Institute of Technology, MIT. Il termine è fuorviante perché, in realtà, il MIT utilizza diverse licenze.
La licenza MIT è una licenza molto permissiva, con poche restrizioni sul riutilizzo del codice e nessun copyleft. È compatibile con un gran numero di licenze, tra cui la GNU GPL.
Include diversi modelli di licenza, in particolare la licenza Expat e la licenza X11.
La licenza MIT è simile per molti aspetti alla nuova licenza BSD.
La licenza BSD
La licenza BSD è una licenza open source permissiva e senza copyleft, compatibile con la GNU GPL.
Si consiglia di non utilizzare la versione originale a causa di una clausola pubblicitaria restrittiva: l'avviso di copyright è obbligatorio in tutte le pubblicità o i documenti forniti con il software. La nuova versione della licenza BSD non contiene più questa clausola.
Tra le licenze BSD più diffuse c'è la licenza Apache. Si tratta di una licenza permissiva, compatibile con la GNU GPL v3, ma non con la v2. Si consiglia di utilizzare la licenza Apache 2.0 per i programmi di grandi dimensioni, in particolare per evitare le insidie legate ai brevetti.
Tabella delle diverse licenze open source
Nome della licenza | Copyleft | Compatibilità GNU GPL |
---|---|---|
GNU, GNU GPL | Sì | SÌ |
MIT | No | Sì |
BSD | No | Sì |
Apache | No | Sì con GNU GPL v3 |
Il software open source più diffuso
Ecco alcuni esempi di software open source suddivisi per categoria:
- Framework: Angular (MIT),
- Client FTP/trasferimento file: FileZilla (GNU GPL),
- CMS: Drupal (GNU),
- CRM: SuiteCRM (AGPL),
- Gestione di database: mySQL (GNU),
- Editor di testo: Notepad2 (GNU),
- ERP: Odoo (GNU GPL),
- Forge: GitLab (MIT),
- Browser web: Mozilla Firefox (GNU GPL),
- Sistema operativo: Red Hat Enterprise Linux,
- Server HTTP: Apache HTTP Server (Apache).
Suggerimenti finali: come si sceglie una licenza open source?
- Il copyleft è un criterio obbligatorio?
- Quanto volete che sia riutilizzabile il vostro codice?
- Avete bisogno di una licenza che permetta di lavorare in comunità con altri sviluppatori?
- Avete bisogno di una licenza permissiva e, se sì, quanto dovrebbe essere permissiva?
- Avete bisogno di un'ampia comunità di supporto?