|
From: | David Chisnall |
Subject: | Re: ABI Compatibility (was Re: Installation woes for the average user...) |
Date: | Wed, 11 Mar 2009 12:53:56 +0000 |
On 11 Mar 2009, at 08:26, Yavor Doganov wrote:
Glib/GTK+ have a stable API/ABI throughout the whole lifetime of the GNOME 2 platform
It is very easy to have a stable ABI for a procedural API because there is no notion of subclassing. Even with GObject this is not really a problem, as it doesn't really present an OO model.
The GNUstep ABI changes are USUALLY only a problem when an application has subclasses of that class that changed. Some classes are subclassed more often than others. A change to the ivar layout of NSObject would break everything, but this never happens (NSObject has no ivars, and never will). A change to something like NSView would break a lot of things, but there are still a lot of applications with no custom NSView subclasses.
Of course, API/ABI stability is a big promise, and personally I don'tthink it's worth the trouble for GNUstep at this point. It would be goodenough to break the ABI *only* when necessary.
I'd agree with this. At the very least, I'd hope that people would post a mail to gnustep-dev BEFORE breaking the ABI and not commit until there had been some discussion of whether it really is a problem. Committing to trunk and reverting if enough people complain is not really a good approach.
David
[Prev in Thread] | Current Thread | [Next in Thread] |