Ventiquattr'ore di open source: dalla sveglia a Marte, senza accorgertene
Un venerdì qualunque, con un contatore in mano: un database benedetto che vola sull'A350, 47 marchi d'auto senza un solo sponsor, parchi finti per Pokémon Go, un elicottero su Marte e un buco nero fatto con NumPy. I vantaggi dell'open source, uno all'ora.
Venerdì 12 settembre, 6:58. La sveglia suona due minuti prima del previsto, perché ieri sera, dopo aver scelto una licenza per il ricettario di nonna Pina, hai sbagliato a impostarla. Ti resta in testa una domanda della settimana: va bene, l'open source viene sfruttato e le licenze sono un piccolo ricettario giuridico. Ma in pratica, a te, cosa ha dato?
Decidi di fare un esperimento. Oggi conti. Ogni volta che usi qualcosa che funziona grazie a codice aperto, te lo segni. Non ti aspetti di arrivare a mezzanotte con una lista così lunga, né che passi da Marte.
6:58 — Mille miliardi di database e una benedizione
La sveglia sta su un telefono. Se è Android, sotto c'è Linux. Se è un iPhone, c'è comunque parecchio codice aperto, a cominciare da WebKit. Ma in entrambi i casi c'è sicuramente una cosa: SQLite. Le sveglie, i contatti, i messaggi, la cronologia del browser, le foto: quasi ogni app salva i suoi dati in un database SQLite, un singolo file sul disco. Secondo i suoi autori ce ne sono più di mille miliardi in uso, e SQLite è con ogni probabilità la libreria software più diffusa del pianeta dopo zlib.
Puoi verificarlo dal computer, a colazione. Anche la cronologia di Firefox è un database SQLite (copialo prima di aprirlo, perché il browser lo tiene bloccato):
$ cp ~/.mozilla/firefox/*.default-release/places.sqlite /tmp/storia.sqlite
$ sqlite3 /tmp/storia.sqlite \
"SELECT visit_count, url FROM moz_places ORDER BY visit_count DESC LIMIT 5;"Il risultato è imbarazzante come previsto. Ma la parte più bella di SQLite non è tecnica. Il codice è di pubblico dominio, e in cima a ogni file, al posto della licenza, c'è una benedizione:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
Che tu faccia del bene e non del male, che tu trovi il perdono per te stesso e perdoni gli altri, che tu condivida liberamente senza mai prendere più di quanto dai. Dopo la settimana che hai passato, l'ultima riga ti sembra scritta per le aziende del Dott. Brambilla.
Il vantaggio numero uno, però, è un altro: l'affidabilità. SQLite ha circa 590 volte più righe di test che di codice, e dal 2009 i suoi test raggiungono il 100% di copertura MC/DC: un'infrastruttura di test progettata, raccontano gli autori, per soddisfare lo standard avionico DO-178B, dopo che alcuni costruttori di aerei si erano interessati al progetto. Non è un caso: Airbus conferma che SQLite gira nel software di volo dell'A350. Lo stesso database che conserva la tua cronologia vola a 11.000 metri. E dato che è uno solo, testato da tutti e usato da tutti, ogni bug trovato da qualcuno viene corretto per tutti.
Contatore: 3 (Linux, WebKit, SQLite). E non sei ancora uscito dal letto.
8:05 — La macchina che legge le licenze
Accendi l'auto. Il sistema di infotainment impiega i soliti venti secondi ad avviarsi, che sono il tempo che ci mette un kernel Linux a fare il boot su hardware economico. Molti costruttori lo usano direttamente, e Toyota, a partire dalla Camry del 2018, basa i suoi sistemi su Automotive Grade Linux, un progetto della Linux Foundation condiviso tra marchi concorrenti: preferiscono collaborare sulla parte noiosa e competere su quella che si vede.
Un giorno, aspettando un semaforo particolarmente lungo, apri la schermata «Informazioni legali» del navigatore. È un muro di testo: decine di licenze, centinaia di nomi. Tra questi c'è quasi certamente curl, la libreria che scarica le mappe, gli aggiornamenti e il meteo. Daniel Stenberg, che la mantiene, ad agosto ha aggiornato il conto: 47 marchi d'auto, per diverse centinaia di milioni di veicoli. E ha aggiunto, con la pazienza di chi ha letto il manuale degli scrocconi, che nessuna delle aziende che producono quelle auto, o il loro software, è sponsor di curl o cliente del suo supporto. Nessuno ha dovuto scrivere da zero un client HTTP con TLS, IPv6, proxy e tutte le stranezze di un protocollo che ha trent'anni. E quando qualcuno ci trova un bug di sicurezza, la correzione arriva a tutte le auto contemporaneamente.
È il secondo vantaggio, il più sottovalutato: non reinventare la ruota. Un componente maturo, usato da milioni di prodotti, è più robusto di qualsiasi cosa un team interno possa scrivere in un trimestre.
Contatore: 5.
10:30 — La mappa che hanno disegnato tutti
In ufficio devi organizzare una consegna e apri una mappa. Molte app che usano mappe (corsa, bici, escursionismo, logistica) si appoggiano a OpenStreetMap, una mappa del mondo disegnata da volontari, con una licenza aperta.
Due storie poco note. La prima: a gennaio 2010, dopo il terremoto di Haiti, Port-au-Prince sulle mappe era poco più di una macchia. Nel giro di pochi giorni centinaia di volontari di OpenStreetMap, da decine di paesi, lavorando da casa su immagini satellitari, ne hanno disegnato strade, edifici e campi di sfollati. Le squadre di soccorso e il Programma alimentare mondiale hanno usato quella mappa. Da quell'esperienza è nato lo Humanitarian OpenStreetMap Team, che oggi interviene in quasi ogni grande emergenza.
La seconda è più leggera. Dal 2017 Pokémon Go usa OpenStreetMap come mappa di base, e molti giocatori si sono convinti che parchi, sentieri e laghetti sulla mappa decidessero dove compaiono certi Pokémon. Così i volontari di OpenStreetMap si sono ritrovati a cancellare parchi e laghetti inesistenti, disegnati nei cortili di casa da chi voleva un Pokémon raro sotto la finestra: uno studio presentato nel 2019 ha contato oltre 1.500 interventi di ripristino che hanno annullato più di 4.000 modifiche vandaliche. Il rovescio della medaglia di una mappa che chiunque può modificare è che chiunque può modificarla. Ma la stessa comunità aperta che la subisce è anche quella che la ripulisce.
Contatore: 6.
13:10 — Il tuo codice è stato su Marte
Pausa pranzo. Scorri GitHub e ti fermi sul profilo di un collega. Tra i suoi trofei c'è un badge che non avevi mai notato: un piccolo elicottero, con scritto Mars 2020 Helicopter Mission.
La storia è questa. Il 19 aprile 2021 Ingenuity, un elicottero di 1,8 kg, è decollato da Marte: il primo volo motorizzato e controllato su un altro pianeta. Dentro, sotto il pannello solare, c'era un pezzetto di tela dell'aereo dei fratelli Wright. E c'era Linux, su un processore Qualcomm Snapdragon 801, lo stesso dei telefoni di qualche anno prima. Il software di volo era costruito su F´ (si legge F prime), un framework del Jet Propulsion Laboratory della NASA pubblicato come open source: puoi scaricarlo da GitHub e usarlo per il tuo cubesat. Linux, tra l'altro, non era nemmeno il piano A: il sistema operativo proprietario usato sui rover non era disponibile per quel processore. Il progetto prevedeva cinque voli dimostrativi. Ingenuity ne ha fatti 72, in quasi tre anni, prima che una pala danneggiata chiudesse la missione a gennaio 2024.
Per festeggiare il primo volo, GitHub ha dato quel badge a quasi dodicimila sviluppatori: il JPL aveva fornito l'elenco delle versioni di tutti i progetti open source usati da Ingenuity, e GitHub ha premiato chi aveva contribuito a quelle versioni. Gente che aveva corretto un bug in una libreria Python, o migliorato una pagina di documentazione, ha scoperto così che il proprio codice era servito per volare su un altro pianeta.
È il terzo vantaggio, quello che fa venire i brividi: il tuo lavoro va dove non avresti mai immaginato. E a volte va su Marte.
Contatore: 8 (Linux su Marte conta di nuovo, e F´ è nuovo).
15:45 — La scienza che si può rifare
Il pomeriggio è lento, e ti perdi in una pagina di Wikipedia (contatore: 9) sulla prima foto di un buco nero, quello al centro della galassia M87, pubblicata ad aprile 2019 dalla collaborazione Event Horizon Telescope. Otto radiotelescopi in giro per il mondo, petabyte di dati spediti su dischi rigidi, perché nessuna rete era abbastanza veloce. E per trasformarli in un'immagine: Python, NumPy, SciPy, Matplotlib, Astropy. Le stesse librerie che usi tu per fare un grafico delle vendite.
Non è un caso isolato. Il bosone di Higgs, nel 2012, è stato trovato analizzando i dati del CERN con ROOT, un framework open source sviluppato al CERN stesso. Le onde gravitazionali, nel 2015, sono state misurate da LIGO, che ha poi pubblicato sia i dati sia il software di analisi: chiunque può scaricarli e ritrovare il segnale di due buchi neri che si fondono a oltre un miliardo di anni luce. E la pipeline che elabora le immagini del telescopio spaziale James Webb è su GitHub, con le sue issue e le sue pull request, come qualsiasi altro progetto.
È il quarto vantaggio, forse il più importante: la verificabilità. Un risultato scientifico ottenuto con software chiuso è una scatola nera: devi fidarti. Con il codice aperto puoi rifare il calcolo, trovare l'errore, o confermare che non c'è. La scienza funziona così da quattro secoli. Il software aperto le ha permesso di continuare a funzionare così anche quando i calcoli sono diventati troppo grandi per farli a mano.
Contatore: 15.
20:30 — Due miliardi di chat e un pezzo di internet
A cena scrivi su WhatsApp per organizzare il weekend. Pochi sanno che WhatsApp è nato su Erlang, un linguaggio progettato da Ericsson negli anni Ottanta per le centrali telefoniche e pubblicato come open source nel 1998. Erlang gestisce milioni di processi leggerissimi, isolati tra loro, che si scambiano messaggi. Puoi provarlo sul tuo portatile:
$ erl +P 2000000
1> T0 = erlang:monotonic_time(millisecond),
1> Pids = [spawn(fun() -> receive stop -> ok end end) || _ <- lists:seq(1, 1000000)],
1> erlang:monotonic_time(millisecond) - T0.
%% un milione di processi in un paio di secondi, qualche GB di RAMNel 2012 gli ingegneri di WhatsApp raccontavano di gestire due milioni di connessioni simultanee su un singolo server FreeBSD. Quando Facebook comprò l'azienda, nel 2014, per 19 miliardi di dollari, WhatsApp aveva 450 milioni di utenti attivi e 32 ingegneri. Una piccola squadra ha potuto servire mezzo pianeta perché non ha dovuto costruire da zero né il sistema operativo né il runtime: li ha presi, e dove servivano li ha modificati.
Dopo cena, una serie. Il video che stai guardando arriva quasi certamente da un server Open Connect di Netflix, una cache installata direttamente nella rete del tuo provider. Sopra gira FreeBSD con nginx. Gli ingegneri di Netflix hanno spostato la cifratura TLS dentro il kernel (kernel TLS), hanno contribuito il lavoro al progetto FreeBSD, e alla EuroBSDCon del 2022 hanno raccontato come servono quasi 800 gigabit al secondo di video cifrato da un singolo server. Hanno potuto farlo perché avevano i sorgenti: con un sistema chiuso avrebbero dovuto chiedere il permesso, e aspettare.
Il quinto vantaggio: la libertà di modificare. Quando hai esigenze estreme, nessun fornitore costruirà la soluzione per te. Con il codice aperto puoi farlo da solo, e poi regalare la modifica a tutti.
La TV su cui guardi la serie, peraltro, gira su Linux: webOS per LG, Tizen per Samsung. Contatore: 21.
23:40 — Nello spazio, ma più vicino
Prima di dormire guardi un video sul passaggio della Stazione Spaziale Internazionale sopra l'Italia. Altra storia poco nota: nel 2013 i portatili usati dagli astronauti per le funzioni principali sono passati da Windows XP a Debian Linux. Il responsabile della migrazione spiegò che serviva un sistema operativo «stabile e affidabile», e il team voleva poter applicare aggiornamenti e correzioni con i propri tempi: qualche anno prima un worm, arrivato a bordo con un portatile infetto, si era diffuso agli altri computer della Stazione. E quando, nel 2020, la capsula Dragon di SpaceX ha portato i primi astronauti alla Stazione, i grandi touchscreen davanti all'equipaggio avevano un'interfaccia scritta in JavaScript e disegnata da Chromium, il progetto open source alla base di Chrome. Il software di volo vero e proprio è separato, scritto in C++, e gira su Linux.
È l'ultimo vantaggio, e li riassume tutti: il controllo. Quando sbagliare costa vite umane, vuoi poter leggere ogni riga, correggerla senza aspettare nessuno, e sapere che fra dieci anni potrai ancora farlo, anche se l'azienda che l'ha scritta non esiste più.
Il contrappunto: gratis come un cucciolo
Per onestà, ti segni anche i casi in cui l'open source non è stato una passeggiata. Nella comunità si dice che è «gratis come un cucciolo»: non lo paghi, ma poi va nutrito, portato fuori e curato. Le librerie vanno aggiornate, le vulnerabilità seguite, e se qualcosa si rompe alle tre di notte non c'è un numero verde da chiamare (a meno di pagare chi offre supporto, cosa che si può fare e che dovresti fare più spesso). Alcuni programmi desktop hanno interfacce che sembrano progettate per punirti, e l'anno di Linux sul desktop è stato annunciato più o meno ogni anno dal 1999. E soprattutto c'è il problema di cui hai letto mercoledì: molti progetti critici reggono sulle spalle di poche persone stanche e non pagate. L'open source ti dà moltissimo, ma non ti esenta dal restituire qualcosa.
Mezzanotte
Guardi la lista. Ventidue voci, ed è sicuramente incompleta: non hai contato il server che ti ha mandato la mail di lavoro, il router di casa, il firmware della lavatrice, il sito della banca, i compilatori con cui è stato costruito tutto il resto. In una sola giornata qualunque, dalla sveglia alla serie TV, sei passato per una città mappata da volontari, un database benedetto, un elicottero su Marte, un buco nero e una capsula spaziale.
Spegni la luce. Sul telefono, un database SQLite registra che la sveglia di domani è alle nove. Che faccia del bene e non del male.
Fonti
- SQLite: Most Widely Deployed, Well-Known Users (Airbus A350), How SQLite Is Tested, TH3 e DO-178B
- Daniel Stenberg, car brands running curl (agosto 2025)
- Linux Foundation, Automotive Grade Linux debutta sulla Toyota Camry 2018
- World Bank, la risposta di OpenStreetMap al terremoto di Haiti
- OpenStreetMap, Niantic passa a OSM per Pokémon Go (2017); Juhász et al., Exploring the Effects of Pokémon Go Vandalism on OpenStreetMap (SotM 2019)
- GitHub, Open source goes to Mars e The ReadME Project su Ingenuity; NASA JPL, F´ su GitHub
- NASA, la fine della missione Ingenuity
- NumPy, case study sulla prima immagine di un buco nero; CERN, ROOT; Gravitational Wave Open Science Center; STScI, pipeline di JWST
- WhatsApp, 1 million is so 2011 (2012)
- Drew Gallatin, The "other" FreeBSD optimizations used by Netflix to serve video at 800Gb/s (EuroBSDCon 2022)
- The Register, la ISS passa a Debian (2013); The New Stack, The Hardware and Software Used in Space (SpaceX)