Bologna Big Code Lab, la biblioteca universale che conserverà tutto il codice sorgente del mondo
Si chiama Bologna Big Code Lab ed è il progetto per creare una biblioteca universale e accessibile di tutto il codice sorgente mai prodotto. Un archivio che diventerà anche una grande opportunità di ricerca in un settore nuovo e strategico, quello appunto del big code.
Bologna Big Code Lab, in breve Bbc Lab, è finanziato e promossa da Ifab, la Fondazione con sede a Bologna che si occupa di big data intelligenza artificiale per lo sviluppo umano, ed è scaturito da una collaborazione tra il Centro Ricerche Enea di Bologna e l’Inria, Institut National de Recherche en Informatique et en Automatique di Le Chesnay-Rocquencourt in Francia.
Bbc lab porterà nel Tecnopolo di Bologna una copia (in gergo tecnico si dice “mirror”, specchio), dell’archivio mondiale dei codici denominato “Software Heritage”, costruito dalla francese Inria. Il mirror attuale, già gestito da Enea, sarà spostato nei data center del Tecnopolo, vero e proprio hub internazionale dei big data. A quel punto nascerà un laboratorio, un centro di ricerca sul big code che metterà assieme le competenze degli scienziati e dei ricercatori del Cineca, del progetto Sofware Heritage e dell’Università di Bologna.
Perché un archivio del codice?
Il progetto Software Heritage è considerato strategico dall’Unesco, che sta collaborando con la francese Inria da ormai 5 anni. Heritage significa eredità, ed il senso del progetto è proprio quello di rendere disponibile un patrimonio immenso di informazioni. Il “mirror” bolognese sarà una copia speculare dell’archivio francese. Il contenuto? Miliardi e miliardi di righe di codice che fanno funzionare la nostra società. Non si parla di libri, ma degli algoritmi che danno vita ai programmi. Istruzioni quindi, codice sorgente invisibile che ad esempio permette di usare Facebook per condividere le nostre foto, di ascoltare musica e guardare film in streaming, di utilizzare il navigatore per orientarsi in città oppure, di prelevare denaro agli sportelli bancomat o più semplicemente, di fare funzionare gli ultimi elettrodomestici intelligenti. Ma il codice “muove” anche i macchinari industriali, le apparecchiature mediche, il mondo del delivery, le catene di montaggio, le automobili, i cellulari, le app e molti programmi di ricerca scientifica basati sul machine learning e sull’intelligenza artificiale.
Bologna Big Code Lab, oltre all’archivio un grande laboratorio di ricerca
A cosa servirà nel concreto Big Code Lab? Innanzitutto a conservare, catalogare e rendere disponibile a tutti il codice che per la sua natura immateriale potrebbe essere facilmente perduto. Si tratta di un numero sterminato di istruzioni, in linguaggi e formati differenti.
Una sfida tecnica di primissimo ordine. Big Code Lab attingerà dal patrimonio già archiviato da Software Heritage. Si parla di 11 miliardi e 875 milioni di file per 171 milioni di progetti. Numeri in costante crescita perché ogni giorno nuovo codice viene salvato, e altro creato.
Solo Linux, il sistema operativo che fa funzionare il web, ha 15 milioni di righe di codice sparse in 40 mila file. Un lavoro di programmazione costante, che cambia e migliora il codice creando nuove versioni (fork), aggiornamenti e patch, vere e proprio “toppe” software che vengono applicate su un programma per correggerne bachi e falle di sicurezza.
Il secondo obiettivo di Big Code Lab è quello di fare in modo che l’archivio possa essere utile per chi col codice ci lavora, i programmatori quindi e in generale tutti coloro che potrebbero riutilizzare il codice e migliorarlo. E’ il caso dei software open source, dotato di una licenza che impone di tenere il codice aperto e ne consente la modifica e la redistribuzione.
Un repository (archivio) del codice servirà anche alle aziende per sviluppare più velocemente nuovi algoritmi partendo dal lavoro già fatto in passato, oppure per trovare e correggere errori e vulnerabilità. In più un archivio come quello del Big Code Lab potrà dare vita a numerosi progetti di ricerca scientifica e industriale. I campi di applicazioni sono tanti e tutti ancora relativamente poco battuti. A cominciare dalla possibilità di creare software capace di apprendere le tecniche necessarie a creare altro software. Un obiettivo possibile grazie agli algoritmi di intelligenza artificiale e all’enorme mole di codice su cui questi stessi algoritmi possono esercitarsi.
C’è anche un intento più storico. Big Code Lab sarà anche un museo del codice. Si potranno trovare software non più funzionanti ma che hanno fatto la storia dell’umanità. Ad esempio il programma alla base del computer di bordo dell’Apollo 11 e Mosaic, il padre dei moderni browser Chrome, Firefox e Microsoft Edge. La conservazione di questi programmi non è scontata.
Se i libri nell’ambiente giusto si possono conservare per centinaia di anni, i supporti magnetici si degradano velocemente. I floppy disk, nati alla fine degli anni 70 e protagonisti con la loro versione da tre pollici e mezzo dall’informatica degli anni 90, non resistono più di 10 anni. Oltre il decennio le informazioni iniziano a degradarsi e a sparire del tutto. Per questo è importante salvare il codice in un luogo sicuro e continuare a curarne conservazione e fruizione.
Bologna Big Code Lab, spiega la fondazione Ifab, “darà anche l’opportunità di ampliare e consolidare le conoscenze su Big Code e sulle tecniche avanzate per l’implementazione di archivi Big Data, coinvolgere giovani ricercatori in un campo d’indagine relativamente nuovo con grandi opportunità di sviluppo e con un forte valore strategico per il sistema economico regionale e per l’inserimento lavorativo qualificato, affrontare il problema del patrimonio digitale sperimentando nuovi metodi per organizzare, archiviare, indicizzare il materiale digitale e renderlo resiliente”.
Change-Makers è il magazine digitale che racconta idee, storie, protagonisti del cambiamento. Scriviamo di cooperazione e innovazione sociale, ambientale, economica, digitale, organizzativa, etica e filosofica.