Versioned Namespaces (was Re: [standards-jig] Avatars)
justin-jdev at affinix.com
Wed May 7 18:57:35 UTC 2003
On Wednesday 07 May 2003 11:16 am, Evan Prodromou wrote:
> >>>>> "JK" == Justin Karneges <justin-jdev at affinix.com> writes:
> JK> Hmm, but until a JEP status is changed to 'Active', the
> JK> semantics and syntax should be expected to change.
> JK> Experimental JEPs should not have to retain backwards
> JK> compatibility with earlier revisions of themselves.
> That's the entire point. If you _don't_ have versioning of namespaces,
> there's NO WAY for any processor to know that a partner in a
> conversation is _really_ aware of the latest version of the protocol.
Sure there is. Everyone should just be using the final protocol. ;-)
Look, I understand why you would need versioning to retain compatibility
between older versions of a spec. My point is that you shouldn't be using
experimental specs in the first place. The only time I would condone
versioning is after 1.0, when a spec has already been approved and
compatibility is thus _essential_.
While developing software, one of the most annoying things to deal with is
retaining compatibility with older baggage/cruft/etc when you'd really just
like to throw it all out the window. Open source software suffers more here,
because such software tends to need compatibility between versions during the
"perpetual beta" phase (0.0.1 -> 0.9.99), while in a closed environment you
can often scrap everything without penalty (after all, you have no userbase
yet). Baggage is the leading inhibitor of progress, and generally just gets
in the author's way.
I don't think JEP authors should have to deal with their own baggage.
Seriously, if your JEP hasn't been approved yet, don't be afraid to throw
your entire spec out the window. Tough luck for those that have implemented
an earlier revision.
More information about the Standards