Versioning interfaces

Daniel P. Berrange dan at berrange.com
Tue Nov 15 02:15:00 PST 2005


On Mon, Nov 14, 2005 at 12:20:45PM -0500, Havoc Pennington wrote:
> On Mon, 2005-11-14 at 12:54 +0000, Daniel P. Berrange wrote:
> >  b) Just tack a number onto the end of the interface name, getting
> >     something like  'org.example.Music.Player2', 'org.example.Music.Player3',
> >     etc, etc.
> 
> This is what most existing frameworks such as COM do fwiw. Another
> convention is to put "X" in there, like "XPlayer" or "javax."
> 
> Java typically creates a new package with a new API for major changes,
> e.g. io -> nio
> 
> >  In
> > reality many apps will choose c), even though it is truely evil. 
> 
> Well, just because the Linux world seems to be kind of retarded about
> this. Lots of pushback on ometer.com/parallel.html too, for "aesthetic"
> reasons. I think the Java and Windows worlds both "get it" on this
> front.

Now that is a very interesting / helpful URL. I had been thinking about
this purely in terms of ensuring a client can express a required minimum
version for an interface, and not considering the wider use case of how 
can one allow multiple versions of a service to co-exist on the bus. Tacking 
the major versioning digit onto the end of a name is a really quite effective 
way of enabling parallel installation of different versions - trivially
avoiding the need to introduce (much) extra logic in the bus. In light of this, 
I think the 'rename for breakage' rule isn't soo bad after all :-)

Regards,
Dan.
-- 
|=-            GPG key: http://www.berrange.com/~dan/gpgkey.txt       -=|
|=-       Perl modules: http://search.cpan.org/~danberr/              -=|
|=-           Projects: http://freshmeat.net/~danielpb/               -=|
|=-   berrange at redhat.com  -  Daniel Berrange  -  dan at berrange.com    -=|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/dbus/attachments/20051115/55e08d52/attachment.pgp


More information about the dbus mailing list