Webのフォーク:よりシンプルでドキュメント中心のインターネットのための設計図

現代のウェブは、ハイパーリンクされたドキュメントの集合体から、複雑なアプリケーションの広大なエコシステムへと進化しました。この変革は強力なクラウドソフトウェアの台頭を可能にしましたが、その代償として、極端な仕様の肥大化、単純なテキストをレンダリングするための巨大な仮想マシン(ブラウザ)の必要性、そしてウェブ標準の企業による独占という大きなコストを伴っています。

"On forking the Web"と題された刺激的な提案の中で、Rodrigo Arias Malloは、知識を交換するための媒体としてのウェブの本来の有用性を取り戻す唯一の方法は、仕様を効果的に「フォーク」することであると示唆しています。新しく軽量な標準を確立することで、アプリケーションの複雑さよりも、人間の読みやすさとアクセシビリティを優先させることができます。

シンプルなウェブの柱

Malloは、技術的な持続可能性とクライアントの多様性に焦点を当て、代替ウェブ仕様の開発を推進するいくつかの核となる目標を概説しています。

1. 根本的なシンプルさとサイズ制約

現在のHTML仕様を悩ませている避けられない「機能の肥大化(feature creep)」を防ぐため、Malloは仕様自体のサイズに厳格な制限を設けることを提案しています。Dilloブラウザの「単一のフロッピーディスクに収まる」という哲学からインスピレーションを得て、彼は、完全に圧縮された仕様を1.44 MiBに制限することを提案しています。この制約により、標準が十分に小さく保たれ、多様で軽量なクライアントが最小限の労力で実装可能になります。

2. セマンティックバージョニング

仕様が毎週変更される現在の「Living Standard」アプローチとは異なり、フォークされたウェブは厳格なセマンティックバージョニング(例:1.2.3)を利用します。これは、開発者と著者の双方に安定性を提供します。公開された標準のバージョンは不変であり、タイポはパッチの更新を、新機能はマイナーな更新を、そして破壊的変更はメジャーバージョンの引き上げを必要とします。これにより、開発者は特定のバージョンに対して準拠したブラウザを構築でき、それが永遠に機能し続けることを確信できます。

3. 厳格な文法とバリデーション

この提案の最も議論を呼ぶ点の一つは、非曖昧な形式的文法の主張です。このシステムの下では、仕様に準拠していないページは単にレンダリングされません。

これにより、ブラウザが壊れたHTMLの意図を推測するために現在実装している「悪魔のようなルール」を排除できますが、正しさの責任を著者に移すことになります。目標は、Markdownのような、よりシンプルで寛容な執筆言語の使用を促進し、それらを厳格で有効な仕様フォーマットに確実にコンパイルできる体制にすることです。

4. スクリプトの削除

Malloは、ウェブにスクリプト機能を加えることは根本的な間違いであったと主張しています。すべてのページにVM(JavaScript)を埋め込む代わりに、提案されたフォークは標準化されたプロトコルを使用することを提案しています。例えば、JavaScriptベースのインタラクティブな地図を使用する代わりに、ページはGeo linkを提供し、ユーザーの好みのネイティブな地図アプリケーションを起動させます。これにより、最適化の力をデバイスとユーザーに返し、現代のウェブアプリの「一律ですべてをカバーする」アプローチとは異なるものにします。

議論:堅牢性 vs. 厳格性

この提案は、技術コミュニティの間で、「完璧な」仕様と「使える」ウェブの間にある緊張関係を中心に、大きな議論を巻き起こしています。

「XHTMLの教訓」

複数の批判者は、XHTMLの失敗を cautionary tale(教訓的な物語)として指摘しています。XHTMLはウェブに厳格なXML解析をウェブに導入しようとしましたが、ユーザーが「パーサーエラー」を受け入れられなかったために失敗しました。あるコメントでは次のように述べられています:

"Getting a 'parser error' is always worse than getting a page that 99% works... The fact that horribly broken old sites can stay online and stay readable is a huge part of the web's value."

セキュリティとサンドボックスのトレードオフ

提案はブラウザの「フル機能のVM」を排除しようとしていますが、一部の専門家は、このVMこそがウェブを安全にしているのだと主張しています。JavaScriptをサンドボックス内で実行することで、ユーザーはランダムなバイナリをマシンにインストールすることなく、インタラクティブなコンテンツを体験できます。インタラクティビティをネイティブクライアント(Geo linksのようなプロトコル経由)に移行することは、ユーザーのオペレーティングシステムへの攻撃対象領域を拡大させる可能性があります。

「Gemini」という選択肢

多くの観察者は、この提案が、スクリプトを明示的に禁止し、テキストベースのシンプルな体験に焦点を当てたHTTP/HTMLの軽量な代替品であるGemini protocolの目標と密接に一致していることに気づきました。議論は、ウェブの「フォーク」を行うこと(これはブラウザの互換性が必要であることを示唆します)よりも、機能性よりもシンプルさを重視する人々のために、完全に新しい、並行するプロトコルをbuild することの方が実用的である可能性を示唆しています。

結論:ドキュメント vs. アプリケーション

対立の核心は、ドキュメントアプリケーションの区別にある。現代のウェブはこれら二つを一つのレイヤーに統合してしまい、テキスト記事を読みたいだけの人が、複雑なスプレッドシート・アプリケーションを実行するために必要なのと同じエンジンをロードすることさえ強いています。

HTMLの厳格なフォーク、あるいはGeminiのようなプロトコルへの移行を通じて、「ウェブ・ライト(web-lite)」—人間が知識を交換するための、安全で、バージョン管理された、シンプルな媒体としてのウェブ—を求める声は、現代のインターネットの複雑さによる疲れを感じている人々にとって、強力な強力な動機となっています。

Sources