マイクロソフトは、Windows Subsystem for Linux(WSL)がオープンソースになったと発表しており、同社自身の発表では、この変更に至る長い経緯も説明している。WSLを動かすコードは現在、GitHubのMicrosoft/WSLリポジトリで公開されており、開発者はそれをダウンロードし、ソースからビルドし、修正や機能を追加して、プロジェクトの活発な開発に参加できる。この措置により、長年提供されてきたWindowsの機能は、OSの一部としてのみ配布されるブラックボックスではなく、外部から確認できるオープンソースのコードベースとなる。
発表では、対象範囲について慎重に説明している。WSLは複数のディストリビューション関連コンポーネントで構成されており、その一部は現在もWindows上で動作し、別の一部はWSL 2仮想マシン内で動作する。マイクロソフトによると、今回のオープンソース化は、関連するすべてのコンポーネントがWindowsイメージから切り離されたことを意味するわけではない。一部は現時点でも非公開のままだ。それでも、WSL自体の主要なコード経路が公開されたことは、Windows内部で誕生した機能にとって大きな変化である。
マイクロソフトは、この歩みを、WSLがBUILDで初めて発表され、当初はlxcore.sysと呼ばれるピコプロセス・プロバイダーを基盤としていた2016年までさかのぼって説明している。この初期設計により、WindowsはELF実行ファイルをネイティブに動かし、Windowsカーネル内でLinuxのシステムコールを実装できた。その後、最高の互換性を実現するにはLinuxカーネル自体を利用するのが最善だとマイクロソフトが判断したことを受け、2019年にWSL 2が登場した。同社によると、この時点でサブシステムは、現在多くのユーザーが知るアーキテクチャへと進化した。
WSLの成熟に伴い、マイクロソフトはGPU対応、wslgを通じたグラフィカルアプリケーション対応、systemd対応を追加した。コミュニティーと機能群の拡大により、最終的に2021年にはプロジェクトが独立したコードベースへ移行した。マイクロソフトによると、この新パッケージは2021年7月、まずバージョン0.47.1としてMicrosoft Storeで配布され、当初はWindows 11ユーザー向けのプレビュー版だった。今回のオープンソース公開は、そのコードを外部に広く公開するための数年にわたる取り組みの成果と位置付けられている。
同社はまた、コンポーネントごとの概要についてwsl.devを参照するよう読者に案内している。これは重要だ。サブシステムは、もはや単純な意味で単一のモノリスではなく、それぞれ固有の役割を持ち、WindowsとLinuxでの実行を橋渡しする一連の構成要素だからだ。リポジトリの公開により、外部の開発者はそれらの境界をより明確に把握でき、変更に直接貢献できるようになる。また、WindowsとLinuxの統合が時間の経過とともにどのように維持されてきたかを外部の貢献者が直接確認できる場にもなる。ソースツリーは今や、単なる内部実装の詳細ではなく、2つのエコシステムを結ぶ、生きたインターフェースとして重要になっている。
今回の公開が持つ実務的な意義は分かりやすい。マイクロソフトは、独自仕様のサブシステムを配布する段階から、すでに多くの開発者の作業フローに組み込まれている機能の背後にあるコードを公開する段階へと進んだ。これによってプラットフォームの境界やWindowsイメージ内の非公開部分がなくなるわけではないが、検証や貢献に対する障壁は低くなる。WindowsとLinuxの接点に位置するツールにとって、この変化はユーザーにとっても、互換レイヤー自体を保守する人々にとっても重要なものになりそうだ。



