Re: About compatibility in GNOME 2 (was Re: Compatibility stuff)



Martin,

First, let me apologize for the tone of my original mail.  It clearly
was over-emotional for a response to a well-intentioned proposal

In a lame defense of my language, I'll say that much of the problems
that were seen in the pre-1.0 GNOME days were from people trying to
target multiple versions of GTK+. There was plenty of code that looked
like:

#if GTK_MAJOR == 1 && GTK_MINOR === 1 && GTK_MICRO > 3
 do_this ()
#elif GTK_MAJOR == 1 && GTK_MINOR === 1 && GTK_MICRO > 2
 do_that ()
#else 
 do_something_else()
#endif

This was no favor to anyone. Going back to these days is something I
really don't want to do, and we deliberately designed the way we are
handling GTK+-2.0 to avoid this.


In terms of trying to convince maintainers to port to gnome-libs-2 - I
don't think there is an issue. The plan at the current time is that by
GUADEC, two things will have happened:

 - We'll have released GNOME-1.4

 - The GTK+-2.0 API will be frozen.

At that point, we'll branch all GNOME libraries into a stable
GTK+-1.2/gnome-libs-1 version and start porting everything over.

(In fact, library maintainers would be advised to branch as
soon as the packages for GNOME-1.4 are frozen.)

There is no need for maintainers to try and have there project
compile against both GTK+-1.2 and GTK+-2.0, because we've
made a clean separation:

 - Development branch, port to new base libraries, add new 
   features.

 - Stable branch, fix bugs, keep working with old libraries,
   do not introduce new bugs and compilation dependencies.


Anyways, I'm sorry if you misinterpreted my mail as "we don't
care about compatibility". 

We care very much about backwards compatibility, though we have also
deliberately broken in a number of places to gain simplicity or
features that would otherwise have been impossible. 

What we don't care about is forwards compatibility - I'm strongly of
the opinion that when you are experiencing the pain of porting to
GTK+-2.0, you should not have to simultaneously worry about backwards
compatibility with all the brokenness that was in GTK+-1.2.

Regards,
                                                 Owen


P.S. - A final note is that all library maintainers need to make
       a clean separation for another reason: a hard-and-fast
       requirement for GNOME-2.0 is that any library that was
       part of the GNOME-1.4 platform must at least support 
       simultaneous runtime installs with the old libraries.
       (And that means not just the .so files, but all other 
       associated data.) Simultaneous compile time environments,
       as GTK+ has would be very desirable as well, of course.




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