Nonostante si stia assistendo ormai da tempo alla sua crescita esponenziale, l’open source è vittima di falsi miti che rischiano di ostacolarne lo sviluppo. Continuiamo a smontarli.
Lo sviluppo Open Source è pro bono
Il fatto che il software open source possa essere utilizzato liberamente, e quindi gratuitamente (anche se il principio guida è quello della libertà d’uso e non quello della gratuità), non vuol certo dire che gli sviluppatori open source lavorino senza essere pagati. Alcuni lo fanno, naturalmente, ma la maggior parte viene pagata, e questo può avvenire in diversi modi.
Spesso, un programma open source è così utile e critico per il flusso di lavoro di un’azienda che quest’ultima paga gli sviluppatori del programma stesso, oppure gli commissiona lo sviluppo o il miglioramento delle funzionalità, o la soluzione dei problemi più critici come quelli relativi all’interoperabilità.
Un altro esempio è quello del supporto professionale, che è indispensabile quando un software open source viene utilizzato all’interno di grandi organizzazioni come le istituzioni governative, le università, o le grandi aziende.
Naturalmente, se il software open source utilizza una licenza copyleft, tutte le modifiche al codice sorgente che vengono finanziate – direttamente o no – dalle aziende vengono condivise con tutta la comunità degli utenti, siano essi individui o aziende. Un vantaggio evidente delle licenze copyleft come GPL, LGPL e MPL rispetto a quelle “permissive”, come la Apache Software License.
Lo sviluppo Open Source è fatto da dilettanti e studenti
La maggior parte delle persone identifica gli sviluppatori open source con lo stereotipo del nerd disadattato, che lavora di notte in un sottoscala tra lattine di birra vuote e mozziconi di sigaretta. Nel migliore dei casi, con uno studente di informatica alle prime armi. Ma per favore!
Negli ultimi vent’anni, lo sviluppo open source è diventato un fattore chiave per l’innovazione e ha coinvolto professionisti e aziende di ogni tipo, a partire dai grandi centri di ricerca internazionali come il CERN, che sfrutta l’open source per sviluppare i propri sistemi avanzati.
Anche alcune aziende che un tempo vedevano l’open source come una minaccia, e facevano di tutto per limitarne lo sviluppo, compresa la diffusione di informazioni completamente false come nel caso degli “Halloween Documents” inventati da Microsoft, hanno cambiato il loro atteggiamento.
Oggi, alcune tra le fondazioni di riferimento per il software open source sono sostenute o vedono addirittura la partecipazione diretta di aziende come la stessa Microsoft. L’esempio più significativo è la Linux Foundation, che gestisce tutto lo sviluppo del kernel Linux.
Il software Open Source non è sicuro
Abbiamo già affrontato questo argomento, come confronto con il software proprietario. Purtroppo, nonostante le evidenze, ci sono ancora molti utenti che ritengono che la trasparenza del codice sorgente tipica del software open source rappresenti un problema per la sicurezza.
Secondo questi utenti, il fatto che tutti possano accedere al codice sorgente e, in pura teoria, modificarlo, rende il codice sorgente stesso meno sicuro. In realtà è il contrario, perché se sullo stesso codice lavorano diversi sviluppatori competenti è molto probabile che qualcuno di essi rilevi gli eventuali problemi, e insieme agli altri li risolva in modo più rapido rispetto a quanto potrebbe fare qualsiasi team di specialisti nel caso del software proprietario.
La maggior parte dei grandi progetti open source, inoltre, dispone di sviluppatori focalizzati sul tema della sicurezza, che collaborano con gli altri sviluppatori e con i laboratori specializzati, e usano sofisticati strumenti di analisi statica e di fuzzing che sottopongono il codice sorgente a un accurato processo periodico di verifica e revisione.
Manca il supporto per il software Open Source
La maggior parte dei progetti open source offre il supporto agli utenti in modo completamente diverso rispetto alle aziende del software proprietario, ma spesso in modo altrettanto o addirittura più efficiente attraverso mailing list e forum dove sono presenti dei volontari che offrono il proprio tempo per la soluzione di un problema con il software o rispondono alle domande su come usare correttamente lo strumento.
Alcuni progetti hanno più mailing list dedicate a scopi specifici, come una mailing list di sviluppatori per discutere di hacking sul codice e una mailing list di utenti finali per sfruttare le funzionalità del prodotto.
Inoltre, i progetti open source usano un sistema per tracciare i bug, a cui gli utenti possono inviare segnalazioni e richieste di funzionalità, e possono vederne lo stato aggiungendo dei commenti per aiutare gli sviluppatori a individuare i problemi e applicare le patch.
Le aziende che hanno bisogno di supporto professionale in quanto utilizzano il software open source in modo strategico, possono sottoscrivere un accordo – con relativo Service Level Agreement – con un’organizzazione che fornisce supporto commerciale, e impiega sviluppatori in grado di risolvere bug e regressioni, e sviluppare nuove funzionalità.
L’Open Source è un problema per le aziende
L’idea sbagliata è che il software open source possa danneggiare un’azienda regalando un prodotto senza alcun profitto o costringendo un prodotto a diventare esso stesso open source. Questo non è vero. Molte licenze open source consentono di usare il software open source con un prodotto proprietario, a condizione che il software open source rimanga open source.
Il codice open source, infatti, non può essere trasformato in proprietario, e non può essere integrato in un prodotto proprietario come se fosse codice proprietario. Peraltro, non tutte le licenze open source consentono il collegamento o l’utilizzo in prodotti proprietari, anche se la famiglia delle licenze “permissive” è stata creata proprio per soddisfare questo obiettivo, e consentire alle aziende che non amano il software open source di poterlo sfruttare senza restituire nulla alla comunità (mi riferisco alle licenze Apache, BSD e MIT).
Al contrario, la famiglia delle licenze copyleft come GPL, LGPL e MPL – che pone come condizione la condivisione di tutti i miglioramenti con la comunità – permette di perpetuare le caratteristiche di innovazione, robustezza, qualità e sicurezza del software open source, senza per questo impedire alle aziende di fare uso del codice open source.
Il software Open Source non genera profitti
Per sfatare questo mito basterebbe citare il caso di Red Hat, acquisita da IBM per oltre 30 miliardi di dollari, pari a circa 10 volte il fatturato annuale dell’azienda di Raleigh in North Carolina. Ma si potrebbero citare anche altri nomi, come quello di NextCloud, l’azienda europea che sviluppa una soluzione cloud superiore, per funzionalità e rispetto della proprietà dei dati dell’utente, a quelle di Amazon, Google e Microsoft.
Ovviamente, è difficile trarre profitto dalla vendita di un prodotto open source, che non deve essere necessariamente gratuito (e infatti utilizziamo il concetto di “libertà” d’uso, e non quello di “gratuità”), mentre è un po’ più facile richiedere il pagamento di servizi a valore aggiunto come quelli di sviluppo e di supporto, e di formazione e assistenza alla migrazione.
È comunque indispensabile che le aziende che utilizzano software open source in modo strategico imparino a contribuire ai progetti su cui fanno affidamento in una delle numerose modalità disponibili (acquisto di una licenza Long Term Support, pagamento dello sviluppo di una funzionalità o della soluzione di un problema, assunzione di uno sviluppatore, ecc.) perché solo in questo modo possono avere la certezza che il software che stanno utilizzando sarà disponibile secondo le stesse modalità anche in futuro.
Il software l’Open Source è rischioso dal punto di vista legale
I componenti open source sono liberi di essere utilizzati, ma sono accompagnati da una licenza da rispettare per evitare rischi legali e commerciali. Se si rispettano i termini e le condizioni delle licenze dei componenti utilizzati, l’uso del software open source non comporta alcun rischio.
Ci sono numerose licenze open source riconosciute da Open Source Initiative (OSI) e compatibili con la Open Source Definition (OSD), e anche se capire come usarle correttamente non è un compito facile per le aziende che non dispongono di un team legale dedicato, è sempre possibile trovare un supporto adeguato online o utilizzare un software specifico per la gestione delle licenze open source.
Bisogna sempre ricordare che il software open source offre molti vantaggi, ma comporta anche delle responsabilità per le aziende che lo integrano all’interno dei propri prodotti software, e non solo in ambito informatico, visto che oggi i settori dell’automobile e della sanità fanno ampio utilizzo di software open source all’interno dei propri prodotti.
Il codice Open Source non va d’accordo con quello proprietario
Il software open source non è un concorrente del codice proprietario, e non è mai stato pensato per esserlo. Spesso, le aziende di software commerciale integrano le librerie open source all’interno del loro codice proprietario per evitare di investire risorse in un codice che è già disponibile, e spesso non ha bisogno di modifiche e adattamenti per essere utilizzato.
Oltre alla produttività, ci sono anche altre ragioni per considerare il codice open source e quello proprietario come complementari, come per esempio la capacità di integrazione con altri pacchetti software oppure la possibilità di personalizzare le funzionalità in modo facile e veloce.