Re: Suggestions for API/ABI Process



On 8/1/05, Brian Cameron <Brian Cameron sun com> wrote:

> >>  The current API/ABI rules could easily be interpreted that all
> >>GNOME interfaces are Stable.
> >
> > However, I don't think that extreme is likely. There's a fairly clear
> > separationg between Platform and Desktop.
> 
> Ah, I didn't realize that the API/ABI rules were different between
> Platform and Desktop interfaces.  This should be documented in the
> API/ABI rules more clearly.

This seems to have confused Martin as well--he was worried he'd have
to guarantee API/ABI stability for AbiWord and other packages in the
proposed productivity release.  It kind of surprised me that there was
this misunderstanding, but I went looking for the document(s) that
spelled this out and realized I couldn't find them.  I don't know if
it was in various emails, GEPs (which are not easy to find), or
somewhere else.  So, yeah, we need to clarify this.

>  > Why does it matter? What is the advantage? Is it worth losing the
>  > advantage of most GNOME 2 libraries being 2.something?
>  >
>  > libgtk-1.2.so is clearly different to libgtk-2.0.so and
>  > libgnomprint-2.so is clearly different to libgnomeprint-2.2.so
>  >
>  > No massaging of those numbers, other than having the same names, will
>  > make those libraries ABI compatible. They are different libraries.
> 
> It matters for the following reasons:

<snip>

>     It isn't necessarily bad if different libraries are following
>     different rules.  But if they are, the following needs to be
>     better documented:  what the different rules are, how to tell which
>     libraries are following which rule, and how to tell when an ABI
>     incompatible difference is added to the library by looking at its
>     version number.

Further documentation on this matter may also help to for other
reasons.  For example, libwnck isn't a stable interface but Havoc
provided at least some basic assurances about it (will bump soname if
API/ABI breakage occurs, maybe other stuff).  As a clueless newbie but
with energy enough to fix some stuff, I've now got some of the
maintainerish tasks for the module.  But I don't know if I'm following
the rules right (or being too paranoid--Rodrigo complained about too
many soname bumps while trying to test stuff and fix some things).

> 2) In order for GNOME's API/ABI policy to be meaningful, Stable
>     libraries should not change ABI in the GNOME 2.x timeframe.
>     So, either libgnomeprint* isn't Stable ABI that people should
>     use, or GNOME should have been bumped to 3.0, or this ABI
>     change was a mess-up that we should learn from and avoid in the
>     future?

libgnomeprint isn't stable--it's in the desktop release, not platform release.

>     If the answer is libgnomeprint* isn't Stable because it is not a
>     part of the Platform interfaces, then this might not be a great
>     answer.  It's hard to imagine that ISV's won't want access to
>     the library that gives programs access to printing.  Do libraries
>     migrate from Desktop to Platform when the GNOME community
>     recognizes that ISV's might need to use the library?

Moving to the platform if stability assurances can't be met wouldn't
do any good.  But yes, there is a goal to make libraries in the
desktop which others would want to use stable enough to move to the
platform.  My guess is that libgnomeprint is close to this level
(though I'm not very familiar with the library).  libwnck is another
that some people have wanted to become more stable (but it just isn't
there yet and will need much more time before it gets there).

Cheers,
Elijah



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