GTK+ Healthcheck

A while ago I had a discussion with Benjamin on IRC about the health of the GTK+ project, he seems pretty pessimistic about the state of GNOME in general and GTK+ in particular, and I showed my disagreement. Now don't get me wrong, there are challenges and I do share some concerns. Mostly, the fact that programming and delivering GNOME apps these days is way too complicated compared to other development platforms, consuming and viewing large online datasets and the lack of a coherent set of widgets and guidelines for touch driven devices are among those. Some of these issues will be covered at the DX hackfest of course and I'm certain that we will find solutions in the long term.

Benjamin raised that there seems to be less and less GTK+ hackers, and strongly disagreed with that fact, I perceive a lot more people doing stuff in GTK+ and GNOME than when I joined GNOME back in 2004. However, he caught me at something, I did not have numbers to back that up, and he was right, without actual data, I was just basing my opinion on perception. This is one of those times where I am glad that data backs up my gut feeling, I wrote down a little script to count the number of different contributors on each GNOME release (or each 6 months on pre-2.0 times).

These are the results:

Notice that on top of the total contributors I have also plotted the amount of translations. I have to say that we have an outstanding group of translators who are doing a remarkable job in the GNOME community, however while the amount of translators reflects the good health of our translators community, it does not really reflect the health of the project code wise, therefore I decided to do another chart with just code contributions:

This chart shows what my gut feelings told me already, a lot of people are contributing to GTK+ these days, more than ever. There are a few points in time where contributions have risen up noticeably, one is in the 2.18 release, which I suspect has to do with the adoption of Subversion over CVS, and the other one is during the 3.0 release.

All in all, there seems to be a rough average of 60 people contributing code on each release, this has enormous potential. Of course, a lot of these contributions are small, but it means that a lot of people find it possible to contribute code which means that this perception that people are running away from core GTK+ development is not true. In fact, it has only gotten better steadily during the past few years.

Not only in terms of people contributing patches, but 3.x has been an outstanding release series (though a bit bumpy stability wise), CSS theming and a new cairo based theming API, the broadway and wayland backends, file and font chooser improvements, a massive code cleanup in several places… the list just goes on. Not to mention that the grounds for 4.0 are being settled already like the paint clock work by Owen and the work Emmanuele has been doing on Clutter 2.0.

I remember that back in 2004, the sole suggestion of adding a new widget to the toolkit was received very negatively by the maintainers (for good reasons at the time), that is not the case anymore, things are at an optimal stage to get the improvements we need in.

At the end of the day is up to us to see the cup half empty or half full, FOSS communities are a lot about enthusiasm so I think we are better off making an effort at looking at the bright side of life and stop ourselves from actively undermining others people's enthusiasm, the worst thing we can do if we love GNOME is to let people think that there is no point in investing our time and passion in it.

So all in all, I think that there are challenges, but we have loads opportunities to improve as well. We have many facts to celebrate and be excited about.

Let's keep on rocking. 


12 thoughts on “GTK+ Healthcheck

  1. Great to see that translators are highlighted! 🙂
    And yes, you are completely right, we have to be proud of what we have and show off that proudness always.
    Since LibreOffice started two or more years ago I always felt that their easy hacks idea was something that all FOSS projects should try to copy, but more than just copying marketing it as good as they have been doing.
    No matter how much gnome-love bugs you tag, or how many GNOME goals you create on the wiki, you have to keep reminding people that they exist and that people are doing them while thanking the ones that have already done something. The every detail matters initiative looks good, lacks a bit of campaign maybe.
    A newcomers page (on the wiki or on w.g.o) pointing to these resources would help (and promoting it as a first place to go too).
    I’m sad to not be able to come to the DX hackfest, I hope lots of ideas are shared and plans are drawn!


  2. Squashed bugcount is though since new features tend to get a bug before committed to mainline. All the GTK widgets have an unending sea of open bugs. I think new contributors are fixing what they run into, but bugzilla is too much of a mess to do more than that.


  3. The problem with GTK+ (and GNOME) is not the number of contributors, the problem is the concentration of power around a few individuals. That concentration discourages others from doing much…


  4. Also that much of the development happens at a rapid pace, in private, and often negatively affecting the lion’s share of GTK+ apps that aren’t targetted at GNOME. They would get much more contributions if development happened in public (eg. mailing lists, scheduled IRC times, etc) and if cross-platform was more of a goal and GNOME made it’s own widget set/extension library instead of infesting GTK+ with its random usability experiments.


  5. Matt,
    That’s exactly the way it happens. People hang out on IRC all day, and we do schedule meetings everytime one is requested. We discuss things in gtk-devel too.
    The reason more cross-platform support doesn’t happen is simple, none of the developers run Windows or Mac, so none is taking care of those backends. It’s hardly going to happen unless people step up to do the work.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s