ついに WSL がオープンソースに
2025年5月19日、9年の時を経てついに WSL がオープンソースになりました。OSS化の要望
WSL が登場したのは2016年のことです。WSL 登場後すぐにユーザーから WSL の OSS 化の要望や期待が Issue に寄せられました。
そして OSS へ
今回 WSL が OSS になりました。ちなみにライセンスは MIT です。
これにより開発者は WSL のソースコードのダウンロードやビルド、ソースコードの改変や新機能の追加、不具合の修正等を行えるようになりました。
また追加した新機能や不具合の修正は、WSL にフィードバック可能です。
すでに OSS になっているコンポーネント
ちなみに WSL に関連するコンポーネントの内、以下のコンポーネントはすでに OSS として提供されています。まだ OSS になっていないコンポーネント
WSL に関連するコンポーネントの内、以下のコンポーネントはまだ OSS になっておらず、Windows のイメージの一部として提供されています。- Lxcore.sys
WSL1向けのカーネル側のドライバー - P9rdr.sys と p9np.dll
Windows から Linux ファイルシステムをリダイレクトする \\wsl.localhost を実現するコンポーネント
WSL コンポーネントの概要
WSL は複数のコンポーネントで構成されています。コンポーネントによっては、Windows 上で動作するコンポーネントもあれば、WSL2 の仮想マシン内で動作するコンポーネントもあります。
これらのコンポーネント構成を見てみましょう。
WSL のコンポーネントを役割別に分類すると、次の4種類に分類できます。
1. コマンドライン
WSL との対話するためのコマンドライン群です。2. WSL サービス
ディストリビューションの利用に先駆け WSL VM やディストリビューションを起動したり、ファイル共有のためのボリュームをマウントしたり、WSL セッションやディストリビューションを管理する WSL の骨幹となるサービスです。3. Linux 側のソフトウェア
WSL の機能を提供するための Linux 側のソフトウェア群です。他にもいくつかあります。
4. Linux 側のファイルを Windows と共有するサーバー
plan9 は Linux 側のファイルを Windows と共有するためのファイルシステムサーバーです。plan9 も Linux 側で動作するプロセスです。
なぜ今になって OSS にしたのか
なぜ WSL は今になって OSS にしたのか、WSL の歴史とともに振り返ってみましょう。2016年に登場
WSL(WSL 1)は2016年に登場し、Windows 10 Anniversary Update で利用できるようになりました。この時の WSL はピコプロセスプロバイダーがベースになっており、lxcore.sys がWindows 上でネイティブに Linux の ELF バイナリーを実行する機能を提供していました。
加えて Windows カーネルで Linux のシステムコールを実装し、これらの合わせ技で WSL 1 が実現されていました。
ちなみに WLS 1 は現在でもサポート対象になっています。
時は経てより最適な互換性を提供するために
WSL 1 登場から時が経つに連れ、Linux の ELF バイナリーの実行に最適な互換性を提供するためには、Linux kernel そのものに頼るべきである。という判断が明瞭になっていきます。そして 2019年に WSL 2 が生まれます。
もっともっと互換性を高めて欲しい
WSL を利用するユーザーが増えるにつれその期待に応える形で WSL に GPU のサポートが加わり、Linux の GUI アプリのサポートが加わり、そして systemd のサポートが加わるなど、WSL に様々な機能が搭載されていきました。WSL コミュニティーの規模拡大と迅速に要望に答えるために
日々拡大していく WSL コミュニティーと、ユーザーが求める要望に積極的に応えていくためには、WSL を Windows とは別にリリースすることで開発速度を高めていく必要がありました。そして 2021年に WSL は Windows のコードベースから分離され、WSL 独自のコードベースへ移行しました。
この新しいコードベース由来の WSL は 2021年7月に WSL 0.47.1 としてリリースされ、Microsoft Store から入手できるようになりました。
ただこの時点でこの WSL は Windows 11 のみがサポート対象であり、また WSL パッケージはプレビュー版という位置づけでした。
この WSL は新しくなった WSL をいち早く体験したいユーザーに向けてリリースされたものでした。
General Availability リリースへ
その後も継続的に WSL パッケージの開発が行われ、2022年の11月、WSL 1.0.0 として GA 版の WSL が登場しました。GA 版 WSL は Windows 10 もサポート対象となりました。
新しい WSL へユーザーの移行を促す
従来の WSL は Windows の一部として提供されており、ユーザーは WSL コンポーネントをインストールすることで WSL を利用していました。GA 版 WSL がリリースされたことで、既存ユーザーを WSL パッケージへ移行させる取り組みが始まりました。
そして Windows 11 24H2 で WSL コンポーネントから WSL パッケージへ移行させる取り組みが開始されました。
引き続き Windows のイメージには wsl.exe が含まれていましたが、ユーザーが WSL パッケージへの移行を容易に行えるよう、最新の WSL パッケージをダウンロードする仕組みが実装されていました。
WSL 2.0.0 でさらなる改良
WSL 2.0.0 ではさらなる改良が行われました。主要な改良は以下のとおりです。
- ミラーリングネットワークのサポート
- DNS トンネリングのサポート
- セッション 0 のサポート
- プロキシーのサポート
- ファイアーウォールのサポート
というわけで
WSL の歴史とともに振り返ってみましたが、WSL を OSS にした主な理由は、コミュニティーの力を借りながら優れた WSL 体験をもっと迅速にユーザーに届けるためです。今後もさらなる発展が楽しみですね。

