On Jul 2, 2014, at 9:26 AM, Domenic Denicola <dome...@domenicdenicola.com> 
wrote:

> From: Ryosuke Niwa <rn...@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.

Yeah, I always encourage patch authors to do this in WebKit.

Just as an example, a hyperlink I got in Feb 2013 [1] to the WHATWG HTML spec 
no longer works today.  To me, Feb 2013 is not a long time ago and the fact I 
don't have an easy way of figuring out what the specification looked like at 
the time, or how it has changed since then is a serious problem since I don't 
have the luxury of following every spec. change due to the time restraints.

There are other ways to mitigate these issues in addition to publishing every 
revision of a given specification.  For example, spec authors could list & 
support every historical terminology and fragmentation ever introduced.  We 
could even create some service/database to map such historical names to the new 
ones, explaining the difference.

[1] 
http://whatwg.org/html#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality

- R. Niwa


Reply via email to