Microsoft ha annunciato ufficialmente l'apertura del codice sorgente del Windows Subsystem for Linux (WSL), rendendo finalmente disponibile su GitHub il "cuore tecnologico" che consente l'esecuzione di un ambiente GNU/Linux direttamente all'interno del sistema operativo Windows. Si tratta di un traguardo atteso da anni, che chiude simbolicamente il primo issue aperto nel repository GitHub ufficiale di WSL: "Will this be Open Source?".
Da oggi, chiunque può scaricare, compilare e contribuire attivamente allo sviluppo di WSL, partecipando in prima persona alla sua evoluzione. Il codice è accessibile all'indirizzo microsoft/WSL, con documentazione e riferimenti dettagliati anche su wsl.dev.
COSA VIENE EFFETTIVAMENTE APERTOLa versione open source di WSL comprende numerosi componenti chiave. Tra questi, gli eseguibili a riga di comando come wsl.exe, wslconfig.exe e wslg.exe, oltre al servizio wslservice.exe, responsabile dell'avvio della macchina virtuale e della gestione dei filesystem condivisi. Anche i processi Linux come init, gns e localhost, fondamentali per il networking e il port forwarding, sono ora disponibili nel codice sorgente.
Viene inclusa anche l'implementazione Plan9 per la condivisione di file da Linux verso Windows. Già in precedenza Microsoft aveva reso open source alcuni componenti come microsoft/wslg (per il supporto Wayland e X server) e microsoft/WSL2-Linux-Kernel, il kernel Linux utilizzato da WSL 2.
Restano invece ancora chiusi alcuni elementi fondamentali presenti nell'immagine di Windows: lxcore.sys, driver responsabile del funzionamento di WSL 1, e i componenti p9rdr.sys e p9np.dll per la redirezione del filesystem “\wsl.localhost”.
UNA LUNGA EVOLUZIONE INIZIATA NEL 2016Annunciato per la prima volta alla conferenza BUILD del 2016, WSL è stato inizialmente lanciato come un esperimento basato su lxcore.sys, in grado di eseguire nativamente file ELF e interpretare chiamate di sistema Linux all'interno del kernel Windows. Questo approccio ha dato origine a WSL 1, ancora supportato, ma con limiti crescenti in termini di compatibilità.
Nel 2019 Microsoft ha annunciato WSL 2, basato su una vera macchina virtuale con kernel Linux, migliorando drasticamente la compatibilità con le distribuzioni Linux reali. Da allora il progetto ha guadagnato funzionalità come il supporto GPU, le applicazioni grafiche (tramite wslg) e systemd.
Nel 2021 è iniziata la separazione di WSL dal sistema operativo Windows: il pacchetto è stato distribuito sul Microsoft Store come versione indipendente, a partire dalla release 0.47.1, inizialmente in anteprima solo per Windows 11. La prima versione stabile, WSL 1.0.0, è arrivata nel novembre 2022, con supporto esteso anche a Windows 10.
UN PROGETTO IN CONTINUA ESPANSIONECon il rilascio di WSL 2.0.0, Microsoft ha introdotto ulteriori miglioramenti: networking mirroring, tunneling DNS, supporto al session 0, configurazione di proxy e firewall, e altre ottimizzazioni. L'ultima versione disponibile, al momento dell'annuncio, è WSL 2.5.7, distribuita attraverso GitHub dopo ben nove pagine di release a partire dalla prima versione Store.
Il passaggio a una distribuzione indipendente ha permesso a Microsoft di accelerare lo sviluppo, ma è stato il contributo della community a rendere il progetto ciò che è oggi. Nonostante l'assenza di codice sorgente, molti utenti hanno fornito bug report, suggerimenti e persino implementazioni migliorative. L'apertura del codice è quindi il riconoscimento formale di un rapporto già profondo tra Microsoft e la comunità open source.
UNA NUOVA FASE PER LA COMMUNITYOra che il codice di WSL è finalmente pubblico, chiunque potrà studiarne il funzionamento, proporre modifiche, correggere errori o aggiungere nuove funzionalità. Microsoft invita chiunque sia interessato a visitare il repository GitHub per scoprire come contribuire.
Il rilascio open source di WSL segna un cambio di paradigma importante: da componente nativo integrato in Windows a progetto open, autonomo, e pienamente partecipativo. Un'ulteriore conferma del percorso di apertura che Microsoft ha intrapreso da anni, e che oggi coinvolge uno degli strumenti più utilizzati dagli sviluppatori.