RE: WebIDL Spec Status

From: Ryosuke Niwa <rniwa@apple.com>

> Snapshotting a specification is valuable for implementors as well.  If I refer to a living standard page, then fragment ID or terminology used in the specification may change in 5-10 years, and I would have no idea what kind of specification the person committed a given code change was following.
>
> It's also valuable to ensure the self consistency of such a snapshot since editors often "refactor" specifications to better structure, etc... but that tends to introduce dangling definitions or references and other inconsistencies in them.

While I generally agree with Hixie and other living standard proponents, I want to acknowledge that these are real and practical concerns that we have not spent enough time addressing, IMO.

Off the top of my head, a good solution would be to produce URLs for every changeset, so that you can reference how the spec looked at a point in time. (Similar to the GitHub URL you get by pressing the "y" key on any page, e.g. [1].) This would help reinforce the idea that the implementation captures the state of the spec as of the time the implementation was written, without lending any false legitimacy to the likely-outdated snapshot. In other words, it is clearer to future readers that if the spec has changed from the version listed at the given URL, then the code is outdated and needs updating.

[1]: https://github.com/whatwg/streams/blob/f83cbbd2b6199c8d5a8e9a8e77759b64786524f4/index.bs

I will probably experiment with this for the streams spec, e.g. including a "permalink to this revision" link and probably also adding the y-key functionality. Any such snapshots would have an annoying floating warning banner, of course.

Received on Wednesday, 2 July 2014 16:26:49 UTC