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