Re: [public-webapps] Comment on Widget URI (7)

On Dec 17, 2009, at 03:20 , Larry Masinter wrote:
> I actually think the TAG discussions about versioning and the use of version
> indicators has been helpful, but it's been hard to drive this to a publication,
> because there's still some work to be done. However, I think the main insight
> I've had is that version indicators have limited (but non-zero) utility in 
> situations where the popular language implementations evolve independently
> of published language specifications. Normally, if language implementations
> follow language specifications closely, you can use the version number of
> the specification as a good indicator of the version number of the language.

That's not how I would characterise it. For error-handling and versioning purposes, you can get much, much more mileage out of defining processing rules (ignore-unknown, must-understand, etc.) than you get out of version indicators — especially given the fact that if you produce a truly incompatible new version of a given language, you really should just change the namespace.

Once you have bi-compatible processing rules, and a contract that breaking changes must lead to a new language (because conceptually, if it's not mutually intelligible, it really is a different language), well you quickly find that any version indicator is either a) correct, but entirely useless; or b) incorrect (and therefore potentially harmful).

So I don't think that it's a question of whether implementations drift compared to specifications — even though in practice that's a factor. The problem is that using a version indicator is *not* a versioning strategy, but as soon as you start having a versioning strategy you cease needing a version indicator.

> I'm not quite sure what "P&C" is, to know how this analysis applies to it.

P+C is the Packaging and Configuration widgets specification, which defines an XML language that has no version indicator (some people asked for one, but no one could demonstrate a use for it) but does have a set of ignore-unknown versioning (and extensibility) rules. It has been shown to be trivially grown and extended without compatibility issues nor version indicators.

-- 
Robin Berjon - http://berjon.com/

Received on Friday, 18 December 2009 16:23:47 UTC