Re: Interface Versioning



On 11 Jul 2001 07:55:55 -0400, Michael Meeks wrote:
> 
> Hi JP,
> 
> On 10 Jul 2001, JP Rosevear wrote:
> > So, it seems there is a problem with versioning of interfaces with the
> > current standards.  
> 
> 	The ORB doesn't support it, it is not clear how to support it,
> neither is it clear how interface versioning would appear in the C
> mapping. As far as I understand the whole concept of interface versioning
> is broken.
> 

For something like gtkhtml we have the very real, very serious problem
of trying to develop a library and associated components using a
component system that doesn't support any sort of versioning.  So we end
up with massive packaging and distribution problems.

We are not talking about versioning it at the ORB level we are talking
about the practical issues involved in making software.  In real life
situations interfaces change, and we'd like to come up with some semi
standard method of dealing with it when it does happen.  So the issue
becomes what things must a package change when it wants to implement an
incompatible interface? What if we want it to still be installed at the
same time as a previous package/component?  Do we name the new interface
something completely different or do we append a version number to the
interface name?

> 	If in fact in GIDE you do have published interfaces that you need
> to version, you will have to either:
> 
> 	a) Add the new methods on another interface and QI for it.
> 	b) Add a new interface called FooBaa2

Adding an interface with a *2 name is the same as adding an interface
with a *-x.x interface name, and I think that is what JP was advocating.
That of course doesn't solve the whole problem. To get this to coexist
properly with a previously installed and incompatible
interface/component combination that we want to keep we also have to
change the executable name, the idl name etc.

> 
> 	It does sound to me as if you have a solution in search of a
> problem though.
> 

And it sounds to me like you aren't really listening.

--Larry




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