Re: Putting the 'Mono debate' back on the rails



On Sat, 2006-07-22 at 00:03 +1000, Jeff Waugh wrote:

>  * Should we include Gtk# in the Bindings suite?
>   - the release management issues have largely been solved, aside from Gtk#
>     not being split between Platform and Desktop (stable and unstable) APIs
>     which is pretty important in terms of ISV/ISD communication and so on

I have resisted this split, and I think the above statement gets to the
heart of my issue.  There is this idea that it is not possible to
guarantee API stability for bindings of Desktop libraries.  We (Gtk#)
have made no stability exceptions for these APIs to our users.  That may
seem insane to some.  It may make us jump through some additional hoops
down the road, if the desktop developers choose to exercise their
prerogative to break things.  However, it has not been an issue for us
to this point.

We bind six libraries that fall in the desktop set currently.  I cannot
split out three of them because the APIs are included in gnome-sharp.dll
currently, and to split them out would break API compat for my users.
Those are libgnomeprint, libgnomeprintui, and libpanelapplet.  The first
two are unlikely to have API breakage, since they are basically
deprecated by Gtk 2.10.  libpanelapplet is a very small exposed API for
us.  If splitting these APIs out is a requirement, we can remove Gtk#
from consideration now. 

The remaining three, rsvg, vte, and gtkhtml have not proven problematic.
The small portion of gtkhtml that we bind has not changed since 3.10.
We have not updated the version of rsvg or vte since Gtk# 1.0, and have
had no reports of breakage against newer installed versions.

We currently have a policy that only Gnome Platform libraries will be
considered for inclusion going forward.  Since I am already committed to
maintaining API stability in the existing bindings, and that seems to be
the crux of the "No non-platform bindings" rule, I still think it should
be reasonable to allow Gtk# into the bindings release as is.  

Hopefully that helps explain why I resist when people continue to tell
me I must split up the binding to remove these "unstable" libraries.
The resulting split would provide users no additional guarantees, would
require more work on my part and for packagers and users, and would
theoretically break deployed applications if upgrading Gtk# started
removing installed binaries.

-- 
Mike Kestner <mkestner novell com>




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