Vai al contenuto
Offerte

Monaco di Baviera finanzia libexpat, la libreria XML su 2.700 server

In questo articolo Indice dei contenuti 3 sezioni

Monaco di Baviera ha deciso di mettere soldi pubblici in un pezzo di software che quasi nessuno conosce, ma che gira su migliaia di macchine cittadine. Parliamo di libexpat, una piccola libreria scritta in C che serve ad analizzare i file XML. Sembra un dettaglio tecnico lontano anni luce dalle scelte politiche di una grande città, eppure per la seconda metà del 2026 l’amministrazione bavarese ha assegnato il suo Open Source Sabbatical proprio a questo progetto, destinando risorse a manutenzione, sicurezza e sviluppo del parser.

Il motivo è tutt’altro che astratto. Le scansioni fatte dall’amministrazione hanno trovato libexpat su almeno 2.700 server Linux municipali. E non finisce lì, perché la stessa libreria compare dentro la catena software di applicazioni note come Firefox, QGIS, WinSCP, Audacity e Python, oltre che in vari prodotti proprietari che la città tedesca usa tutti i giorni.

Monaco finanzia il lavoro sul codice che usa davvero

L’idea di pagare gli sviluppatori per dedicarsi a progetti liberi non nasce oggi. Risale a una proposta portata in consiglio comunale nell’ottobre 2020. Poi, a febbraio 2023, Monaco ha dato il via libera all’Open Source Hub, poi confluito nelle attività dell’Open Source Programme Office cittadino. Il primo progetto scelto è arrivato nella prima metà del 2025 con Integreat-Chat. Nel 2026 il tiro cambia del tutto: non più un’app rivolta ai cittadini, ma una libreria di infrastruttura che lavora dietro le quinte, silenziosa, senza mai farsi notare.

Il meccanismo del Munich Open Source Sabbatical parte da un principio semplice. Uno sviluppatore qualificato può dedicare un periodo limitato a un progetto utile alla città senza doverlo fare per forza nel tempo libero. Possono partecipare sia i dipendenti dell’amministrazione sia sviluppatori esterni. Per questi ultimi Monaco prevede forme di compensazione economica che permettono di sospendere per un po’ la normale attività professionale. La documentazione municipale parla, tra le varie opzioni, di un’assunzione a termine tramite la società di consulenza digitale della città.

In pratica Monaco ha costruito un meccanismo amministrativo per trasformare la manutenzione open source in un lavoro finanziabile, invece di appoggiarsi solo alla buona volontà dei volontari. È un tasto dolentissimo. Daniel Stenberg, ideatore e principale sviluppatore di curl, altro componente presente in miliardi di installazioni, non ci ha girato attorno: “non ce la facciamo più”, ha detto senza troppi giri di parole.

Molte organizzazioni usano il software libero tramite distribuzioni Linux, linguaggi, browser, librerie e appliance senza avere alcun rapporto con chi mantiene le dipendenze a monte. Monaco fa il contrario: risale la catena, identifica un componente presente nella propria infrastruttura e ci investe tempo di sviluppo diretto.

Cos’è libexpat e perché si trova praticamente ovunque

libexpat, chiamata spesso solo Expat, è una libreria scritta in C che serve ad analizzare documenti XML 1.0. Funziona con un modello orientato allo streaming: l’applicazione fornisce i dati al parser un pezzo alla volta ed Expat genera eventi tramite funzioni di callback quando incontra, per esempio, l’apertura di un elemento, la sua chiusura, testo, attributi, dichiarazioni o entità. Non serve caricare tutto il documento XML in memoria e costruire un albero completo come farebbe un parser DOM.

Proprio per questo Expat va bene anche con flussi grossi o con programmi in cui contano consumi di memoria bassi e tempi di elaborazione prevedibili. La sua API in C e la lunga storia del progetto ne hanno favorito una diffusione enorme. Python, tanto per fare un nome, espone Expat attraverso xml.parsers.expat e il modulo pyexpat sottostante. Mozilla ne tiene una copia dentro il codice di Firefox e la aggiorna quando escono nuove release. Altri programmi la collegano direttamente o la ricevono per via indiretta attraverso pacchetti e dipendenze.

Il 2026 ha mostrato quanto costa tenere sicuro un parser XML

La mossa di Monaco capita in un momento parecchio intenso per il progetto. Expat 2.7.4, uscito il 31 gennaio 2026, portava già con sé correzioni di sicurezza. La versione 2.7.5 del 17 marzo ne ha sistemate altre tre, catalogate come CVE-2026-32776, CVE-2026-32777 e CVE-2026-32778. Uno degli obiettivi dichiarati è lavorare sulle vulnerabilità note ancora senza una soluzione definitiva e sulle nuove segnalazioni arrivate durante quella che la città tedesca chiama una striscia lunghissima, impossibile da prendere sottogamba se non si vogliono guai ben più seri.

Monaco ha scelto di partire dai componenti che ha davvero dentro casa e di sostenere lavoro che ricade direttamente sul codice pubblico. Il mondo delle imprese, dal canto suo, si è accorto solo di recente che una fetta importante della sicurezza informatica poggia su codice open source poco visibile e su persone, quasi sempre non pagate, che devono ritagliarsi il tempo per mantenerlo. Pagare quel tempo, quando il software regge migliaia di sistemi pubblici, non è beneficenza tecnologica. È manutenzione dell’infrastruttura digitale, solo eseguita qualche piano più in basso rispetto a quello che di solito finisce nei contratti IT.

Condividi:
135 Condivisioni