世界を動かす技術を、日本語で。

Windows Subsystem for Linuxがオープンソース化されました

概要

  • Windows Subsystem for Linux(WSL) がついに オープンソース化 されたことを発表
  • GitHubの Microsoft/WSLリポジトリ でコード公開、誰でも ダウンロード・ビルド・貢献 可能
  • WSLの主要な アーキテクチャと構成要素 を簡潔に説明
  • オープンソース化の 歴史的経緯と背景 を解説
  • コミュニティ貢献 の重要性と今後の参加方法に言及

Windows Subsystem for Linux(WSL)オープンソース化発表

オープンソース化の概要

  • Microsoft Build 2025年5月19日 にて、WSLの オープンソース化 を正式発表
  • 数年にわたる準備 の成果として、初期からの要望「Will this be Open Source?」に対応
  • GitHub(Microsoft/WSL) でWSLのソースコードを公開し、誰でも ビルドや改良、開発参加 が可能となることを提案
  • 新機能追加やバグ修正 へのコミュニティ参加を促進すること

WSLの構成とアーキテクチャ

  • WSLは 複数のコンポーネント で構成され、 一部はWindows上、一部はWSL2仮想マシン内 で動作することを確認

  • 主なコンポーネントは以下の通り

    • コマンドライン実行ファイル :wsl.exe, wslconfig.exe, wslg.exe
    • WSLサービス :wslservice.exe(VM起動、ディストリビューション管理、ファイル共有等を担当)
    • Linux側プロセス :init(起動)、gns(ネットワーク)、localhost(ポートフォワーディング)等
    • ファイル共有 :plan9サーバ実装によるLinux↔Windows間のファイル共有
  • 詳細は https://wsl.dev で確認すること

  • 既に公開済みの関連コンポーネント

    • microsoft/wslg :Wayland・X server対応
    • microsoft/WSL2-Linux-Kernel :WSL2用Linuxカーネルソース
  • 現時点で未公開のコンポーネント

    • Lxcore.sys (WSL1カーネルドライバ)
    • P9rdr.sys, p9np.dll (ファイルシステムリダイレクト用)

オープンソース化の背景と歴史

  • 2016年BUILDでWSL初発表、Windows 10 Anniversary Updateで初搭載
  • 当初は lxcore.sys によるELF実行・Linuxシステムコール対応(WSL 1)
  • 最適な互換性 を目指し、 Linuxカーネル利用 のWSL 2を2019年発表
  • コミュニティの成長と機能拡張(GPUサポート、グラフィカルアプリ、systemd等)に対応するため、 Windows本体から分離
  • 2021年7月 にMicrosoft Storeで 新WSLパッケージ(v0.47.1) 提供開始(Windows 11限定、プレビュー扱い)
  • 2022年11月WSL 1.0.0 としてWindows 10対応・安定版リリース
  • Windows 11 24H2 で「内蔵WSL」から「新WSLパッケージ」への移行を本格化
  • WSL 2.0.0 で大幅な機能追加(ミラードネットワーキング、DNSトンネリング、プロキシ・ファイアウォール対応等)
  • 2024年現在、最新バージョンは WSL 2.5.7 で、約4年間にわたり積極的な開発・リリースを継続すること

コミュニティの役割と今後

  • 初期から強力なコミュニティ の支援がWSL発展の原動力となったことを強調
  • ソース非公開時代でも バグ修正・新機能提案 など多大な貢献があったことを確認
  • オープンソース化により、 直接的なコード貢献 が可能となり、今後の成長に期待すること
  • microsoft/WSL リポジトリで参加方法や詳細を確認すること

まとめ

  • WSLのオープンソース化は 開発者コミュニティ にとって大きな転機
  • 今後のWSL発展 のため、積極的な貢献・参加を推奨すること

Hackerたちの意見

先週のレイオフの影響か、記録的な利益の年なのに、これがその副作用なのかなって思う。

もし彼らが単に嘘をついているわけじゃないなら、違うよね: > これは数年にわたる準備の結果だよ。

現状を考えると、Buildからのニュースには悲観的にならざるを得ないよね。

大企業での3%のレイオフが何かに影響を与えるって、特定のプロジェクトを切り捨てたい場合以外はないんじゃない?それは機械の潤滑剤みたいなもんだよ。3%なんて大企業の膨張に比べたら何でもないし、Microsoftの評判はその中でも一番スリムじゃないからね。

先週のレイオフの影響かな、記録的な利益を上げてる年なのに。こういう大企業でのオープンソースプロジェクトの決定、準備、実行は一週間や二週間、あるいは一ヶ月でできるものじゃないからね。

hnでWSLを褒めるたびにカルマ税を払うことになるけど、この意見は譲れない。WSLは、同じコンピュータ上で複数のOSを同時に簡単に動かせるから、Linuxよりも強力だと思う。デバイスサポートやローカルストレージのマッピング、ネットワークマッピングのためのちょっとしたカスタムローカルDockerラッパーがあれば、Linuxと同じくらい強力なんだけど、全然ジャンクじゃない。設定なしで、デスクトップやノートパソコンでそのまま使えるのは本当に楽しいよ。追記: 明確にするために言うけど、「複数のOS」っていうのは複数のLinuxバージョンのことね。例えば、あるプロジェクトがUbuntu22に依存していて、別のプロジェクトはUbuntu24の方が楽だとする。OSをアップデートするかどうかを心配する必要はないんだ。

まあ、WSLはLinuxだよ。実際にはそれのVMに過ぎない(WSL2からは、WSL1はWindowsカーネル上で動いてたから結構クールだったけど)。私にとってWSLの大きな欠点は、NTFSがクソだからファイルシステムアクセスが遅いことかな。あと、そもそもWindowsを扱わなきゃいけないっていうのもね。追記: あなたのカルマについて心配する必要はないよ。ただの数字だから :P

WSL2の私の試金石は、Linux版のGoogle Chromeをインストールして、それでYoutubeの動画をフルスクリーンで再生することだったんだけど、ちゃんと動いたよ。WSL1の方が印象的なハックだったけど、動くものに文句を言う理由はないよね。WSL2は問題なく動くし、1980年代風のX11ウィジェットがWindowsデスクトップで独立したウィンドウに表示されるのもクールだね。

私には信じられないくらいジャンクに感じる。ほぼ毎回、コンピュータがスリープすると(少なくとも毎朝)、VMホストのネットワーキングが壊れてVS CodeがVMに接続できなくなるから、再起動しなきゃいけない。Windowsのユーザーディレクトリに物を置くこともできないし、ファイルシステムドライバが遅すぎてgitコマンドが数秒かかるから、今は2つのホームディレクトリを管理しなきゃいけない。設定時には、ホストのDNSやVPNアダプタの優先順位がVMに伝播しないという非常に難解な問題もあったから、ネットワーキングが完全に壊れてた。確か、スリープ後に時間がホストと合わなくなって、すごくずれてしまうこともあったけど、今はWindowsを常に再起動しなきゃいけないから、最近はそれに遭遇してない。複数のOSを動かす必要もないし、私のツールはすべてLinuxベースだから、Linuxを使わせない会社では、実際の業務用ツールはほぼすべてLinuxのVM内にある。そうしないと使えないからね。他のOSは無駄な問題を生むだけで、2つのオペレーティングシステムとその変な相互作用を持つパワーユーザーにならなきゃいけない。

「Linuxよりも強力」ってのはバカげてるよ。あれはVMだし。最も便利なのは、いろんな便利機能を提供してくれることだね。確かにすごく便利だけど、Linuxを使うよりもパワフルってわけじゃないよ。VMよりももっと便利なものがあるって知ってる?VMなしで同じ機能を持ってることだよ。変なラッパースクリプトもいらないし、実質的に同じことを提供してくれるツールがいくつかあるよ。Distroboxやtoolbxを使って、すぐにUbuntuやFedoraのシェルに入れるからね。NixOSでソフトウェアをもっと一般的なLinux環境でビルドするのを試したいときにはかなり便利だよ。ボーナスとして、ハードウェアアクセラレーションがちゃんと動いて、グラフィカルアプリケーションもすぐに使えるし、9pブリッジを通るときのI/O税もないし、VMもゲストカーネルもないから変なメモリバルーンの問題もない。WSLがWindowsユーザーにとって革命的なのはわかるけど、LinuxではLinuxを使うのにVMが必要ないからWSLがないってことを理解してほしい。ほんとにシンプルなんだよ…

もう少し文脈を提供した方がいいかも。私はLinuxを使ってるけど、WSLは全く必要ないよ。仕事でも家でもね。だから、あなたがWindowsをメインシステムとして使っているからWSLを褒めてるの?それなら、確かに素晴らしいよね。Windowsの体験をかなり良くしてくれるし。Windows用のOpenSSHもゲームチェンジャーだった。正直、Microsoftがそれにこんなに時間がかかった理由が全然わからないよ。

Linux上でDistroboxを使えば同じことができるけど、Windows + WSLで両方の良いところを持つのも確かに魅力的だよね。正直、MicrosoftがAppleから少しでも心を取り戻すには、次のことをするべきだと思う:* 余計なものがないWindowsのバージョンを出す。Devエディションとか呼んで、テレメトリーやプリインストールされたもの、広告、Copilotをオフにする。* 妥協のないハードウェアを手に入れるためにシリコンに力を入れる。今はMacのM4 Proを使ってるけど、MacのラップトップとLinuxデスクトップを行き来してる。実際、Windows + WSLが好きだけど、イデオロギー的に使えない。可能性はあるよ - PowerToysは素晴らしいし、WSLもいいし、PowerShellをスクリプト言語として使うのも好きだし、新しいPCのセットアップもPowerShell + Winget DSCでできるようになった。でも、Microsoftのユーザーに対する敵対的な行動や、時間がかかりすぎる全体更新には耐えられない。macOSやSilverblueみたいに、イミュータブル/読み取り専用のベースに移行して、画像ベースの更新を行うべきだと思う。あと、M4 Proに匹敵するラップトップが手に入らないのも困る。Surface Laptop 7(ARM版)は近いけど、まだ十分じゃない。

Hacker Newsで議論の続きを見る