Fundamentals 7 min read

Why Microsoft Finally Open‑Sourced WSL: History, Architecture, and What’s Now Available

The article explains how Microsoft announced the open‑source release of Windows Subsystem for Linux (WSL) at Build 2025, reviews its evolution from WSL 1 to WSL 2 and WSLg, details the components now on GitHub, and highlights the remaining closed‑source parts and community contribution guidelines.

macrozheng
macrozheng
macrozheng
Why Microsoft Finally Open‑Sourced WSL: History, Architecture, and What’s Now Available

Microsoft Announces WSL Open‑Source at Build 2025

During the recent Microsoft Build 2025 developer conference, Microsoft officially open‑sourced Windows Subsystem for Linux (WSL), making its code publicly available on GitHub and inviting community contributions.

What Is WSL?

WSL allows users to run a full Linux environment directly inside Windows without needing a dual‑boot setup or a heavyweight virtual machine, providing seamless file‑system integration and command‑line tool support.

Evolution of WSL

Initial Compatibility Layer (WSL 1, 2016) : Implemented a compatibility layer (lxcore.sys) that translated Linux system calls to Windows calls, enabling native execution of ELF binaries but with limited compatibility and performance.

Mid‑Stage Expansion (WSL 2, 2019) : Re‑architected using a lightweight Hyper‑V virtual machine to run a full Linux kernel, dramatically improving compatibility and performance.

WSLg (2021) : Added support for Linux GUI applications and moved WSL distribution to an independent component installable via the Microsoft Store.

Recent Enhancements (2022‑2024) : Added systemd support, GPU acceleration, multi‑distribution handling, and various performance optimizations.

Components Now Open‑Source

The following core components are released under an open‑source license and can be found in the WSL GitHub repository:

wsl.exe – command‑line interface (open‑source)

wslg.exe – GUI support executable (open‑source)

wslconfig.exe – configuration tool (open‑source)

wslservice.exe – service manager (open‑source)

init – Linux init process (open‑source)

gns – network service (open‑source)

localhost – port‑forwarding component (open‑source)

plan9 – Plan 9 file‑sharing implementation (open‑source)

Components Still Closed‑Source

Some low‑level Windows components remain proprietary and are not part of the open‑source release:

Lxcore.sys

– kernel driver for WSL 1

P9rdr.sys

and

p9np.dll

– Plan 9 file‑system redirection components

Community and Contribution

Since its initial release, the WSL project has benefited from a vibrant community that contributed bug reports, feature requests, and discussions on GitHub. With the source now open, developers can clone the repository, build the system themselves, and submit pull requests or new features following the detailed contribution guide provided by Microsoft.

System Architectureopen sourceMicrosoftWSLWindows Subsystem for Linux
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.