Qt 6.12 è disponibile. Pubblicata il 30 settembre 2026, la nuova versione del framework multipiattaforma è una release Long Term Support che sarà mantenuta per cinque anni e introduce miglioramenti importanti sul fronte della sicurezza, delle prestazioni grafiche e degli strumenti destinati agli sviluppatori. Dietro le singole novità c'è però una questione ancora più interessante: come si costruisce un'infrastruttura software capace di rimanere affidabile e mantenibile nel tempo?
Per molti utenti GNU/Linux il nome Qt è inevitabilmente associato a KDE Plasma, ma limitarsi a questa relazione significherebbe descrivere soltanto una parte molto piccola del progetto. Qt è infatti un framework attraverso il quale gli sviluppatori possono costruire applicazioni grafiche e servizi destinati a sistemi operativi e dispositivi molto differenti, condividendo una parte considerevole dello stesso codice.
Lo incontriamo quindi nei programmi desktop, nei sistemi embedded, nell'automotive, nei dispositivi industriali e in moltissimi altri contesti nei quali è necessario costruire interfacce e applicazioni che possano funzionare su piattaforme differenti.
Nel mondo del Software Libero rappresenta soprattutto una delle fondamenta tecnologiche dell'ecosistema KDE: Plasma, Dolphin, Okular, Krita, Kdenlive e numerose altre applicazioni utilizzano Qt, direttamente o attraverso i framework sviluppati dalla comunità KDE.
Questo significa che una nuova versione LTS non riguarda soltanto gli sviluppatori del framework, ma costituisce una base sulla quale potranno essere costruiti e mantenuti molti altri programmi negli anni successivi.
La sigla LTS, Long Term Support, assume proprio per questo un'importanza particolare.
Qt 6.12 prevede un periodo di manutenzione di cinque anni, fino al settembre 2031. In un settore nel quale siamo ormai abituati a vedere versioni succedersi continuamente, potrebbe sembrare strano considerare una caratteristica importante il fatto che un programma rimanga stabile per molto tempo, ma esistono contesti nei quali proprio questa stabilità è essenziale.
Un computer personale può essere aggiornato frequentemente e, se qualcosa non funziona, l'utente può generalmente intervenire in tempi relativamente brevi; un sistema industriale, un dispositivo medicale, un'automobile, un terminale o una macchina incorporata all'interno di un'infrastruttura possono invece dover continuare a funzionare per molti anni, mentre sostituirne continuamente la piattaforma software può essere costoso, complesso o addirittura impossibile.
Una versione LTS cerca quindi di offrire un equilibrio tra evoluzione e continuità: fissare una base tecnologica sufficientemente moderna e continuare a correggerla e mantenerla senza obbligare chi la utilizza a inseguire continuamente una nuova generazione del framework.
Tra le novità più visibili di Qt 6.12 troviamo il QML Hot Reload, ora integrato direttamente nel motore QML.
QML è il linguaggio dichiarativo utilizzato da Qt per costruire molte interfacce moderne e, fino a oggi, modificare una parte dell'interfaccia poteva richiedere di interrompere e riavviare ripetutamente l'applicazione per osservare il risultato. Con il nuovo meccanismo di hot reload diventa possibile modificare il codice QML e vedere le conseguenze direttamente nell'applicazione in esecuzione.
Per chi sviluppa un'interfaccia può significare ridurre considerevolmente il ciclo che separa una modifica dalla possibilità di verificarla, rendendo più rapido il lavoro su layout, componenti e comportamento dell'applicazione.
Migliora anche il rendering grafico.
Qt Canvas Painter, il nuovo motore accelerato per il disegno imperativo, esce dalla fase Technology Preview, mentre viene introdotto Canvas2D per rendere più semplice la costruzione di grafica bidimensionale attraverso QML. Lo stesso lavoro permette inoltre di migliorare le prestazioni di Qt Graphs, mostrando come una nuova infrastruttura grafica possa essere riutilizzata da componenti differenti invece di essere costruita separatamente per ogni applicazione.
Qt 6.12 introduce inoltre StyleKit, ancora in fase sperimentale, con l'obiettivo di facilitare la costruzione di uno stile coerente nelle applicazioni che combinano le tradizionali Qt Widgets con Qt Quick. È un problema tutt'altro che marginale per progetti di grandi dimensioni, nei quali parti dell'interfaccia possono essere state sviluppate in momenti differenti utilizzando tecnologie diverse e devono comunque apparire come componenti dello stesso programma.
Ci sono poi numerosi miglioramenti meno immediatamente visibili, ma importanti per chi costruisce applicazioni complesse: QRangeModel aggiunge ordinamento integrato, controllo del drag and drop e ricerche più rapide, mentre Qt gRPC migliora l'efficienza della comunicazione attraverso la compressione lato client e nuovi limiti per la dimensione dei messaggi ricevuti.
La nuova versione aggiunge inoltre HarmonyOS come piattaforma LTS ufficialmente supportata, ampliando ulteriormente l'insieme dei sistemi sui quali Qt può essere utilizzato con garanzie di manutenzione a lungo termine.
È però sul fronte della sicurezza che Qt 6.12 offre forse lo spunto più interessante.
Il progetto dichiara di aver rafforzato procedure, strumenti e documentazione per rispondere alle nuove esigenze poste dal Cyber Resilience Act dell'Unione Europea, la normativa che introduce obblighi di sicurezza per molti prodotti contenenti componenti digitali.
Qui è necessaria una distinzione importante.
La dichiarazione di conformità al CRA annunciata da Qt Group riguarda Commercial Qt 6.12 LTS e non significa che qualsiasi programma costruito utilizzando Qt diventi automaticamente conforme alla normativa europea. Chi realizza il prodotto finale mantiene i propri obblighi e deve verificare l'intero sistema, comprese le altre dipendenze, la configurazione e il modo nel quale il prodotto viene distribuito e mantenuto.
Il lavoro realizzato sul framework rimane però interessante anche per l'ecosistema libero, perché la sicurezza di un'infrastruttura condivisa non riguarda soltanto chi acquista un contratto commerciale.
Qt sottolinea, tra le altre cose, la disponibilità di procedure per la gestione delle vulnerabilità, l'attenzione alle dipendenze, la possibilità di produrre informazioni utili alla Software Bill of Materials, la cosiddetta SBOM, e un approccio nel quale i componenti critici per la sicurezza vengono identificati più chiaramente all'interno del codice.
La SBOM è un concetto destinato probabilmente a diventare sempre più importante.
Possiamo immaginarla come una sorta di elenco degli ingredienti di un programma: quali librerie utilizza, quali componenti incorpora e quali dipendenze contribuiscono a costruire il prodotto finale. Quando viene scoperta una vulnerabilità in una determinata libreria, conoscere con precisione quali prodotti la utilizzano permette di capire molto più rapidamente dove sia necessario intervenire.
È un problema che il Software Libero conosce particolarmente bene perché un programma moderno raramente nasce completamente da zero. Utilizza librerie, toolkit, compilatori, parser, componenti crittografici e moltissimi altri elementi sviluppati da progetti differenti.
Questa possibilità di riuso rappresenta una delle grandi forze del Software Libero, ma introduce contemporaneamente una responsabilità: conoscere ciò da cui dipendiamo e continuare a mantenerlo.
Ed è proprio qui che una versione LTS come Qt 6.12 diventa interessante anche al di là delle nuove funzioni.
Quando un progetto decide di costruire la propria applicazione su Qt non sta semplicemente scegliendo un insieme di pulsanti, finestre e strumenti grafici, ma sta adottando un'infrastruttura che entrerà a far parte della propria catena tecnologica. Se quella base viene abbandonata troppo rapidamente, anche tutto ciò che è stato costruito sopra di essa diventa più difficile da mantenere.
La manutenzione a lungo termine è quindi una parte fondamentale della sostenibilità del software.
Questo vale ancora di più per il Software Libero, dove tendiamo talvolta a concentrare l'attenzione sulla disponibilità del codice sorgente dimenticando che un codice aperto ma non più mantenuto può diventare rapidamente inutilizzabile o insicuro.
La libertà di studiare, modificare e redistribuire un programma rimane essenziale, ma affinché quella libertà continui ad avere un valore concreto servono persone che correggano vulnerabilità, aggiornino le dipendenze, adattino il software alle nuove piattaforme e conservino la conoscenza necessaria per comprenderne l'architettura.
Qt è un esempio particolarmente interessante perché vive all'incrocio tra comunità libera e sviluppo commerciale.
Il framework è disponibile attraverso licenze libere come GPL e LGPL, mentre Qt Group offre parallelamente licenze e servizi commerciali. È un modello che nel corso degli anni ha generato anche discussioni e tensioni all'interno della comunità, ma che ha contemporaneamente permesso a Qt di essere utilizzato in contesti estremamente differenti, dalle applicazioni comunitarie ai prodotti industriali.
Per il mondo GNU/Linux la presenza di un toolkit libero e multipiattaforma di questa portata ha avuto conseguenze enormi.
Ha permesso a KDE di costruire non soltanto un ambiente desktop, ma un ecosistema completo di applicazioni; ha consentito a programmi liberi come Krita e Kdenlive di raggiungere sistemi operativi differenti e ha dimostrato che un'applicazione complessa non deve necessariamente essere riscritta completamente ogni volta che cambia la piattaforma sulla quale viene eseguita.
Anche questa è una forma di interoperabilità.
Non significa semplicemente fare in modo che due programmi possano scambiarsi un file, ma ridurre la dipendenza tra un'applicazione e un singolo sistema operativo, permettendo agli sviluppatori di raggiungere utenti differenti senza consegnare necessariamente il proprio progetto a una tecnologia esclusiva di una piattaforma.
Qt 6.12 arriva quindi con numerose novità tecniche, ma la caratteristica che probabilmente avrà le conseguenze più durature è scritta semplicemente in tre lettere: LTS.
Cinque anni di manutenzione significano offrire agli sviluppatori una base sulla quale poter progettare non soltanto la prossima release, ma una parte significativa della vita futura delle proprie applicazioni.
Ed è una lezione che vale ben oltre Qt.
Un'infrastruttura digitale libera non è realmente solida soltanto perché possiamo scaricarne il codice: deve essere comprensibile, verificabile, aggiornabile e soprattutto mantenibile nel tempo.
Il Software Libero ci offre la possibilità di costruire insieme questi strumenti; la sfida successiva, spesso molto più difficile, consiste nel fare in modo che continuino a funzionare quando l'entusiasmo per la nuova versione è ormai passato.
Qt 6.12 LTS prova a garantire proprio questa continuità, portando una delle infrastrutture fondamentali del desktop libero verso il prossimo decennio.