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

ジョン・カーマックのメタにおけるカスタムXR OS構築への反論

2025年8月30日原文(twitter.com)

概要

  • John Carmackによる ソフトウェア開発 に関する意見
  • AI開発 や大規模プロジェクトに対する考察
  • 効率的な開発手法 の重要性強調
  • 大規模チーム小規模チーム の違い
  • 成功するための 実践的アプローチ 提案

John Carmackによるソフトウェア開発の現実

  • AI開発 や他の 複雑なプロジェクト において、現実的な開発手法の重要性強調
  • 大規模チーム が複雑なシステムを構築する際、しばしば 非効率的 になりがち
  • 小規模チーム や個人による開発の方が、 柔軟性効率性 に優れる場合が多い
  • 膨大なリソース予算 を投入しても、必ずしも優れた成果に結びつかない現実
  • 実際に動作するもの を素早く作り、そこから改良していくアプローチの有効性

効率的な開発手法とチーム構成

  • 最小限の人数 でプロジェクトを進めることで、 意思決定の迅速化開発速度の向上 が期待できる
  • 大規模チーム では、 コミュニケーションコスト管理負担 が増大しやすい
  • 現場で動いているプロトタイプ を重視し、理論や計画よりも 実践 を優先
  • AI開発 においても、 シンプルな構成実験的アプローチ が成功の鍵となる
  • 大規模プロジェクト でも、まずは 小さく始めて から拡張する戦略が有効

成功するための実践的アプローチ

  • 完璧な設計理想的な計画 に固執せず、 動くもの を早期に作成
  • 試行錯誤 を繰り返しながら、 現実的な課題 を解決
  • チームサイズリソース配分 を常に見直し、 最適化 を図る姿勢
  • AIやソフトウェア開発 の現場で、 実用主義 を重視することの重要性
  • John Carmack 自身の経験に基づく、 効率的な開発文化 の提案

Hackerたちの意見

カスタムOSの本当の利点って、Linuxディストリビューションに対して何なの?OSはプロセススケジューリングやプログラム管理とかをやるでしょ。確かに、VRヘッドセットが遅くなったりクラッシュしたりするのは嫌だけど、いくつかのLinuxディストリビューションは実績があって安定してるし、速いから、普通のプログラムを速くて信頼性のあるもの(例えば、カメラの動きやパススルーはRTLinuxを使っていて、形式的に検証されたり広範にテストされたフェイルセーフがある)を書けばそれで十分じゃない?

自分で答えちゃったんじゃない?実際の違いはなくて、記事が増えたり、お金がかかったり、盛り上がりがあるだけ。

チェーンの後半のツイートを基に考えると、カーマックがフォベイテッドレンダリング(見ている画面の特定部分に処理能力を集中させること)をその利点の一つとして示唆しているのかな。でも、実際にそれによるパフォーマンス向上がカスタムOSを作る価値があるのか、既存のOSと一緒にGPUをオーバークロックするだけで十分なのか、確信が持てないって言ってるのかも。

XRプラットフォームには当てはまらないかもしれないけど、Linuxにはない自己検査機能を追加できるかも。Generaみたいに、開発者がドライバーのコードをホットパッチできるとか、共有アドレス空間で全プロセスを動かして、プロセス間でポインタを渡せるようにする(Unixモデルのデータのシリアライズ/デシリアライズを使わずに)とかね。

ここでの適切な比較対象は、Xbox 360以降のゲーム機がやってきたことだと思う。基本的には、ハイパーバイザーを直接ハードウェア上で動かして、アプリやゲーム、管理用のプランを別々のVMで動かすって感じ。これでゲームはハードウェアに近い体験ができるし、真のマルチタスクが必要ないところではリソースを無駄にしないんだよね。同時に、ダッシュボードやダウンロードなどのバックグラウンドタスクも動かせる。

Google Fuchsiaのこと、みんな忘れちゃったんじゃないかな。新しいOSにはいい兆候かもね。彼らは消費者向けデバイスにシームレスに展開するのがうまくいってるし。

その努力は全部撤回されたと思ってたんだけど。今出荷されてるデバイスにFuchsiaがインストールされてるのはどれ?

その安定性や有用性についてのレビューはあまり良くなかったよ。

それってちょっと議論の余地があるんじゃない?もともとはもっと大きな目標を持ってた(例えばChromebook OSとか)けど、結局Google Homeだけに範囲を絞ったみたい。面白いプロジェクトではあるけど、限られたユースケース(特定のハードウェアを持つスマートサーモスタットやスピーカー)では機能するけど、より広いユースケースで異種ハードウェアや複雑なインターフェース(実際の画面や周辺機器)ではうまくいかなかった感じ。

面白い噂だけど、GoogleがARプロジェクトを終了させて、チームをFuchsiaプロジェクトに移したのは、高度なスキルを持つ社員を維持するためだったらしい。つまり、新しいOSに対する本当の技術的ニーズはなかったってことだね。

それがあまりにも良すぎて、Googleは意味のある製品に使う計画をキャンセルして、代わりに下の棚の製品に回したんだ。

「かなり良い」って、どの指標で?一つのデバイスにしか出荷されなかったんだよ。それって、想像できる中で一番低いハードルだよね!誰かに具体的な利益を提供したの?開発と維持にかかる膨大なコストに見合う利益があったの?C/C++で新しいOSを始めるのは狂気だと思う。C/C++で書かれたOSはたくさんあるし、その結末はわかってるよね。努力をかけるなら、少なくとも新しい言語を試して、より良いセキュリティモデルを実現できるようにすべきだよ。

Hacker Newsで議論の続きを見る