[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Usage Scenarios for Versioning and Extensibility




At 5:14 PM -0700 7/12/04, Mark Nottingham wrote:
0) Let's imagine that Atom 1.0 has been released and finalised in all of its glory.

1) And it was good... except for that nasty atom:title element; after wide deployment experience, it's agreed we need a new version of it. So, a new version of Atom is introduced. The new one isn't backwards-compatible with the old one.

2) Then, we decide we want to add a new metadata element, let's call it "fog." So, a new version of Atom is introduced.

3) After a while, someone comes up with a souped-up version of atom:title that is backwards-compatible, just *better*. It gets really popular, and yet another version of Atom is born.

4) At the same time, a group of rogue Open Source Software programmers descends upon this idyllic scene and introduces its own extensions. Up until now, all of our extensions have been approved and incorporated by the WG, but these are destined to remain separate.

5) Finally, in 2010, we realise that the Atom feed and entry containers aren't really doing the job, and we need to change their model. Yet Another Version of Atom (YAVA) comes into being.

Any proposal for versioning should address at least these situations, show how the various extensions and changes are identified and disambiguated, and should explain how software is to handle them. They should also consider how combinations of these scenarios are handled.

+1 or more. This is an excellent mix and not at all far-fetched. It should help us focus on what we need for versioning and extensibility.


--Paul Hoffman, Director
--Internet Mail Consortium