Non sempre lo notiamo ma il codice open source è tutto intorno a noi. Solo su internet, un sito web su cinque utilizza Bootstrap, framework open source gratuito realizzato da un programmatore - Jacob Thornton - e un web designer - Mark Otto - utilizzabile da chiunque abbia voglia o necessità di sfruttare modelli di progettazioni già pronti, funzionanti, mobile first e facilmente modificabili in maniera libera e indipendente.
Bootstrap è solo uno dei molteplici esempi legati al mondo del codice aperto a tutti, a cui chiunque può contribuire apportando modifiche o risolvendo bug di software a servizio dell’intera comunità. Esperti e appassionati, uniti sotto un’unica bandiera per fornire la possibilità di sviluppare progetti funzionanti e di alto valore, anche in mancanza di fondi da investire.
Non tutto però è come sembra: tanta libertà, strumenti gratuiti e una comunità aperta e pronta a gestire sviluppi di ogni dimensione può portare a risvolti non sempre positivi. Quali sono, dunque, i problemi e i limiti legati allo sviluppo di codice open source?
Codice open source, i limiti dello strumento
Se gli aspetti positivi non mancano, allo stesso modo ci sono limiti che purtroppo relegano il codice open source a pochi progetti di punta, ben curati e stabili da poter essere utilizzati in diversi contesti, dal pubblico al privato. Uno dei punti chiave è quello rappresentato dalla mancanza di un numero concreto di sviluppatori, dai programmatori ai designer, da dedicare a progetti di questa tipologia.
Sono ancora troppo poche le figure che possono sfruttare a tempo pieno le proprie capacità per attività a guadagno zero (o quasi), soprattutto durante le prime battute. Gli stessi Thornton e Otto, durante lo sviluppo di Bootstrap, erano impegnati con Twitter nelle rispettive aree.
Codice open source, meno soldi = più abbandoni
La mancanza di una remunerazione certa, poi, contribuisce a creare una sensazione di burnout negli sviluppatori. Sotto pressione, questi abbandonano la strada intrapresa lasciando metaforicamente morire quanto di buono e funzionale creato individualmente o già integrato fino a quel punto.
E anche in caso di completamento del progetto, spesso non seguono aggiornamenti, risoluzione dei bug e tutti quei piccoli passi che consentono di tenere in vita il prodotto finale nel tempo.
Non si viene a creare, dunque, un seguito attento e affezionato in grado di supportare il team di lavoro sotto diversi aspetti (non solo quello economico, ma anche contribuendo con un feedback puntuale e mirato sui problemi in sospeso presenti nel software, cartina tornasole gratuita e fondamentale per ogni progetto).
Codice open source, cosa comporta la mancanza di investimenti
E poi c’è, sullo stesso piano, la mancanza di investimenti: “veloce” e “funzionale” non sempre vanno d’accordo con gratuito, soprattutto nel mondo della programmazione. Per la produzione di software di qualità, funzionante in tempi brevi e completo già dal giorno 1, c’è bisogno di investire.
Dalle macchine alle infrastrutture, fino alla motivazione (non solo morale) delle figure coinvolte, il denaro diventa uno strumento capace di dare ossigeno all’intero ecosistema che ruota intorno al software. Non tutti i prodotti open source possono contare su una macchina di tali dimensioni, ai livelli di Linux o Mozilla, per fare due esempi di big gratuiti , per muovere i primi passi nel settore. Esistono, in ogni caso, compagnie che supportano economicamente i collaboratori che lavorano a codice destinato a diventare gratuito e open source.
È il caso di Google e Facebook che, tra le loro fila, annoverano coder regolarmente assunti e concentrati sullo sviluppo di codice aperto. Non mancano esempi di ottimi progetti, come il linguaggio di programmazione open source Rust, che cercano di creare un sistema in grado di fornire un supporto economico ai contributori più attivi.
Secondo alcuni esperti del settore, potrebbe essere sufficiente un sistema di sottoscrizioni per dare nuova linfa vitale all’open source. Altri invece sono convinti che tali “interferenze” possano creare delle aree oscure, in grado di deformare il concetto e i valori alla base della filosofia che contraddistingue questi progetti.
Codice open source, la sicurezza questa (semi)sconosciuta
A quanto già citato, poi, si aggiunge il problema sicurezza. La presenza di una comunità attiva e attenta non è, purtroppo, sempre sinonimo di alti standard di sicurezza. Vero è che, nelle community più sviluppate, sono molti gli utenti pronti a mettere mano al codice quando vengono rilevate vulnerabilità di ogni entità.
E poi, con un codice sotto gli occhi di tutti non mancano gli esperti pronti ad alnalizzare ogni singola riga di codice, alla ricerca di grandi e piccoli problemi che possono spalancare le porte agli attacchi hacker o ai malware di turno.
In assenza di una platea partecipante, però, sono pochi gli addetti alla sicurezza che svolgono audit regolari all’interno dei gruppi di lavoro open source. Secondo una stima di CSO, ramo dedicato alla cyber security della media company IDG, sulla totalità dei progetti presenti sul repository GitHub, solo il 2,4% dispone di una documentazione approfondita sul tema della sicurezza. Un numero davvero esiguo rispetto alla quantità di codice presente in piattaforma.
A ciò si aggiunge la questione delle notifiche agli utenti. Una volta rilevata una vulnerabilità e applicati i dovuti fix, è spesso impossibile notificare a tutti gli utenti la necessità di aggiornare il software. La comunità non sa chi sta utilizzando i componenti sviluppati, oltretutto di sovente caricati in blocco per comodità, senza sapere veramente cosa vi è all’interno del pacchetto per avere un’idea più chiara su tutte le nuove funzionalità integrate e di eventuali problematiche presenti o passate.
Codice open source, i punti da sviluppare in futuro
Prima di poter passare in massa all’open source appare evidente come sia necessario dapprima attraversare una fase mirata alla risoluzione di alcune, se non tutte, delle questioni in sospeso sui diversi piani analizzati.
Se lo strumento si mostra ancora limitato rispetto alle sue potenzialità, la rivoluzione del mezzo è dietro l’angolo: bisognerà però fare propria la filosofia dietro al software gratuito e aperto a tutti, venendo incontro alle esigenze di tutti, dagli utenti agli sviluppatori senza i quali è impossibile portare avanti alcun progetto.