Dopo circa un anno e mezzo di sviluppo, il progetto ReactOS ha pubblicato la versione 0.4.16 del proprio sistema operativo libero compatibile con applicazioni e driver Windows. È un aggiornamento particolarmente consistente, con 2.808 commit e 381 segnalazioni risolte, che introduce un nuovo installer grafico, migliora il supporto per schede video, audio, dispositivi di archiviazione e rete e, soprattutto, porta avanti un importante processo di modernizzazione del codice proveniente da Wine.
ReactOS occupa una posizione quasi unica nel panorama del Software Libero. Non è una distribuzione GNU/Linux e non è neppure semplicemente un sistema sul quale viene eseguito Wine: il progetto cerca di realizzare un vero sistema operativo libero compatibile a livello binario con l'ecosistema Windows, ricostruendo attraverso codice aperto le API e le infrastrutture sulle quali funzionano programmi e driver progettati per il sistema Microsoft.
Una delle novità immediatamente visibili della versione 0.4.16 è il nuovo programma grafico di installazione.
Fino a oggi ReactOS distribuiva due immagini differenti: una LiveCD, attraverso la quale era possibile provare il sistema senza installarlo, e una BootCD dotata del tradizionale programma di installazione testuale. Con la nuova versione le due modalità vengono riunite in un'unica immagine: dopo l'avvio è possibile provare ReactOS oppure procedere direttamente all'installazione attraverso la nuova interfaccia grafica, che comprende anche le operazioni fondamentali per la gestione delle partizioni.
È un cambiamento apparentemente semplice, ma importante per rendere il progetto più accessibile anche a chi vuole sperimentarlo senza conoscere in anticipo le sue particolarità.
Molto più profondo è il lavoro effettuato sul supporto hardware.
Gli sviluppatori hanno risolto un problema che da tempo provocava forti rallentamenti utilizzando alcuni driver NVIDIA. La causa è stata individuata nella disponibilità insufficiente di determinate strutture della memoria del kernel durante il caricamento dei driver di terze parti. Modificando l'organizzazione della memoria è stato possibile aumentare le risorse disponibili e risolvere il problema. Sono stati affrontati anche inconvenienti con i driver AMD, tra cui la comparsa di finestre OpenGL completamente vuote.
Importanti progressi riguardano anche l'audio. ReactOS dispone ora di un nuovo driver bus per High Definition Audio, che sostituisce la precedente implementazione incompleta e dovrebbe permettere di utilizzare un maggior numero di controller compatibili con Windows XP e Windows Server 2003, compresi dispositivi basati su soluzioni AMD, IDT, NVIDIA, Realtek e SigmaTel.
Il nuovo driver utilizza inoltre Kernel Mode Driver Framework, il framework che Microsoft ha reso open source: un interessante esempio di come codice proveniente anche da ecosistemi differenti possa essere riutilizzato all'interno di un progetto libero.
Un altro cambiamento sostanziale riguarda i dispositivi di archiviazione.
Dal 2009 ReactOS utilizzava UniATA per fornire supporto SATA e AHCI. Con il passare degli anni questo componente era però diventato responsabile di avvii particolarmente lenti e dell'impossibilità di utilizzare il sistema su alcune configurazioni più recenti. ReactOS 0.4.16 introduce quindi un nuovo driver ATA, aumentando il numero degli ambienti nei quali il sistema riesce ad avviarsi correttamente.
Migliora anche la rete, grazie al supporto alle connessioni asincrone. Le applicazioni possono effettuare operazioni di rete senza dover necessariamente restare bloccate in attesa del completamento della connessione, con benefici sia per le prestazioni sia per la compatibilità con programmi che si aspettano di trovare queste API.
Ma probabilmente il cambiamento più importante per il futuro del progetto è meno visibile.
ReactOS utilizza da molti anni parti del codice di Wine per implementare le API Windows. La differenza fondamentale è che Wine traduce queste chiamate affinché possano funzionare sopra sistemi Unix-like, mentre ReactOS integra quel codice direttamente con il proprio kernel compatibile con l'architettura Windows.
Per molto tempo il progetto è rimasto legato a componenti provenienti dalle vecchie serie Wine 2.x e 3.x, perché ReactOS cercava di mantenere una compatibilità molto rigorosa con Windows Server 2003. Questa scelta rendeva però sempre più difficile incorporare il lavoro svolto dalle versioni moderne di Wine.
Gli sviluppatori hanno ora abbandonato quel vincolo e hanno iniziato un'importante sincronizzazione del proprio codice verso Wine 10.0.
Il processo non è ancora terminato, ma ReactOS 0.4.16 contiene già una parte significativa di questo lavoro. Una volta completato, dovrebbe diventare molto più semplice seguire anche Wine 11 e le versioni successive, riducendo progressivamente la distanza tra i due progetti.
Per la prima volta le immagini ufficiali comprendono inoltre WineVDM, aumentando la compatibilità con le vecchie applicazioni Windows a 16 bit.
ReactOS 0.4.16 introduce anche una nuova modalità Server Core, nella quale non viene caricato il normale desktop Explorer pur mantenendo disponibile il sottosistema Win32. L'obiettivo è sperimentare l'utilizzo di ReactOS anche in contesti server ed embedded.
Tutto questo non significa che ReactOS sia diventato improvvisamente un'alternativa pronta a sostituire Windows sui computer utilizzati quotidianamente. Il progetto rimane in fase Alpha e deve ancora affrontare numerosi problemi di stabilità, compatibilità hardware e supporto alle applicazioni moderne.
Ma proprio la versione 0.4.16 mostra quanto sia interessante l'esperimento.
La missione dichiarata dal progetto è consentire di eseguire applicazioni e driver Windows all'interno di un ambiente open source del quale l'utente possa fidarsi. Non significa semplicemente creare un desktop graficamente simile a Windows, ma ricostruire liberamente un'enorme infrastruttura tecnologica sviluppata nel corso di decenni.
È anche un esempio particolarmente efficace di ciò che rende possibile il Software Libero: ReactOS può utilizzare e adattare il lavoro di Wine, integrare componenti liberi provenienti da altri progetti e perfino riutilizzare tecnologie che Microsoft stessa ha successivamente pubblicato come open source.
La versione 0.4.16 non conclude questo percorso.
Dimostra però che, dopo quasi trent'anni dalla nascita del progetto, esiste ancora una comunità disposta a perseguire un'idea estremamente ambiziosa: costruire un sistema operativo libero capace di dialogare con uno degli ecosistemi proprietari più grandi della storia dell'informatica.