gnustep-dev
[Top][All Lists]
Advanced

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

Re: gnustep release numbers


From: Hubert Chan
Subject: Re: gnustep release numbers
Date: Wed, 04 Oct 2006 23:00:46 -0400
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux)

On Thu, 5 Oct 2006 01:42:15 +0200, Helge Hess <address@hidden> said:

> On Oct 5, 2006, at 01:27, Jeremy Bettis wrote:
>> I thought that to provide a "stable" ABI, you just can't do these
>> things:
> ...
>> But these things should not cause instabilitity:
>> 
>> Adding a class
>> Adding a method

> Thats wrong. A soname fixes one API, it can be neither extended nor
> reduced (nor changed in the behaviour). I already gave the example of
> adding a class.

Sorry, I think we have different definitions of ABI stability.  My
understanding is the same as Jeremy Bettis.

>From my understanding of what other (non-GNUstep) library developers do
(e.g. GTK, QT, etc.), they don't consider adding functionality to be
breaking the ABI.  The only case that they tend to worry about is
running previously-compiled programs with the new library: if that use
case works, then they consider ABI compatibility to not be broken.  They
do not usually consider the case of a newly-compiled program (possibly
depending on new functionality) running on an old library.  Hence adding
classes or methods are generally considered OK.  (And I'm pretty sure
that GTK has added some new classes and functions since their 2.0.)

In fact, packaging systems generally take care of the second use case: a
program compiled under the new library will depend on the new version of
the library (in Debian, this is done using a dependency that looks like
"libgnustep-gui0.10 (>= 0.10.2)", where "libgnustep-gui0.10" represents
the SONAME, and "(>= 0.10.2)" represents the minimum version number
required).

> You are mixing up ABIs (or more exactly sonames) with backward
> compatible APIs :-) ...

Actually, I think that we (Jeremy and I) are talking about providing
backward-compatible ABIs, whereas you are talking about ensuring
backward- and forward-compatible ABIs.

-- 
Hubert Chan - email & Jabber: address@hidden - http://www.uhoreg.ca/
PGP/GnuPG key: 1024D/124B61FA   (Key available at wwwkeys.pgp.net)
Fingerprint: 96C5 012F 5F74 A5F7 1FF7  5291 AF29 C719 124B 61FA





reply via email to

[Prev in Thread] Current Thread [Next in Thread]