The changes that Mozilla and Adobe in particular were hoping to implement in their proposal for an ECMAScript 4.0 (ES4) made more than a year ago were considerably more sweeping, and to a significant extent involved introducing early binding and Java-like inheritance into the model, while at the same time taking a cue from lambda function languages such as LISP or Haskell to more effectively implement features such as monads into the language itself.
This dissatisfaction with the proposal manifested itself as a very public dissension between the pro and anti-ES4 factions, including the publication of open letters on both sides of the argument trying to rally support for one or the other view and accusations of obstructionism on one hand and a blindness to adequately field test concepts on the other.
In late July 2008 the technical committee principals met in Oslo to try to come to some accord, as it was evident to everyone that the hope for any advancement of the specification was at a stand-still. Accordingly, representatives from Google, Mozilla, Microsoft, Yahoo, Opera, Adobe, Apple and others all met with the idea of finding a way to break the deadlock. After a series of meetings that Waldemar Horwat of Google described as "seminal", they apparently have succeeded.
Early binding, however, was seen as imposing too heavy a performance cost on the system (especially for existing browser implementers beyond Mozilla and Adobe) and didn't work well with the late-binding mindset that is seen in the AJAX development community. Namespaces similarly were perceived by many as adding a fairly hefty complexity cost without necessarily providing adequate value for that complexity.
The adoption of ES3.1 as the new trunk for development impacts Mozilla somewhat, but it has been an especially bitter pill for Adobe to swallow, as they had built ActionScript 3.0 (as well as the open source Tamarin engine which they had donated to Mozilla last year) based upon the ES4 draft. The most immediate consequence of this is that Flash and Flex (along with next generation tools such as Mars and Adobe Air) are now no longer compliant with the new ECMAScript engine, and with specific paths of development now likely permanently closed, there is no chance that they will be in the future.
This forces Adobe's CEO, Shantanu Narayen, into one of two equally unpalatable options - perform a product wide refactoring of their core technologies in order to stay compliant, or to officially fork the development tree and proceed independently with a now non-canonical ActionScript implementation. No decision had been made at the time of this writing.
It is perhaps too soon to say that the current harmony of the participants will not break down again into discord, though the timing is fortuitous, as development efforts for the next major versions of nearly all current browsers is still some 18 months to two years out - long enough to make changes in the core libraries of most of these browsers to better work with the emerging specification. The results of those efforts, after fifteen years of hostile rancor among all the participants, may actually be the creation of a common scripting language for use all across the web.
Kurt Cagle is Online Editor for O'Reilly Media and the editor for xml.com. He lives in Victoria, British Columbia with his family, where he spends mornings watching Canadian geese land in his back yard.