Che cos’è un software open source?
Ti sei mai chiesto che cos’è un software open source? È un software rilasciato con una tipologia specifica di licenza che rende il codice sorgente legalmente fruibile dagli utenti ed è considerato tale se ha queste due caratteristiche:
– È disponibile in forma di codice sorgente senza costi aggiuntivi. L’utente può visualizzare il codice del software e modificarlo in base alle sue esigenze.
– Il codice sorgente può essere reimpiegato in nuovi software. Chiunque può quindi usarlo per creare e distribuire nuovi programmi
.
SFATIAMO UN MITO: L’OPEN SOURCE NON È GRATUITO!
Un software open source non è necessariamente eseguibile e ceduto gratuitamente. Implica soltanto la disponibilità gratuita del codice sorgente.
Perché erroneamente si pensa sia gratuito? Perché spesso il software open source è associato al movimento del software libero, frutto della cultura degli hacker degli anni ’70. Fu ufficialmente fondato da Richard Stallman nell’ambito del Progetto GNU e della Free Software Foundation, un’associazione senza scopo di lucro.
Con “libero” si intendeva sottolineare la libertà dei diritti degli utenti finali del software, ma il significato è stato spesso frainteso come “libero da ogni costo.”
Entrambi i software, invece, possono essere legalmente venduti o ceduti. La principale differenza tra i due è legata alla condivisione.
Nel caso del software libero, se apporti modifiche al codice sorgente e desideri condividerle, devi condividerle anche con la community del progetto originale. Questa limitazione non vale per il software open source.
FOSS E SOFTWARE PROPRIETARIO
I due termini vengono spesso combinati nella frase “software libero e open source” e indicati con l’acronimo FOSS (Free and Open Source Software).
La differenza principale tra software proprietario e software FOSS è data dalla disponibilità del codice sorgente.
Software proprietari o commerciali, come (Microsoft Windows e Adobe Photoshop) non sono disponibili agli utenti finali come codice sorgente.
Software liberi come Linux e software open source come Google Chromium (la base del browser web Chrome) sono invece disponibili come codice sorgente tramite le rispettive licenze.
Chiaramente esistono diversi tipi di licenze open source. Se hai un tuo codice sorgente e qualcuno lo trasforma in un nuovo software, potrai chiedere che il rilascio del nuovo prodotto avvenga con la stessa licenza (come previsto dalla Licenza Pubblica Generica (GPL) GNU), o con una licenza diversa (come invece consente la Licenza Pubblica Generica Attenuata (LGPA) GNU).
L’IMPORTANZA RISPETTO AL CLOSED SOURCE
Rispetto al modello “chiuso”, un software open source offre a tutti (programmatori e non) la possibilità di contribuire ad un progetto con la propria creatività. Ad esempio, le community open source collaborano a progetti open source aperti a chiunque voglia condividere le proprie competenze contribuendo alla creazione di un codice.
Da questo modello di sviluppo open source hanno avuto origine alcune delle più importanti applicazioni e piattaforme cloud attualmente in adozione tra cui LAMP, un modello di stack di servizi che fa da pilastro a gran parte del web, il sistema operativo mobile Android, Kubernetes, il browser web Mozilla Firefox e Git, un sistema di controllo delle versioni largamente utilizzato nonché le due suite per ufficio correlate, OpenOffice e LibreOffice.
Senza contare che le principali innovazioni nel campo del cloud computing, dei big data e dell’intelligenza artificiale nascono da progetti software open source.
PERCHÉ CONVIENE UN SOFTWARE OPEN SOURCE
Per gli addetti ai lavori le licenze open source offrono a chi voglia acquisire esperienza la possibilità di sperimentare le modifiche, e di condividerle con i pari e la vasta community open source, persino contribuendo con correzioni ai progetti open source in corso.
Alle aziende offre possibilità di personalizzazione per soddisfare esigenze specifiche, nonché di inserire nuove esperienze clienti non previste dal codice sorgente originario.
C’è poi chi preferisce il software open source perché l’accessibilità del codice sorgente fa sì che le eventuali vulnerabilità della sicurezza siano monitorate da un numero maggiore di sviluppatori e da una community attiva e capace di offrire supporto.
L’approccio open source, infatti, promuove la collaborazione aperta e la produzione paritaria.