寻找场地

当 1995 年 Mocha 项目开始时,要想确保网页在不同浏览器之间的兼容性,需要的显然已经是规范化的标准了。Netscape 和 Sun 在发布 JavaScript 时 [1995] 也指出了这一点:

Netscape 和 Sun 计划向万维网联盟(W3C)和互联网工程任务组(IETF)提议,将 JavaScript 作为开放的互联网脚本语言标准。

然而,W3C 和 IETF 都不适合创建独立于厂商的 JavaScript 规范。IETF 关注的重点是互联网的协议和数据格式,而非编程语言。W3C 则是一个新组织,其技术领导者对于向 Web 技术栈中添加命令式编程语言并不感兴趣。譬如 Berners-Lee 的协作者 Robert Cailliau 在一次采访中 [Wikinews 2007] 就这么说过:

比如说,我很确信我们需要把一门编程语言内置进去。但是以 Tim(Berners-Lee)为代表的开发者们相当反对,认为它必须保持完全的声明式。

在 1996 年初,浏览器技术正处于「互联网节奏」30[Iansiti and MacCormack 1997] 的发展速度下。但是,语言的标准化进程常以缓慢而闻名,并且还容易引起争议。鉴于微软正认真对待浏览器竞争,Netscape 和 Sun 担心微软可能企图主导 Web 脚本标准的开发,从而把标准重新聚焦到基于 Visual Basic 的语言上。在 1996 年春天,Netscape 和 Sun 需要找到一个公认的标准开发组织,在它的保护下快速起草 JavaScript 标准。这个过程可以由微软参与,但不能由微软主导。Netscape 的标准专家 Carl Cargill 认识 Ecma 国际组织(Ecma International)的秘书长 Jan van den Beld,并朝这个方向推动了 JavaScript 的标准化。Ecma 对自己的定位是以业务为中心的标准组织,旨在将官僚主义流程最小化,从而把标准制定时间减至最少。由于国际标准组织(ISO)认可 Ecma 国际,Ecma 的标准可以通过快速通道来成为 ISO 标准。除了 Cargill 的人脉以外,Sun 也已经是 Ecma 的会员。它认为 Ecma 在微软反对下仍然坚持发布 Windows API 标准的行为,已经证明了其独立性 [LaMonica 1995]。

在 1996 年春天和夏天,Netscape、Sun 和 Jan van den Beld 做了非正式的联系和讨论。当年 9 月,Ecma 协调委员会(Ecma Co-ordinating31)[1996b] 考量了 Netscape 对启动 JavaScript 标准化活动的请求,并授权于 1996 年 11 月 4 日至 5 日在硅谷举行启动会议。Netscape 也正式申请 [Sampath 1996] 成为 Ecma 的准会员(Associate Member32)。10 月 30 日,Ecma 发表了对「JavaScript 项目启动会议」的开放邀请 [Ecma International 1996a]。如果获得足够兴趣,它将为活动组织出一个新的 Ecma 技术委员会(Technical Committee)。Ecma 使用数字来标记旗下的技术委员会,而下一个可用数字是 39。在 1996 年 12 月,Ecma 大会在其半年一度的 GA(General Assembly)大会上批准了 TC39 及其工作宣言的创立。与此同时,微软也作为标准会员(Ordinary Member)加入了 Ecma。