Dopo anni di sviluppo e una progressiva apertura del progetto, Microsoft ha ufficialmente annunciato il rilascio di Windows Subsystem for Linux (WSL) come soluzione open source. Questo passo segna un momento storico per l’interoperabilità tra Windows e Linux: la comunità può finalmente contribuire in modo diretto allo sviluppo, apportando correzioni, miglioramenti e nuove funzionalità a uno dei sottosistemi più utilizzati dagli sviluppatori moderni.
È Pierre Boulay (Microsoft) a rimettere le lancette indietro, fino ad aprile 2016, quando il primo quesito proposto agli sviluppatori di WSL fu: “questo progetto sarà open source?”
Da allora sono trascorsi 9 anni e, finalmente, l’azienda di Redmond decide di compiere il grande passo. D’altra parte, Windows Subsystem for Linux è diventato essenziale per eseguire Linux senza abbandonare Windows, con la possibilità di avviare le applicazioni del pinguino in finestra, anche quando dotate di interfaccia grafica.
Architettura e componenti principali di WSL in ottica open source
WSL (Sottosistema Windows per Linux, in italiano) è un sistema complesso suddiviso in componenti che operano sia in ambiente Windows che all’interno di una macchina virtuale Linux “leggera”. Il codice sorgente oggi rilasciato copre vari elementi fondamentali, tra cui:
- Eseguibili a riga di comando:
wsl.exe
,wslconfig.exe
ewslg.exe
, usati per avviare e gestire le distribuzioni Linux installate. - Servizio WSL:
wslservice.exe
è responsabile dell’avvio della VM, delle distro, della condivisione dei file e altro ancora. - Processi Linux: Inclusi
init
,gns
(per il networking),localhost
(per il port forwarding) e altri daemon fondamentali per l’esecuzione. - Server Plan9: Implementazione per la condivisione di file tra Linux e Windows tramite protocollo Plan9.
In realtà, WSL era già parzialmente open source in quanto includeva i seguenti componenti aperti:
microsoft/wslg
: supporto grafico (Wayland e X Server).microsoft/WSL2-Linux-Kernel
: kernel Linux personalizzato per WSL2.
Non sono invece open source i seguenti moduli, in quanto parte integrante dell’immagine di Windows:
lxcore.sys
: driver per WSL 1, esecuzione diretta di binari ELF.p9rdr.sys
ep9np.dll
: per la gestione del filesystem\\wsl.localhost
.
WSL: un viaggio lungo quasi un decennio
Come ricordato in precedenza, l’inizio di WSL risale al 2016, con il rilascio di WSL 1 basato su lxcore.sys
. La prima versione del sottosistema era basato sull’implementazione delle chiamate di sistema Linux direttamente nel kernel Windows. Era un layer di compatibilità che, sebbene pionieristico, mostrò immediatamente evidenti limiti in termini di compatibilità.
Nel 2019 arriva WSL 2, basato su una vera macchina virtuale Linux è capace di offrire piena compatibilità con il kernel Linux.
Nel 2021 WSL è scorporato dal sistema operativo per diventare un’applicazione indipendente, installabile via Microsoft Store. La prima versione stabile, WSL 1.0.0, è arrivata a novembre 2022; con WSL 2.0.0 (settembre 2023) sono arrivate novità sostanziose come la modalità di rete “mirrored”, il DNS tunneling, l’utilizzo delle regole firewall e proxy impostate in Windows e molto altro.
Nel 2024, con l’aggiornamento Windows 11 24H2, Microsoft ha completato la transizione abbandonando la versione legacy (quella basata sul layer di compatibilità) integrata nel sistema operativo, pur mantenendo wsl.exe
per facilitare l’installazione automatica della nuova versione.
La forza della comunità
Un elemento determinante nella crescita di WSL è stata la comunità di sviluppatori e utenti avanzati, che ha contribuito con guide, bug report, workaround e strumenti senza nemmeno poter accedere al codice sorgente.
Con l’apertura ufficiale del progetto, Microsoft riconosce il valore di questo ecosistema e apre le porte a una collaborazione diretta. La speranza è che la community possa ora contribuire in modo ancora più efficace, sviluppando funzionalità, risolvendo problemi e ottimizzando WSL per i più diversi scenari d’uso.
Chiunque voglia approfondire il funzionamento interno del sottosistema o proporre modifiche, ora può farlo direttamente su GitHub. Sono disponibili documentazione tecnica, una panoramica architetturale e una guida per la compilazione e il testing.
Il sottosistema Linux su Windows non è più solo un ponte tra due mondi: è ora una piattaforma condivisa in continua evoluzione.