Vaultinum fornisce un’analisi sui potenziali rischi legati ai software open source e propone le soluzioni per trarne vantaggio.

software open source

Gli investimenti nel settore tecnologico sono in costante aumento. Man mano che l’industria cresce e viene investito più denaro, gli investitori devono assicurarsi di essere protetti da ogni possibile minaccia. La prevenzione del rischio è particolarmente importante quando si considerano gli investimenti nel settore tecnologico, quando l’asset primario di ogni affare è generalmente il software, in particolare il software open source.

La due diligence nella fase di pre-investimento è spesso molto accurata in termini finanziari e legali, ma non in termini tecnologici. Le vulnerabilità del software tendono quindi a passare inosservate, e un’analisi approfondita dell’uso del software open source è generalmente assente. Vaultinum società specializzata nella protezione e nell’audit delle risorse digitali, ha identificato quali rischi possa comportare questo, e come possano essere mitigati.

Conoscere un software open source

Gli sviluppatori possono ispezionare, copiare, modificare e ridistribuire un software open source. L’idea alla base è infatti quella di consentire la crescita della conoscenza attraverso la collaborazione della comunità: la mente collettiva sarà sempre in grado di produrre cose più grandi e migliori di uno sviluppatore solitario che scrive il codice da zero. Attualmente la comunità open source è molto attiva e ha fatto registrare il 35% in più di repository di codice creati su GitHub nel 2020 rispetto all’anno precedente. L’uso dell’open source sta rapidamente diventando una necessità strategica nel mondo digitale, poiché in un ambiente competitivo è essenziale essere in grado di sviluppare più velocemente.

Sviluppare nuove features e metterle sul mercato più velocemente di un concorrente migliora la possibilità di ottenere più quote di mercato. Ci sono anche report e indagini che si spingono ad affermare come la costruzione di una cultura open source possa spingere positivamente verso una più marcata innovazione. Non sorprende quindi che lavorare con il software open source stia diventando un requisito per quasi tutti i software.

I benefici che possono derivare dall’integrazione del software open source all’interno dei repository di codici commerciali sono di ampia portata, pertanto l’uso dell’open source può e deve essere visto come una risorsa dagli investitori. L’open source permette alle organizzazioni di attingere a una comunità di sviluppatori di software ampia e tecnicamente diversificata e questo fa sì che il software possa affrontare minori rischi in termini di obsolescenza. Questa ampia e variegata comunità permette anche alle aziende di superare le difficoltà che si incontrano nell’acquisizione dei talenti e, allo stesso tempo, di tagliare i costi. Tuttavia, al fine di beneficiare davvero di questi fattori positivi, gli investitori devono preliminarmente assicurarsi che le organizzazioni in cui stanno investendo stiano gestendo correttamente il loro utilizzo dell’open source.

Approfondire le licenze open source

Le restrizioni di licenza dell’open source possono essere molto diverse da quelle del software sviluppato in house. Quasi tutte le licenze open source rispettano le “libertà essenziali” dell’open source, ovvero la libertà di usare, eseguire, studiare, modificare e ridistribuire il software per qualsiasi scopo.

Queste libertà sono principi essenziali che portano con sé gli aspetti più belli e condivisi del software open source, dal momento che permettono alla comunità di sviluppare e intervenire costantemente per trovare soluzioni migliori. Tuttavia, il modo in cui questi principi si applicano al software sviluppato in open source dipende dalle restrizioni di licenza che sono state applicate, sia a livello generale, sia per licenze permissive o copyleft.

Le licenze permissive, come la licenza Apache v.2.0, la licenza BSD e la licenza MIT, garantiscono tutte le suddette “libertà essenziali”, ma non richiedono che queste libertà siano mantenute nei lavori derivati. Di conseguenza, il software open source vincolato da una licenza permissiva può essere modificato in una base di codice più ampia e distribuito anche tenendo conto di diversi termini di licenza. Grazie alla relativa libertà di usare licenze permissive, persistono pochi aspetti negativi nell’usarlo come parte di un software derivato.

D’altra parte, le licenze copyleft, o le cosiddette licenze “non permissive”, richiedono che qualsiasi redistribuzione di un software debba essere fatta sulla base degli stessi termini o di termini compatibili con la licenza open source originale. I termini delle licenze copyleft, infatti, sono vasti e possono includere la richiesta di rendere pubblico l’intero codice sorgente sviluppato in house o la necessità di pagare una tassa di licenza per l’uso del codice open source all’interno di un software commerciale. La licenza copyleft più usata, indicata come copyleft forte, è la GNU General Public Licence (GPL), che si applica non solo a qualsiasi modifica fatta al codice open source con licenza GPL, ma anche a qualsiasi lavoro di derivazione che si basa sul codice GPL. Come tale, un intero codice base sarebbe vincolato dai termini della GPL, anche se usa solo un paio di linee di codice GPL.

Proteggere gli investimenti contro i rischi connessi alla proprietà intellettuale

Quando si usa codice vincolato da licenze restrittive, come la GNU GPL, le aziende affrontano una minaccia alla proprietà intellettuale. Le licenze che permettono al codice proprietario di essere definito come lavoro derivato comportano anche che le organizzazioni possano perdere il loro diritto IP su un intero software sviluppato internamente. Per esempio, quando Hancom Office, una suite di applicazioni per la produttività, ha incorporato Ghostscript, un interprete PDF open source, nel suo software di elaborazione testi nel 2013, avrebbe dovuto aderire alla sua licenza open source, la GNU GPL. Hancom avrebbe quindi dovuto estendere alla sua intera suite di applicazioni open source la medesima licenza GNU GPL, e avrebbe così perso i diritti IP del suo intero prodotto. In alternativa, in questo caso particolare, Hancom avrebbe potuto pagare una tassa di licenza ad Artifex, lo sviluppatore di Ghostscript, per rinunciare alla GPU GNU, ma non sempre gli sviluppatori commerciali sono disposti a pagare. Hancom non ha fatto nessuna delle due cose: Artifex ha intentato una causa nel 2017 che si è conclusa con una sentenza del tribunale distrettuale degli Stati Uniti a favore di Artifex. Sebbene i termini esatti dell’accordo non siano noti, di certo Hancom avrà subito drastiche perdite finanziarie, di reputazione e di proprietà intellettuale.

Naturalmente, il livello di rischio dell’uso di software open source dipende dal tipo di licenza open source, e dalla severità dei suoi termini. L’integrazione di un software open source vincolato a una licenza permissiva non avrà le stesse ricadute che può avere l’integrazione di un software regolato da una licenza copyleft, che costringe le organizzazioni a pagare o, in alternativa, a rendere pubblico il loro codebase con una grave perdita di IP.

La sentenza Artifex contro Hancom ha stabilito un precedente scoraggiante per ogni organizzazione che voglia integrare software open source vincolato da una licenza copyleft nelle loro basi di codice più ampie. Le aziende devono quindi implementare una forte strategia open source per evitare di incorrere in battaglie legali di questo genere.

Gli investitori dovrebbero controllare le restrizioni di licenza open source e tutti gli altri potenziali rischi associati a un software, implementando una due diligence completa del software prima di investire. Un auditing davvero completo utilizza un algoritmo combinato con la revisione di esperti allo scopo di analizzare ogni linea di codice, in modo che ogni software open source sia identificato e valutato in maniera onnicomprensiva. L’audit esamina anche i processi operativi interni di un’azienda, compresa la strategia di gestione dell’open source, al fine di ridurre ed evitare tali rischi in futuro.