On Sun, Dec 14, 2003 at 10:47:37PM +0100, Xavier Ordoquy wrote:
> The meaning of API/ABI freeze.
> ------------------------------
> 
>  * Do not break ABI. For instance, if an application uses 2.6.0,
> installing 2.6.1 should not intentionally break that already-installed
> application.
>  * Do not break API. For instance, you should not break application
> builds. If an application built with 2.6.0, then it should build with
> 2.6.1.

I am fine with these rules as well.

>  * You may not add API in the stable (2.6.x, for instance) phase. You
> must wait until the next schedule to add API. Remember, it's not a
> problem if you must wait to add API, because you must only wait <6
> months until the next stable release. For instance, GTK+ 2.4 adds API
> compared to GTK+ 2.2.

This could hamper the addition of simple, non-intrusive API that we
receive in the form of patches to Bugzilla. Yes, many of those have been
ignored, but I'm trusting Johan will realize he's responsible for taking
care of shepherding the simpler ones and leaving the hairy stuff for
James <wink>.

I'm starting to think that we're not really in position to adhere
strictly here yet.

> <That one may not make sense at first read, but afterwards it appears to
> be ok since pygtk uses a X.X for the required function
> (pygtk.require('2.0') as for now). We may not know if the micro version
> is more or less than the required. However as we are not working on
> features developpement but on wrapper I'm mixed on that "no API
> addition">

Well, given that this text discusses bindings (a.k.a. "wrappers"), I
think API stability definitely includes adding functions.

> * You may break API/ABI in the next schedule only if you create a new
> version of the API which is parallel-installable with the older version.

/me grimaces at more pygtk.require() evil

> As you can notice, gtkhtml2, gnome-applets, nautilus, libgnomeprint,
> libgnomeprintui and libzvt aren't part of the gnome developer plateforme
> but the desktop one.

Does that make a difference?

> and users). Moreover only the detected packages are built. Therefore,
> the wrapped libraries out of the gnome developer set are not required in
> order to build the wrapper of those in.
> Given this, I consider it fits the binding rules.

Can you rephrase this? I couldn't figure out what you meant.

> I'll start by monday to work on an API coverage tool to point functions
> that aren't wrapped (addition from gtk+2.0 that haven't been added for
> example).

Oh, that will be awesome!

> The wrapper itself put appart, we would have to:
>  * bounce the minor version number to something like 2.5.x

Do you mean pygtk.require("2.5")?

>  * set an agreement on spliting or not the gnome-python package

Here's a vote for no :)

>  * maybe add a gnome.require as gnome may keep on going without gtk
> doing so.

Ditto!

Take care,
--
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 261 2331
_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to