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

Windows用のFreeBSDサブシステム

概要

  • Windows Subsystem for FreeBSD (WSFB) は、FreeBSDをWSL2上で動作させる実験的プロジェクト
  • FreeBSDのベースシステム をほぼ変更せずにWSL2環境で起動・動作を目指す
  • オープンソースコンポーネント の活用と改善のフィードバックが目標
  • 現在は 基本機能が動作 し、ネットワークやI/Oなど追加開発中
  • 貢献やフィードバック を広く歓迎するオープンな取り組み

Windows Subsystem for FreeBSD (WSFB) プロジェクト概要

  • WSFB は、FreeBSDを WSL2 (Windows Subsystem for Linux 2)上で動作させるための実験的プロジェクト
  • FreeBSDベースシステム にほとんど手を加えず、 Windows環境 でのシームレスな起動・実行を目指す
  • WSL2のオープンソース部品 を活用し、必要に応じて改善をコミュニティに還元
  • MicrosoftFreeBSD Foundation などの公式組織とは無関係な、個人による実験的プロジェクト

プロジェクト目標

  • WSL2アーキテクチャ 上でFreeBSDを ネイティブ動作 させる技術検証
  • FreeBSDベースシステム への変更を最小限に抑える設計
  • 必要な改善点は オープンソースコミュニティ へ還元
  • Windowsユーザー にもFreeBSD環境を提供する選択肢の拡大

現在の進捗

  • FreeBSDのWSL2内ブート に成功
  • 基本機能 (起動・コマンド実行など)が動作
  • ネットワーク機能、I/O、プロセスマネジメント の強化作業を継続中
  • 実験段階 のため、安定性や機能面での制限あり

今後のロードマップ

  • 初期ブートサポート (実験的に完了)
  • コンソールサポート とコマンド実行機能の充実
  • ネットワークサポート の強化(作業中)
  • ユーザーモードユーティリティ やWindows連携の実装
  • ドキュメント・サンプル の整備

コントリビューション・参加方法

  • フィードバックテスト結果 の共有
  • バグ報告ディスカッション への参加
  • アイディア提案 や技術的議論
  • GitHubのIssueやDiscussion から気軽に参加可能

ライセンスと免責事項

  • オープンソースライセンス (詳細は後日決定予定)
  • 個人の実験的プロジェクト であり、公式団体とは一切関係なし
  • 利用は 自己責任、安定運用は保証外

まとめ

  • WSFB は、FreeBSDの新たな利用シナリオを提案する実験的試み
  • オープンな開発コミュニティ参加 による進化を目指す
  • Windowsユーザー にとってのFreeBSD体験の拡張

Hackerたちの意見

これいいね、完成することを願ってるよ。Microsoftが必要なら手伝ってくれるといいな。WSL2が大好きで、ほぼそれに依存してる。オフィスも必要だし、仕事用のノートパソコンも必要だから、フルタイムでLinuxには移行できないし、ゲームもしたいからMacは避けたいんだ(確かにMacにもゲームはあるけど、Windowsに比べたら全然だよね)。

同感だよ。MSがOfficeをネイティブからゴミみたいなReactに移行させてるのは、Windowsからの移行を助長してるっていうのが本当に狂ってる。

Windows 7に戻ってから、プライベート用と法人用のノートパソコンによってVMware WorkstationとVirtual Boxを楽しんでたよ。WSLがもたらしたのは、インストールするものが一つ減ったってこと。でも、1995年にLinuxを始めたきっかけは、Windows NTのPOSIXサポートがあまり良くなかったからなんだ。もしMicrosoftがXenixを売り続けていたり、Windows NTのPOSIXサブシステムをちゃんと作っていたら、Linuxはおそらくここまで普及してなかっただろうね。ビル・ゲイツがXenixが普及すると言ってたのが皮肉だよね。

ゲーム用と仕事用のマシンを分けるのには大きな利点があるよ。もし仕事でそんなにグラフィックパワーを使わないならね。NVidiaやAMDのグラフィックカードは、マシンで大きな問題を倍増させる傾向があるから(逆にシステムの安定性を半減させるとも言える)。これは、x86の頃のMacでも当てはまった。新しいゲームを発売日にプレイしたり、重いアンチチートがあるマルチプレイヤーゲームをたくさんやるなら別だけど、最近のLinuxはゲームOSとしてかなり実用的になってきたよ。2000年の初め頃から、Windowsはゲーム以外の用途では使ってなくて、やっと完全に手放せたのが嬉しい。要するに、Linuxをデスクトップで使うことに対して我慢できるなら全Linux環境(私よりも耐性があるなら)や、仕事用にMac、遊び用にLinuxっていう組み合わせも悪くないよ。もし仕事用のマシンにNvidiaやAMDのグラフィックが必要なら、両方の役割でそのハードウェアを共有するのもありだけど、分けることで得られるシステムの安定性には本当にメリットがあるよ。(私は、WindowsやMacの仮想化の下でLinuxを動かすのが、ノートパソコンでLinuxを使う唯一の非ストレスで、かつプロとして恥ずかしくない方法だと思ってる。これは、ほぼ10年の間、ノートパソコンでLinuxを主なOSとして使ってた人間として書いてるんだ) [0] ちなみに、「たくさん」が何を指すかによるけど、Apple Siliconでたくさんのメモリがあれば、すごく良い選択肢かもしれないね。

オフィスが本当の敵だね。ゲームはLinuxでもそこそこ揃ってるけど、アンチチートのストレスを除けばね。だけど、Microsoft Officeのネットワーク効果が本当に厄介なんだよね。皮肉なのは、ゲームがなければ、MacOSの簡易版でオフィスを楽しめるのに、LinuxやFreeBSDにはそんなバージョンがないってこと。ネットワーク効果だけの話だから、Google Docsの利用を推進しようとしてるよ。モダンなブラウザがあればどこでも使えるから、ほぼすべての現代的なデスクトップ環境で使えるしね。アメリカのテックジャイアントを推すことになるけど、なんかネットワーク効果はそこまでひどくない気がする。

FreeBSDって結構使われてるの?

PS4とPS5のOSはどうやらFreeBSDをベースにしてるらしい。NetflixはCDNサーバーにFreeBSDを使ってるし、pfSenseやOPNsenseはFreeBSDをベースにした人気のファイアウォールだよ。詳しくはここを見てね https://en.wikipedia.org/wiki/List_of_products_based_on_Free...

いや、開発者が使ってるノートパソコンがない限り無理だね。2年ごとに、DellのノートパソコンにFreeBSDをインストールしようとして、Wi-Fiが動かないのを見つけて諦めるってことを8年くらいやってるよ。

Facebookが買収してなければ、WhatsAppは今でもFreeBSDで動いてた可能性が高いね。

たくさんはないよ。デスクトップでは、ある統計サイトによると0.01%だって。だけど、FirefoxがLinux上で動いてるって自己認識してるから、検出が難しいんだ。自分もデスクトップで使ってるけど、すごくいいよ。Linuxみたいに無駄に色々変わることがないのが気に入ってる。新しいinitシステムとか、ifconfigを他のコマンドに変えたりとかさ。しかも、ドキュメントがずっと充実してるしね。

Netflixは人気の例だね。

昔ほどではないね。クラウドコンピューティングが普及する前は、ハードウェアから最後のパフォーマンスを引き出したいならFreeBSDがベストだった。Yahoo!がインターネットで一番大きなサイトだった頃に使ってたしね。時間が経つにつれてLinuxがよりパフォーマンスが良くなって、AWSや他のクラウドプロバイダーの選ばれるOSになったから、FreeBSDの人気は落ちちゃった。

PCではそうでもないけど、他のものではそうだね。

FreeBSDでWindowsが動くのを楽しみにしてるよ。

これってmacOSへのクロスコンパイルがもっと簡単になる可能性があるのかな?

macOSはFreeBSDとはあまり関係ないから、無理だね。

簡単な質問に対してちょっと厳しい反応だね。macOSはFreeBSDのユーザースペースコンポーネントを使ってる部分もあるけど、共通点はほとんどないよ。Darwinは全く別のカーネルで、全然違う動き方をするし、macOSにはユーザースペースにかなり独自のものがあるからね。

うーん、ほんとにWindowsを使い続けさせようとしてるんだね。前はWindows Subsystem for Linuxだったし、今はこれだ。HNのスレッドでも同じこと言ったけど、逆にしてみようよ。FreeBSDでbhyveを使ってWindowsを動かして、はい、どうぞ。もっといいのは、FreeBSDに切り替えることだね。素晴らしくて安定したOSだよ。Microsoftはオープンソースが大好きだから、テレメトリーやダークパターンで汚染されたクソみたいなクローズドソースのOSを使わせようと頑張ってるんだ。いらないよ。

これは個人的な実験プロジェクトであり、Microsoft、FreeBSD Foundation、またはFreeBSD Projectとは関係ありません。自己責任でご利用ください。

みんながこれに興味を持つわけじゃないのは分かってるけど、WSLみたいなサブシステムの名前が逆に混乱するんだよね。つまり、"Linux Subsystem for Windows"とか、"Windowsのサブシステム for [Linux | FreeBSD | など]"にすべきだったと思う。

彼らが言ってるのは、商標のWindowsをLinuxの前に置く必要があるってこと。時々、法務部からのアドバイスだとも言ってる。まぁ、彼らがその要件を満たして「Windows Linux subsystem」とか呼ぶこともできると思うけど、俺が何を知ってるって感じだよね。関係ないけど、WSL2のデザインはちょっと馬鹿らしいと思う。結局ただのVMだし。WSL1のシステムコールレイヤーの方が良かったと思うけど、それは遅かったはず。確か、NTファイルシステムのシステムコールがLinuxのVFSより遅いからだと思う。それを改善する代わりに、LinuxをVMで動かすことで回避してるんだよね。

これはWSLの例からすると、Linuxがサブシステムじゃなくて、Linuxを動かすためのWindowsのサブシステムだから、こういう名前になってるのかな?Windows Subsystem for Linuxって。

WindowsのLinuxサブシステムは悪くないと思う。結局、Windowsのサブシステムなんだから、Linuxのサブシステムじゃないしね。だからこのプロジェクトはFreeBSDのLinux用サブシステムにすべきなのかな?それともFreeBSDのWindowsのLinux用サブシステムにすべき?

Microsoftらしいけど、全然うまくいってないよね。WINE => Windows Subsystem for Linux/FreeBSD/UNIX WSL => Linux/FreeBSD Subsystem for Windows

WSLの前、マイクロソフトは「Windows Services for UNIX」を提供してたんだ。「Microsoft WindowsをUNIX環境にシームレスに統合する」ためにね。同じWindowsサービスが「Microsoft WindowsをLinux環境にシームレスに統合する」ために提供されてる。WSUがWSLになったってわけ!

「Linuxサブシステム」って言うけど、実際にはLinuxのサブシステムじゃないんだよね。今のままの方が意味が通る。人々は「Windows用のLinux」って考えがちだけど、実際にはWindowsのサブシステムの一連として考えた方がいいと思う。

WSLに似たサブシステムの名前が逆に分かりづらいと思う。名前を決めた人は小学校の英語の文法授業を受けてなかったんじゃないかな。

「Azure Database for PostgreSQL」って呼ばれる理由も同じ。もっと理にかなった名前は「PostgreSQL Database for Azure」だったはず。マイクロソフトが他の商標(この場合はLinuxやPostgreSQL)を自社の製品名に入れるときは、自社の商標が常に先に来て、他の商標が後に来るんだよね。

彼らの古い「Windows Services for UNIX」の命名規則に従ってるんだ。私も好きじゃないけど、一貫性はあるよね。

WinappsはLinuxにとって本当に素晴らしい追加だよ。AdobeやOfficeのアプリが動かせるのは本当にいいね。基本的にWindowsが必要な理由は、League of Legendsみたいなカーネルレベルのアンチチートがあるクソゲーだけになっちゃった。LeagueがPCにマルウェアを入れられるのに、リリースから15年経ってもボイスチャットがないのが面白いよね。

ソフトウェアの肥大化の象徴的な問題がまた一つ。既存のソフトウェアが一つの特異点に向かって集まっているみたいで、すべてのプラットフォームが理解不能なブラックホールに吸い込まれて、人類全体を巻き込んでいる感じ。そもそもWSLに本当の意味はなかったし、マイクロソフトがクラウド時代に relevancy を保とうと必死になっているだけだよね。全く異なる二つの巨大なシステムを持ち寄って、バグや特異性を増やしながら統合して、これが進歩だって?それは狂気だと思う。しかも今はFreeBSDまで。