Excerpts from Robert Collins's message of 2016-05-18 14:57:05 +1200:
> On 18 May 2016 at 00:54, Brian Rosmaita <[email protected]> wrote:
> 
> >> Couple of examples:
> >> 1. switching from "is_public=true" to "visibility=public"
> >
> >
> > This was a major version change in the Images API.  The 'is_public' boolean
> > is in the original Images v1 API, 'visibility' was introduced with the
> > Images v2 API in the Folsom release.  You just need an awareness of which
> > version of the API you're talking to.
> 
> So I realise this is ancient history, but this is really a good
> example of why Monty has been pushing on 'never break our APIs': API
> breaks hurt users, major versions or not. Keeping the old attribute as
> an alias to the new one would have avoided the user pain for a very
> small amount of code.
> 
> We are by definition an API - doesn't matter that its HTTP vs Python -
> when we break compatibility, there's a very long tail of folk that
> will have to spend time updating their code; 'Microversions' are a
> good answer to this, as long as we never raise the minimum version we
> support. glibc does a very similar thing with versioned symbols - and
> they support things approximately indefinitely.

+1, realy well said. As Nikhil said, assumptions are bad, and assuming
that nobody's using that, or that they'll just adapt, is not really a
great way to establish a relationship with the users.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to