On Fri, Jun 21, 2013 at 11:45 PM, Andrew Overholt <overh...@mozilla.com> wrote:
>   https://wiki.mozilla.org/User:Overholt/APIExposurePolicy
>
> I'd appreciate your review feedback.  Thanks.

Thank you for putting this together.

In general, I'd like the point "no prefixing" to be made more
forcefully/clearly.

Further quotes from the doc.

> Standardization

It's a bit unclear if this section is trying to establish criteria for
shipping a feature on the release channel or criteria for starting an
implementation in Gecko without shipping it right away.

> the relevant standards body declares it ready for implementation

Since the next two points talk about implementations but this one
doesn't, I'm reading this as a standards body declaration happening
without other implementations in place.

For the purpose of shipping a feature on the release channel, I think
a declaration by a standards body isn't good enough. If no one else
wants to ship, which still end up with a single-vendor feature even if
we somehow managed to get a standards body to bless it. (And the W3C
blesses all sorts of things as evidenced by enterprise XML stuff and
capital-S Semantic Web stuff.)

For the purpose of starting an implementation in Gecko, the point in
time where the W3C declares a spec ready for implementation is
woefully late from the point of view of when you should have started
implementing. I think for the purpose of starting implementation we
should have a less precise criterion about when a spec at a standards
body seems stable enough to start implementation.

> at least two other browser vendors ship a compatible implementation of this 
> API

This formulation has two problems: First, it talks about browser
vendors instead of talking about browser engines. Google and Opera
shipping the same code from the Blink repo should not count as to
independent implementations. Second, it talks about shipping. If
everyone adopted these rules, we'd be deadlocked for shipping. Instead
of shipping, I think we should talk about a compatible implementation
in the nightly builds (or higher) of at least two other browser
engines when there is a reasonable assumption that the feature is
genuinely on track to graduating from nightly builds to release
eventually.

> at least one other browser vendor ships -- or publicly states their intention 
> to ship -- a compatible implementation of this API and there is a 
> specification that is no longer at risk of significant changes, on track to 
> become a standard with an relevant standards body, and acceptable to a number 
> of applicable parties

I think this point should be similarly tightened to talk about browser
engines instead of vendors and relaxed to allow other engines' nightly
builds to be considered when considering whether we can move a feature
to release.

> Exceptions

Is the intention that APIs shipped under the exceptions to the rules
still be unprefixed? (I think it's better to squat namespace and not
prefix than to risk unprefixed feature getting popular enough that we
need to consider unprefixing later.)

> Shipping

It seems to me that it should be clarified that "shipping" means
pressing on by default on the release channel and it's okay to have
code in m-c and even enabled in nightlies before that.

> Cleanup

window.navigator seems like a poor example of something to be cleaned
up. Surely it is now such a part of the platform that it mustn't be
changed.

-- 
Henri Sivonen
hsivo...@hsivonen.fi
http://hsivonen.iki.fi/
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to