Versioned Namespaces (was Re: [standards-jig] Avatars)

Justin Karneges 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.

-Justin



More information about the Standards mailing list