
2026/05/07 6:26
アップルが、新たな種類のソフトウェアに対し、古いアプリストアのルールを執行しています。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
1 月以来、Replit の iOS アプリは古いバージョンに留まって停滞し、3 月に Replit および Vibecode がガイドライン 2.5.2(自立型バインドルの提供・未審査機能の実行)に基づきアップデートがブロックされたことをきっかけに、Apple の無料開発者ツールカテゴリで 2 位から 3 位へと後退した。Apple は Replit に、生成されたアプリを iOS クライアント内でプレビューするのをやめ、代わりに Safari で開くよう助言しており、これは共同設立者の Dhruv Amin が技術的な書き換えを 3 ヶ月かけて行った後、「Anything」アプリが 3 月 26 日に削除されるに至ったフィードバックと類似している。核心的な問題は認識論的なギャップである:Apple は端末上で実行されるアーティファクトとして審査済みの静的バイナリを要求する一方、Replit のような AI 駆動ツールはランタイムで変化し続ける動的かつモデル更新型の機能に依存しており、この対立はソフトウェア配信インフラそのものを再構築する可能性を持ち、バージョン管理、バグ報告、不変のバイナリを前提とした CI/CD の仮定への挑戦を意味し、Spotify などの巨頭が従来の静的モデルではなく適応的な AI と直接統合するのを強いる可能性がある。OpenAI が DevDay(2025 年 10 月)で Apps SDK を発表し、Spotify や Replit などのブランドを含むインチャット GPT アプリディレクトリを 2026 年初頭までに導入する計画がある中、Apple は Guideline 2.5.2 をこれらの新モデルに対して強制すべきか、あるいは遅くとも 2026 年〜2027 年までには審査要件を適応させるべきかを決断する必要がある。Replit は訴訟を検討し、Apple の根拠は「嘘」であり裁判で立証不可能であると警告しており、静的制御と動的イノベーションとの間で業界が直面する決定的な選択を示している。
本文
1 月以来、Replit の iOS アプリは更新されていないまま停滞しています。ランキングではその影響が見え始めており、Apple の「無料で提供される開発者向けツール」カテゴリーにおいて、初位から第二位へ、そして第三位へと順位が低下しています。3 月、The Information は、Apple がアプリストアの審査ガイドライン 2.5.2 を理由に、Replit や Vibecode といった複数の AI コーディングアプリのアップデートを阻止しているという事情を報じました。この規定は、アプリはそのバンドル内で完結したものでなければならず、「機能を追加または変更するようなコードを実行してはならない」と定めています。このガイドラインは数年前に存在しており、現在適用されているソフトウェアカテゴリーよりもずっと古いものです。
同報道によると、Replit は生成されたアプリを iOS クライアント内でプレビューし続けるのではなく、代わりに Safari で開くように方針転換すれば、アップデートの承認に近づいていました。修正策は「コードの生成を停止すること」ではなく、「審査対象となっているアプリ内部に生成された結果を表示すること自体を停止する」というものでした。その一週間後、Apple の対応がさらに厳格化されました。3 月 26 日、同社は同じガイドライン 2.5.2 を根拠に、Anything というアプリを App Store から完全に撤去しました。このアプリの共同創始者の Dhruv Amin は、以前から Apple のフィードバックに従うために尽力しており、その間、Apple の指摘に応じるためにより多くの技術的な再構築を試みました。最終的な提出物は、まさに Apple が Replit に求めた通りのアプローチ——生成されたアプリのプレビューを外部ブラウザ経由で送信し、アプリ内での Web ビュー表示を廃止する——を実行していましたが、それでも更新は拒否され、既存バージョンも削除されました。
数ヶ月が経過した今なお、この対立は解決されていません。規定の意図を理解するためには、Apple の立場を可能な限り charitable な解釈で行うと良いでしょう:アプリストアの前提は、「提出時に審査されたアートファクト(成果物)が、ユーザーデバイスの上で実行されるべきもの」という点にあります。Replit が埋め込み Web ビューを通じて生成されたアプリを表示する場合、審査された Replit のバイナリそのものが、無制限に数多くの未審査のアプリを含んでいることになります。Apple にとっては「審査はなされていなかった」ことになると言えるでしょう。
Apple は、解釈器、ダウンロード可能なコード、ブラウザ内のブラウザ、JavaScript に重きをおくアプリに関する規定を App Store が存在する限り複雑に設けてきました。各局面でランタイムはより柔軟になり、プラットフォーム提供者は新たな線引きを行いました。その線引き自体は移動しましたが、背後にある前提条件——「ソフトウェアは十分に静止させ、検証できるものである」という点——は変わりませんでした。動機という問いの根底には、真の認識論的な問題が存在します。Apple の審査官は、モデルによって実行時(ランタイム)に決まる振る舞いを持つソフトウェアを評価する方法を持っていません。現行の審査プロセスでは、検討すべき対象が何も存在しません。バロワヤー(ラッパー/パッケージ)自体は審査可能ですが、ユーザーが提示を入力した後の深夜 3 時にそのスマホで実行される振る舞いは、それが審査官が見たことのないものである以上、審査できません。審査可能なアートファクトと実際に動作するアートファクトとは、同一種類のものではありません。
審査だけでもありません。現代のソフトウェア配布スタックのほぼ全てのレイヤーは、同じ前提に基づいて構築されています:
- バージョン番号は、定義された系譜を持つ一つの規範的なアートファクトが存在すると仮定しています。
- リリースノートは、リリースが存在すると仮定しています。
- 「最新版をインストールしましたか?」という問いは、「最新版」という概念が存在すると仮定しています。
- バグ報告は、2 人のユーザーが同一のソフトウェアを確認できると仮定しています。
- ドキュメントは、スクリーンショットの内容が一致すると仮定しています。
- 再現性の確保は、バインダリ(バイナリ)が目に見ながら変化しないと仮定しています。
スタック全体は、「出荷されたソフトウェアは静止し続ける」という前提の上に成り立っています。アプリストア、パッケージマネージャ、バージョニング、CI/CD パイプライン、サポートツール、JIRA のチケット、Stack Overflow の回答、そして「バージョン Y で X を出荷した」という表現に至るまで、全てこれが依存しています。適応型のソフトウェアは静止しません。各ユーザーのバージョンは他のどのユーザーからもずれており、そのずれは即座に起こる場合もあれば数週間かかることもあります。バグを再現できないのは、バグを生み出したソフトウェアがもう存在しないためです。「最新版」という概念自体が存在しないのです。同じ製品を使う 2 つのユーザー同士が機能について話し合うことができません。なぜならその機能は片方にのみ生成されたからです。
アプリストアの前提はもともと期限切れとなるところでした。ソフトウェアが静止している状態は一時的な現象であり、本質的な属性ではありません。それは四十年前まで静止していたのは、それを適応型にすることを可能にするツールが存在しなかったからです。今ではそれらが存在しています。アプリストアはその前提を最も厳格に強制しており、その結果 Apple は最初から問いかけられることになりました:アートファクトとランタイムが同一でない場合、「審査」とは何か?残りのスタックも間もなく同様の問いをかけられることになります。スタックの各部分は何らかのソフトウェアに関する仮定をしていますが、それはやがて偽となるでしょう。古い前提に基づいて構築されたインフラストラクチャ——審査キュー、バージョン番号、パッケージレジストリ——は、もはや静止していないソフトウェアを扱えるはずはありませんでした。
Apple が Replit にアプリ内での生成済みアプリ表示を停止するよう指示した一方で、OpenAI はアプリが完全にアプリ内において自身で生成されるという前提を持つプラットフォームの開発を行っていました。2025 年 10 月の DevDay で OpenAI は Apps SDK を導入し、数ヶ月後には一般公開を受け付けを開始し、ChatGPT の内部にアプリディレクトリをローンチしました。2026 年初頭までには、そのディレクトリには Spotify、Zillow、Canva、Coursera、Booking.com、Expedia、Adobe Photoshop、Gmail、Microsoft Teams、Stripe、そして Replit が掲載されました。まさにそれと同じ Replit です。週に 8 億人が ChatGPT を利用しています。ツールメニューがあり、ディレクトリがあり、提出プロセスがあり、審査キューがあります。要するにアプリストアです。
しかし単位は異なります。ChatGPT のアプリはバイナリではなく、モデルが会話中にインラインでレンダリングできる Web UI コンポーネントと組み合わされた MCP サーバーです。モデルは会話を文脈に基づいてどのアプリを提示するかを決定します。OpenAI 自身の例:家を買いたいと言っても、モデルは会話内に Zillow を呼び出すことができます。ユーザーが Zillow にナビゲートしたのではなく、モデルがそれを招き寄せたのです。発見の手段は検索から推論へとシフトしました。ユーザーがディレクトリをブラウジングしてアプリを選ぶのではなく、モデルが選んでユーザーが受諾するかしないかの選択になります。アプリには固定された UI がありません。代替可能なのは能力とコンポーネントであり、それらはユーザーが何を目指しているかに応じて逐次的に構成されます。
これらを支えるプロトコルは Model Context Protocol(MCP)で、元々は Anthropic で開発され、現在業界全体で採用されています。ChatGPT のアプリも Claude のコネクタもこのプロトコル上で動作します。注目すべきは次のような段階的存在です:
- アプリストアはバイナリを配布し、これは最も低いレベルです。
- ChatGPT のディレクトリは能力を配布しており、これは MCP サーバーとコンポーネントであり、一段上のレベルです。
- 次のレベルは現在大規模には存在していませんが、「意図による配布」です:ユーザーが必要を表す、ランタイムが充足を構成し、開発者とユーザーの間で移動するものはプログラムというよりは制約の集合に近いものです。
各段階が上がれば下位のソフトウェアはより適応的になり、配布モデルはアプリストアとの互換性が低くなります。Apple と OpenAI の対比を「開放性が制御に勝つ」と読む誘惑がありますが、この枠組みは誤っています。OpenAI もなおゲートキーピングを行います。審査プロセスも存在します。ディレクトリもあります。品質や安全性基準を満たさないアプリは受理されません。OpenAI の決済レイヤーである Agentic Commerce Protocol は Stripe とともにベータ版であり、手数料率の何らかの形が導入される予定です。プラットフォーム上のインセンティブは一つの配布世代から次の世代へ引き継がれます。30% という比率自体は現行の形で存続しないかもしれませんが、「ゲートキーパー+レント」という構造は見つかった新たな形を得るでしょう。
実際に異なるのは、新しいモデルが保持できるソフトウェアの種類です。アプリストアは変わらないソフトウェアを保持できますが、ChatGPT のディレクトリは変わるソフトウェアも保持できます。私たちは第二のカテゴリーが全てが行く方向だと考えています。なぜなら適応型ソフトウェアとは、それを構築するツールが存在した段階でソフトウェアが become するものだからです。生き残るのは運動状態にあるソフトウェアを保持できるプラットフォームであり、そうでないプラットフォームは CD-ROM のように記憶されるでしょう:真の問題を解決したが、その前提が長続きしなかった技術としての存在。
この矛盾は無視するのが難しいのは、両方のモデルが同一デバイス上に共存しているためです。ChatGPT は iOS アプリとして Apple の審査を経ており、現在自ら内部ディレクトリを通じてサードパーティのソフトウェアを配布しています。これは、Apple が Replit に対して現在強制している規則の精神に反する形で実行されています。この矛盾はこれまで無視できているのは、ChatGPT のディレクトリがアプリストアに比べて小さく、またその大部分が会話ベースで視覚的ではないためです。しかしこれが続くとは限りません。ディレクトリがユーザーがソフトウェアを発見・利用する場所としてアプリストアと真に競合するものへと成長すれば、Apple の審査官は決断を迫られます。彼らが 2.5.2 を ChatGPT そのものに適用して世界で最も使われるアプリの一つを制限あるいは削除すると、独占法違反の行動、規制当局の注目、そしてかつてのアプリストアポリシーには見られなかった程度の公的監視の対象となります。あるいは、ルールはランタイムがネイティブな場合のみならず、他の誰かのサーバー上で動作する言語モデルによって仲介された場合にも適用されるべきであることを受け入れるか。いずれの解決策もプラットフォームのバランスを再構成します。
これは公表されないタイプの決断です。特定の人の手により特定のアプリの審査に対する具体的な要請としてやってくるでしょう。2026 年あるいは 2027 年のカリフォルニアのカ Cupertino の誰かが、2.5.2 は現在何を意味すべきかを見出さなければなりません。OpenAI だけが配布がスタックの上昇していると考えているわけではありません:
- Apple Intelligence は Apple が自ら Siri-as-agent をハードウェアのための新しい配布表面にするための試みです。
- Gemini も Android で同じことをしています。
- Microsoft の Copilot は Windows と Office 内でこの賭けを続けています。
- ブラウザ側では、OpenAI の Atlas、Perplexity の Comet、Anthropic の Claude(Chrome 内)が、エージェントがブラウザ内で実行され、ユーザーが最終的に動作を行う場所であり、そのエージェントを実行する者が配布も行うと考えています。
新しい配布層が OS に住むか、ブラウザに、あるいはチャットにあるかはさておき、配布の単位は上昇しています。バイナリから能力へ、そしてやがて意図に近いものへ。 whichever surface が勝っても、バイナリはステータスを失います。一方、Apple が一時停止に置かれた開発者たちは静かにはいません。先週の StrictlyVC のスピーチで Replit の CEO Amjad Masad は Apple が提示した理由を「嘘」と呼ぶとともに、必要なら法廷でそれを証明できると述べています。Apple の構造的議論の妥当性に関わらず、今や資本、リーチ、訴訟への意欲を備えた反対勢力に対して公然と防衛する必要があります。
Apple の審査官はコードを見て訓練されました。しかし彼らに現在審査を求められているソフトウェアカテゴリーには、伝統的意義での読む価値のあるコードが存在しません。実行されるコードは使用時に生成され、ユーザーのデバイス上かどこかのサーバー上で、審査官が見たことのないリクエストに対して反応して実装されます。アートファクトはランタイムへと溶解しました。Cupertino の誰かがまもなく、何か静的に検査できない場合「審査」とは何かについてのメモを書く必要があるでしょう。そのメモは二つのうちのいずれを言及するでしょう:
- ソフトウェアが静止するという前提を保持する方法を見つけることで、時間を稼ぎますが未来を失うことになります。
- アートファクトがランタイムへと溶解したことを認め、アプリストア全体の前提には異なる理論が必要であるという結論に至るでしょう。
私たちは最終的には第二のメモが書かれると考えます。問題はどれだけ第一種のメモが存在する年数を経るかだけです。戦いは Apple と Replit の間にあるとは限りません。それは「ソフトウェアとは何か」という二つの理論の間です。