La presenza del software open source è cresciuta in modo esponenziale a livello di infrastruttura (dalla internet alle reti delle singole aziende) e sta crescendo – anche se molto più lentamente – a livello desktop. Nonostante ciò, è vittima di falsi miti – spesso creati ad arte – che rischiano di limitare la crescita, soprattutto a livello desktop, e che cercherò di “smontare”.
L’Open Source è una tendenza
È facile etichettare una nuova tecnologia come una tendenza, ma l’open source – oltre a non essere una nuova tecnologia – non è più una tendenza da quando anche le aziende che sviluppano software proprietario hanno compreso – obtorto collo – che non è più possibile farne a meno, visto che alcune tra le tecnologie software che esse stesse utilizzano sono open source.
Studi condotti da analisti come Gartner affermano che l’open source è diventato un elemento essenziale dell’infrastruttura globale, ed è destinato a rimanere come tale per il futuro prevedibile. Secondo una ricerca di Linux Foundation, il numero delle aziende che utilizza il software open source per la propria infrastruttura è largamente superiore a quello delle aziende che utilizzano tecnologie proprietarie come Microsoft Windows. Inoltre, il software open source è alla base di tutte le soluzioni di intelligenza artificiale e dell’apprendimento automatico.
A questo dominio sull’infrastruttura si aggiunge il fatto che il software utilizzato dalle grandi organizzazioni di ricerca scientifica come il CERN è open source, in modo particolare in area tecnica. Lo stesso vale per molte aziende focalizzate in ambito tecnico, sulla progettazione di hardware o lo sviluppo di software.
L’Open Source non è pronto per il “mondo reale”
Alcune delle aziende tecnologiche più note, come Amazon, Facebook, Google, Mozilla, Reddit e Twitter, oltre a istituzioni di livello mondiale come l‘Università di Harvard e la Borsa di New York, usano la tecnologia open source. La stessa Microsoft ha apertamente dichiarato “il proprio amore” per Linux, nonostante sia un concorrente significativo di Windows, e non potrebbe essere altrimenti visto che tutti i server cloud utilizzano quel sistema operativo.
Nel 2018, IBM ha acquisito Red Hat – la più grande tra le aziende totalmente focalizzate sullo sviluppo e la fornitura di software open source – per 34 miliardi di dollari, che all’epoca rappresentavano un valore pari a 10 volte il fatturato della stessa Red Hat, e il più grosso investimento in assoluto per un’acquisizione nel settore hi-tech.
L’Open Source è per gli utenti Linux
Il sistema operativo Linux nasce dalla cultura open source, per cui è facile capire perché molte persone pensano che si tratti di un fenomeno circoscritto. In un certo senso l’affermazione ha un fondo di verità, perché molti programmi open source sono nati per rispondere alle esigenze degli utenti Linux, anche se poi sono stati rilasciati anche per Windows e/o macOS come VLC.
La realtà è che i software open source sono utili a tutti, compresi coloro che non conoscono la filosofia open source, e non sono sviluppati per gli smanettoni o gli utenti Linux. In fin dei conti, l’open source è nato proprio per liberare gli utenti dalle pastoie – il lock-in – del software proprietario.
Le grandi aziende evitano l’Open Source
Quest’idea appartiene al passato, visto che oggi tutte le aziende utilizzano – in misura variabile, a seconda delle loro esigenze e del loro approccio – il software open source all’interno della loro infrastruttura, e in alcuni casi anche sui desktop per applicazioni come la comunicazione e la produttività individuale.
Anche i grandi software vendor hanno iniziato a rilasciare delle librerie o delle applicazioni con licenza open source, compresa la stessa Microsoft, che ha anche acquisito GitHub, uno tra i principali sistemi utilizzati dagli sviluppatori software open source per la condivisione del codice sorgente e lo sviluppo collaborativo.
Lo sviluppo del software Open Source è caotico
Lo sviluppo del software open source non è lasciato all’iniziativa individuale, anche se sulla carta sembra proprio così. I contributi pubblici vengono controllati e approvati dagli sviluppatori più esperti, che a loro volta si confrontano tra loro in modo regolare durante una riunione periodica con cadenza settimanale. Se un contributo non è in linea con la visione del progetto, può essere rifiutato o rinviato al mittente con l’invito a modificarlo. Il processo è sorprendentemente semplice e ordinato.
Questo “comitato degli esperti”, però, non ha autorità sulle decisioni tecniche o di rilascio, per cui nessuno può usare il progetto per difendere i propri interessi, ma i suoi consigli permettono di risolvere i problemi procedurali e garantiscono che i contributi della comunità mantengano il progetto in carreggiata.
Oggi i progetti open source sono visti come un modo più trasparente e moderno di sviluppare qualcosa di innovativo che promuove la collaborazione all’interno della comunità, e sfrutta i vantaggi dell’intelligenza collettiva.
L’Open Source è meno sicuro del software proprietario
L’idea che il software open source sia più soggetto alle vulnerabilità perché è accessibile a tutti è facile da capire, ma è profondamente sbagliata, ed è l’opposto di quello che avviene nella realtà. Infatti, l’accessibilità del codice sorgente è uno dei punti di forza del software open source perché permette di cercare, trovare e risolvere i problemi di sicurezza molto più rapidamente rispetto al software proprietario.
Gli utenti del software proprietario devono fidarsi ciecamente del fornitore per la soluzione dei bug o delle vulnerabilità del codice, visto che i malintenzionati sono in grado di accedere al codice sorgente di qualsiasi software – anche proprietario – con i loro strumenti, e di iniettare virus che solo il fornitore è in grado di trovare.
Questo non significa che il software open source sia più sicuro di quello proprietario. Ogni software ha i suoi punti di forza e i responsabili delle decisioni dovrebbero soppesare accuratamente pro e contro quando valutano una soluzione, tenendo sempre presente che la comunità open source non è motivata solo dal profitto ma anche dal miglioramento del codice sorgente.
Quindi, invece di nascondere gli errori di sicurezza sotto il tappeto, la comunità li affronta e informa direttamente gli utenti. Al contrario, gli sviluppatori di software proprietario tendono a essere meno trasparenti riguardo alle vulnerabilità, anche se questo non rappresenta certo una garanzia per gli utenti.
L’Open Source è difficile da mantenere
Il software open source viene sviluppato seguendo procedure tracciabili e ben documentate, che vengono adottate sia dai piccoli progetti con pochi contributori sia dai grandi progetti con migliaia di contributori sia dalle grandi aziende. Spesso il codice sorgente non è perfettamente documentato, ma questo non sembra essere un problema visto che si tratta di una caratteristica comune anche al software proprietario.
Tra l’altro, alcuni degli strumenti open source per la gestione dello sviluppo sono stati adottati anche dalle aziende che sviluppano software proprietario, e non solo per i progetti open source. In questo caso, la trasparenza è il punto di forza di questi strumenti, dato che consente di seguire l’evoluzione del software e tracciare tutti i contributi, e spesso permette di gestire il codice sorgente da parte di chi non ha partecipato direttamente al suo sviluppo.
Quindi, il software open source è spesso più longevo di quello proprietario, e ci sono moltissimi progetti – primo fra tutti il kernel Linux – che vanno avanti ormai da decenni con un processo continuo di pulizia e refactoring, senza la necessità di una completa riscrittura. In molti casi, gli attuali responsabili dello sviluppo sono subentrati nel corso degli anni in modo del tutto trasparente, prima affiancando e poi sostituendo i precedenti responsabili.
L’Open Source serve solo a risparmiare denaro
Il software open source può essere utilizzato liberamente, ma non è detto che sia gratuito. Anzi, sarebbe auspicabile che chi utilizza il software open source aiuti il progetto contribuendo in uno dei molti modi possibili: acquistando licenze con un supporto professionale, pagando uno o più sviluppatori per la correzione di bug o lo sviluppo di nuove funzionalità, acquistando supporto da una delle aziende che gravitano intorno al progetto open source, eccetera. In ogni caso, spendendo meno rispetto all’acquisto delle equivalenti licenze proprietarie.
Tra l’altro, spesso l’adozione del software open source favorisce l’utilizzo degli standard aperti, che rappresentano sempre un vantaggio per gli utenti in quanto li affrancano dalle strategie di lock-in del software proprietario, vengono mantenuti da comunità indipendenti a vantaggio di tutti i progetti open source e quindi sono quasi sempre migliori sotto il profilo della qualità e della sicurezza. Questo è particolarmente vero per i formati dei file e dei documenti.