Re: Bug 687752 - work with theme authors



Mike C. <compmastermike <at> yahoo.com> writes:

> It is, but I'd talk more about GTK as a platform than GNOME here because I see
> a lot of caution to port to this mythical GTK3 beast. XFCE and LXDE seem to
> position themselves as wanting GTK3, but hesitant to grab it. SpaceFM only
> recently got GTK3 compatibility because I decided that was what I wanted and
> contributed it, managing compatibility back to GTK 2.18 in the process. I don't
> like the thought that the hesitance is justified beyond not finding the porting
> process interesting.
> 
(Important disclaimer: I am now stating the de-facto situation, not the
situation I wish for. But I think naming - and accepting - the status quo is an
important first step.)

GTK 3 at this point really is just the GNOME toolkit. There is absolutely zero
involvement from anyone else. Neither XFCE nor LXDE nor Windows or OS X
developers take any interest in pushing the toolkit forward - apart from
occasional bug reports and patches. All features are prototyped, coded and
maintained by GNOME developers. So in its current state I would call GTK a part
of GNOME. It's worth pointing out that this was basically the same situation
with GTK 2.

The first conclusion from that is that it is (and has been for a few years) a
bit disingenuous if people say "we're not using GNOME, we're just using GTK".
XFCE, LXDE, Mate etc (even Unity) are just different panels and apps built on
top of technologies driven and developed by GNOME developers. (You could include
not just GTK but also glib, Cairo, NetworkManager, and probably even X,
GStreamer and systemd to an extent in those technologies.)

Where this all gets interesting is the transition in mentality and behavior (for
lack of a bettter word) of the GNOME development community in the transition
from GNOME 2 to GNOME 3. GNOME 2 development was a steady process with a clearly
defined goal. Almost everything was static. As such, nothing ever really got
different. If anything, it gained more features or changed a default value.
Sure, occasionally there was a hickup, but in general everything was obvious. If
I had to describe it with an image, I'd use http://i.imgur.com/TXzZh.jpg
GNOME 3 is (it didn't start out to be, but quickly transitioned into) an
experiment. People don't know how GNOME is gonna look in 3 years. Or even what
hardware it's going to run on. What are the minimum system requirements? Nobody
knows. Goals, design, code and APIs keep changing all the time. The obligatory
image I'd use to describe it is http://i.imgur.com/ysSK3.png

Now what does that mean for you or me working with GNOME 3 (or GTK 3)? It means
they can't rely on things staying the same or having a stable base to build on.
Things keep changing. You can't just write something for 3.0 (be it an
application, a shell plugin or a GTK theme) and expect it stay working that way
forever. Instead you need to constantly improve on your work.
There's one important thing to note about this however. If you participate in
this process - like a bunch of applications do - you get two things: 
(1) You get the help of the GNOME developers. People are generally interested in
your use cases and want to make your life easier and better.
(2) You get to influence the direction of development. You can request features
that you are missing and can expect help to get them implemented.
However, you also lose your independence to do whatever you want and you get to
compromise on your vision. Which is why at this point in time I'd advocate
against Mozilla, Libreoffice, XFCE or LXDE to switch to GTK 3. They value their
independence from GNOME too much.


Now what does that mean for theme developers? And how can we improve the
situation? I don't know really. An important step is agreeing that what I've
written above is the status quo and communicating that. I think that would help
a lot of people (both the people developing on top of GNOME/GTK 3 and the
regular haters that comment on all the articles appearing about it). It would
also set the expectations right about what you're going to get into. It's not
just about changing 5 colors and 3 settings in a gtkrc file anymore to get a new
theme that'll work until eternity.

I think what we shouldn't do though (and you seem to be advocating it in your
mail) is care too much about backwards compatibility. Sure, it's nice to be
backwards compatible where we can. But no, we shouldn't try too hard. That slows
us down too much and then we can't experiment quickly anymore. And so far,
that's what we want. Backwards compatibility is a huge time sink.

Benjamin



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