La storia di ascesa del software open source (OSS) e il suo attuale livello di diffusione nel mondo aziendale (software open source enterprise) come elemento chiave di sviluppo di modelli di business innovativi, passano attraverso un complesso groviglio di tensioni, dispute filosofiche, etiche, legali, commerciali. Negli anni ‘90, a livello enterprise, la competizione con il software proprietario è ancora forte. Poi, dopo il 2000, le cose cominciano a cambiare, con grandi vendor di software ‘closed source’ che, inizialmente asserragliati su posizioni e strategie difensive, gradualmente assumono atteggiamenti collaborativi e cooperativi, arrivando a sponsorizzare progetti open source.
Nel 2009, la società di ricerca e consulenza Forrester pubblica il rapporto Open Source Software Goes Mainstream – Convert Your Cost-Cutting Crisis Into An OSS Opportunity. Dieci anni dopo, nel 2019, un altro rapporto di Forrester (Unlock Open Source Technology’s Full Value) mette in evidenza che, nel mercato generale, il 90% delle imprese sfrutta almeno due tipi di tecnologie open source e che il 55% ne utilizza cinque o più. Al vertice si trovano il software per automazione di infrastrutture e piattaforme cloud, i database, le piattaforme di sviluppo e la tecnologia di orchestrazione container.
Tra le sfide nell’uso delle tecnologie open source e nella loro integrazione, le aziende segnalano gli elevati rischi di security e compliance, i problemi d’interoperabilità e gli alti costi di utilizzo di licenze commerciali su larga scala: tutti problemi derivanti, secondo il rapporto, dall’inadeguatezza delle comunità peer-to-peer nel fornire un supporto olistico in grado di connettere tra loro le tecnologie open source. Tuttavia, tra i vantaggi chiave che si otterrebbero con il superamento di tali sfide, il 54% dei decisori aziendali rispondenti cita i minori rischi di sicurezza e compliance; il 48% la migliorata interoperabilità; il 47% la miglior integrazione con progetti e tecnologie open source; il 46% la rapidità di sviluppo.
Open source, presenza pervasiva nelle imprese
Oggi, software e componenti open source sono presenti dappertutto nei molteplici ambiti dell’IT dedicata al business: il rapporto OSSRA Open Source Security and Risk Analysis per il 2020, realizzato da Synopsys controllando oltre 1.250 basi di codice commerciali in 17 settori industriali, inclusi software enteprise/SaaS, assistenza sanitaria, servizi finanziari e fintech, Internet e software infrastrutturale, riporta che il 99% delle basi di codice controllate nel 2019 contiene componenti open source. Un dato nell’ambito dei sistemi operativi è invece fornito da W3Techs, società di sondaggi sulla tecnologia web, secondo cui Linux è utilizzato dal 31,3% di tutti i siti web. Più in generale, vanno anche ricordati il peso di framework open source come Apache Hadoop nello sviluppo di tecnologie enterprise per l’analisi di big data, e la forte presenza dell’open source nei domini dell’intelligenza artificiale (AI) e del machine learning (ML), dove piattaforme e framework open source come TensorFlow e Apache MXNet sono ampiamente diffusi.
Open source e ‘free software’, punti di vista diversi
In materia di software enterprise, nell’uso comune, il termine ‘open source’ viene spesso considerato intercambiabile con l’espressione ‘free software’ per intendere la stessa categoria di programmi. In realtà, come chiarisce Richard Stallman, promotore del progetto GNU, nell’articolo Why Open Source misses the point of Free Software, i due termini sono basati su concetti e valori differenti. Mentre il movimento del software libero chiama ‘free software’ quello che rispetta le libertà essenziali degli utenti di “eseguire, copiare, distribuire, studiare, modificare e migliorare il software”, il concetto di open source valorizza soprattutto i vantaggi pratici, e non necessariamente identifica software libero. In primo luogo, spiega Stallman, alcune licenze open source sono troppo restrittive, e non possono dunque essere qualificate come licenze libere o ‘free’. Un esempio, dimostra il famoso programmatore, è l’ambiente di sviluppo integrato (IDE) Open Watcom, che è software ‘nonfree’, non libero, in quanto la sua licenza non consente di creare una versione modificata e di utilizzarla in privato.
Open source enterprise: i benefici nel ‘potere’ della comunità
A prescindere dall’opportunità di contenere i costi iniziali di un progetto, di ridurre la dipendenza dal codice proprietario di un determinato software vendor, e di modificare e personalizzare con maggior libertà le applicazioni, in un ecosistema d’innovazione basato su un progetto open source per la creazione di prodotti e servizi commerciali, il valore di business si genera attraverso la comunità, che collabora, condivide codice, attrae talenti e competenze, produce idee creative, incrementa l’agilità di sviluppo.
La comunità permette di accelerare il processo d’innovazione a un livello tale che nessuna azienda sarebbe, da sola, in grado di raggiungere. Quando poi il progetto open source è solido e adotta metodi rigorosi di sviluppo del codice e controllo della qualità, il livello del software prodotto riesce anche a sfatare falsi miti e convinzioni spesso radicate, come quella secondo cui un codice rilasciato gratuitamente non sarebbe considerabile di valore.
Anche sotto il profilo dei problemi di sicurezza, che possono verificarsi sia nel codice proprietario, sia in quello open source, non è detto che quest’ultimo sia da considerarsi meno sicuro. Soprattutto se si considera la leggibilità e trasparenza del ‘codice aperto’, e l’interesse delle comunità di sviluppo a mantenere la propria reputazione, scrivendo codice conforme con le best practice. Inoltre, il fatto che nei progetti open source esistano grandi comunità di sviluppatori motivati a fornire prodotti di qualità può accrescere la probabilità che falle nel software e potenziali vulnerabilità siano individuate, e risolte con le opportune patch, in maniera più rapida, rispetto a quanto potrebbe accadere in realtà imprenditoriali in cui i team di sviluppatori risultano avere dimensioni più limitate.
Requisiti del software open source aziendale
Per essere considerato ‘enterprise-grade’, un software open source deve comunque possedere caratteristiche e soddisfare requisiti che lo rendano adatto all’uso aziendale. In ambito enterprise, quando si analizza un prodotto software, non lo si valuta solo in termini di qualità del codice, ma se ne studia anche il ciclo di vita, la roadmap di sviluppo nel tempo, l’integrabilità nell’ambiente IT esistente; si verifica la sicurezza, la compliance con le normative di settore, e si controlla quali tool di sviluppo, documentazione, servizi di supporto, manutenzione, training verranno resi disponibili a corredo. A questo livello, dunque, è possibile identificare la differenza tra un progetto open source e un prodotto open source, o, se si preferisce, tra la versione ‘community’ (free) di un software e quella commerciale, a pagamento.
Giusto per fare un esempio, nella prima categoria è inseribile la piattaforma open source CentOS Linux 8, derivata da RHEL, di cui abbiamo già parlato in un precedente articolo. In tal caso, il ciclo di vita di CentOS 8 ha subìto una prematura interruzione del supporto a fine 2021, rispetto a un programma che doveva proseguire sino al 2029, creando varie difficoltà tra gli utenti. Diverso è, invece, il caso del prodotto commerciale open source Red Hat Enterprise Linux (RHEL) 8, ottenibile in abbonamento, e fornito con un ciclo di vita di dieci anni nelle fasi di ‘Full Support’ e ‘Maintenance Support’, a cui segue una ‘Extended Life Phase’ (‘Extended Life Cycle Support’ – ELS) che espande fino a dodici anni la vita utile della distribuzione.
Prodotti open source: edizioni comunitarie e commerciali a confronto
Sul web è possibile reperire e scaricare gratuitamente versioni ‘community’ di molti software open source, in grado di coprire varie funzioni aziendali: solo per fare alcuni esempi, si va dagli applicativi ERP (enterprise resource planning), come Odoo, alle soluzioni CRM (customer relationship management) come SuiteCRM, alle applicazioni ECM (enterprise content management) come Alfresco. Quando ci si muove in questo ambito, scegliere la ‘community edition’ del software open source, piuttosto che l’edizione commerciale, dipende come sempre da quali sono le specifiche esigenze, gli obiettivi di business, le dimensioni di un’organizzazione.
Optare per l’edizione comunitaria può essere utile in realtà impreditoriali di piccole dimensioni, oppure in fase di test, quando è necessario valutare preventivamente la bontà del prodotto e la fattibilità di un progetto. Tuttavia, al momento di analizzare l’applicabilità di un dato software open source in produzione, in un contesto enterprise, occorre necessariamente valutare i vantaggi che l’edizione commerciale può fornire, ad esempio, in termini di stabilità e scalabilità, in rapporto al tipo di workload e al numero di utenti contemporanei. Tali vantaggi, come si è visto, possono estendersi anche alla prevedibilità del ciclo di vita del prodotto open source, ai servizi di supporto e assistenza tecnica forniti in fase d’integrazione, personalizzazione, manutenzione, formazione sull’uso del prodotto; al livello di sicurezza e protezione, e al possesso di certificazioni che rendono conforme il software a normative di settore come il regolamento GDPR.