Two interoperable implementations rule

Jeff Dyer jodyer at
Fri Jul 11 15:49:35 PDT 2008

On 7/11/08 3:01 PM, Maciej Stachowiak wrote:

> Since there is precedent within ECMA, then I definitely think we
> should take a formal vote on adopting this rule for TC39, in
> particular that we must have two interoperable implementations for any
> of our specs before it progresses outside our committee.

This proposal is in the spirit of what we have intended for ES4 all along.
Formalizing it seems to me to be a good idea. Will keep us honest anyway ;-)

> There are also some details to be worked out:
> 1) Is "two interoperable implementations" at feature granularity, or
> whole spec granularity? In particular, is it ok to cite two
> implementations for one feature, but two other implementations for
> another?

Very good point. I've always thought that "whole feature" was good enough,
but if our goal is defining a language for interoperability on the web then
"whole spec" seems to be the right choice.

> 2) How is interoperability to be demonstrated? Do we accept good-faith
> claims of support, or do we need a test suite?

I'd say that good faith is good enough. It's easy enough for us to check
each other's work. And the blogosphere will not be kind to liars.

One more detail: 

3) What constitutes a qualifying implementation? Does Rhino, EJScript
(, or Flash Player qualify? Or must it be one of the four
leading browsers?

> Given the nature of programming languages and the high stakes of Web
> standards, I would personally prefer whole-spec granularity (different
> implementations having different mixes of features does not prove real
> interoperability), and a test suite rather than just bare claims of
> support.

Again, it will be hard to get away with cheating. But, on the other hand an
unofficial test suite (such as Spidermonkey's) would make it easier for
implementors to be honest.

> To be clear, I propose this rule not to block ES3.1, but to make it
> successful. The WebKit project will accept patches for any feature of
> 3.1 that  has been reconciled with 4, and we will likely devote Apple
> resources to implementing such features as well, so SquirrelFish will
> likely be a candidate for one of the interoperable implementations.
> Mozilla also has an extensive test suite for ECMAScript 3rd edition,
> which could be a good starting point for an ES3.1 test suite.
> I also note that the strong version of the interoperable
> implementations rule will be an even higher hurdle for ES4.

Yes, and one we've felt we should jump over all along. It would be good for
us to agree that standards produced by TC39 have all passed such a test. As
a consequence I suspect that our specs will have high rate of success.


More information about the Es4-discuss mailing list