解決策
JavaScriptは1995年にNetscape 2.0を通じて広まり、すぐにMicrosoftによってInternet Explorer 3.0向けのJScriptとしてリバースエンジニアリングされた。1年も経たないうちに、開発者は両者の相互運用性の問題に直面するようになった。
1996年11月、Ecma Internationalの下でこの言語を標準化する作業が始まった。MicrosoftのThomas Reardonは新しいTC39委員会に対し、JScriptをNetscapeと互換に保つことがいかに難しいかを伝え、正式な仕様の必要性を強調した。
TC39は約7か月で最初のECMA-262を作成し、1997年6月に承認された。ECMAScriptという名称は、商標の問題で優先候補が排除された後に選ばれた。ISO/IEC 16262は1998年に続いた。JScriptとJavaScriptはこの標準に収束し、それ以降、対抗するブラウザ言語がこれに取って代わることはなかった。
達成したこと
中立的な1つの仕様が競合他社の互換性を保つ
うまくいった理由
中立的な仕様により、MicrosoftとNetscapeは1つの言語を共有できた。
7か月の作業が、すでに始まっていた分断を食い止めた。
ISOへのファストトラック採用が、正式な国際的立場を与えた。
ブラウザのゲーム理論により、新たな対抗言語はほぼ不可能になった。
応用できること
デファクトスタンダードが1つのベンダーに所有されている場合、競合他社はそれをフォークする。仕様を中立的な団体に移すことで、クローン戦争を誰もがその上に構築できる共有プラットフォームに変えることができる。
その後
ECMAScriptはウェブ上で最も成功した標準の1つである。TC39は今もこれを進化させ続けており、すべてのブラウザが同じコア言語を実装している。
出典をたどる
出典
- ECMA-262: The ECMAScript (JavaScript) is celebrating its 20th birthday Ecma International · ecma-international.org ·
- Brief History of ECMAScript Ecma International (archives) · archives.ecma-international.org
- JavaScript: The First 20 Years Proceedings of the ACM on Programming Languages (HOPL) · wirfs-brock.com