GNOME: ‘staring into the abyss’

Honest question. Do you think the GNOME project is as healthy today as it was, say, 4 years ago? Benjamin Otte explains that no, it isn’t. GNOME lacks developers, goals, mindshare and users. The situation as he describes it, is a lot more dire than I personally thought.

GNOME 3 has always been a controversial product. GNOME 2.x was refined for years to a very usable and nice desktop environment – I loved it – and you’d think that with a base as good as this, GNOME 3 would build upon it. Instead, and the GNOME team should be commended for this, they decided to more or less start from scratch (UI-wise) and try and come up with something new and fresh.

Sadly, this didn’t turn out very well. Many GNOME 2 users were upset because GNOME 3 had little to nothing in common with what came before, and it seemed explicitly designed to be as inflexible as possible. It felt more like an idealised concept designed for users from a perfect fairytale kingdom than for actual, real-world users. Personally, I quickly lost interest because it was clear to me that as a big fan of the straightforwardness of GNOME 2.x I was no longer part of GNOME’s target user group. No hard feelings though – projects change focus, it happens.

The marketplace, if you can call it as such, didn’t like GNOME 3 either. The biggest GNOME advocate up until then, Ubuntu, didn’t like GNOME 3’s direction, and early on started working on Unity. Mint, another popular Linux distribution, ignored GNOME 3 as well, and is working on the Cinnamon project.

A shrinking userbase obviously has consequences: less developers. Not only the influx of new blood suffers, but old blood is leaving the project as well, and currently, GNOME is understaffed. “For anecdotal numbers: GTK has 1 person working full-time on it (me). Glib doesn’t even have that. I think Evolution is in a similar situation (a complete email client)”, Otte notes, “We can also try Ohloh’s statistics for GNOME (they include 131 packages, including GStreamer and NetworkManager). You’ll see a sharp drop off of committers on the first page already which suggests around 20 full-time developers at most.”

Anecdotal or no, such numbers do not bode well when you take the sheer size of the GNOME project into account. This is not a project that can be succesfully developed by a handful of developers – it needs more than that. And, Otte points out, the situation is only getting worse, since traditional GNOME/Gtk supporters, like SUSE and Nokia, are backing down.

Lastly, he explains, GNOME has no goals, and without goals, there’s no direction, nor a way to measure yourself. “In fact, these days GNOME describes itself as a ‘community that makes great software’, which is as nondescript as you can get for software development,” he states, “The biggest problem with having no goals is that you can’t measure yourself. Nobody can say if GNOME 3 is better or worse than GNOME 2. There is no recognized metric anywhere. This also leads to frustration in lots of places.”

In my view, this is what happens when you make software for hypothetical users, instead of for real users. It’s great to have all sorts of ideas about how users should work and developer a user interface to match, but if users don’t actually work that way at all, you’re left with an environment nobody wants to use. Microsoft can take such a gamble with Metro because it will ship on every computer anyway; GNOME does not have that luxury.

I’m getting the feeling these concerns aren’t exactly new, and that a solution isn’t exactly right around the corner. GNOME took a gamble, and it isn’t working out. I’m sure we’ll see enough comments from people who like GNOME 3, but there’s simply not enough of you. That doesn’t mean GNOME 3 sucks – it simply means it isn’t popular enough to sustain itself.

Add to all this the fact that GNOME has zero presence on the next wave of devices (tablets and smartphones) and the picture is complete – and dire. Sadly, I’m afraid heels will be dug into the sand regarding GNOME 3, and we’ll see a doubling-down on an environment people simply don’t want, instead of trying to find out what users do want.

We’ll see.

157 Comments

  1. 2012-07-27 1:03 pm
    • 2012-07-27 10:35 pm
      • 2012-07-28 5:03 am
        • 2012-07-28 10:08 am
        • 2012-07-28 10:59 am
          • 2012-07-30 8:28 pm
        • 2012-07-28 1:34 pm
        • 2012-07-29 3:31 am
      • 2012-07-28 6:20 am
  2. 2012-07-27 1:07 pm
    • 2012-07-28 6:03 am
  3. 2012-07-27 1:09 pm
    • 2012-07-27 6:29 pm
    • 2012-07-30 12:08 pm
  4. 2012-07-27 1:41 pm
    • 2012-07-27 2:25 pm
    • 2012-07-27 2:44 pm
    • 2012-07-27 5:01 pm
      • 2012-07-28 5:37 pm
    • 2012-07-27 5:03 pm
  5. 2012-07-27 1:44 pm
    • 2012-07-27 1:52 pm
      • 2012-07-27 10:25 pm
      • 2012-08-03 11:55 pm
  6. 2012-07-27 1:46 pm
    • 2012-07-27 5:18 pm
      • 2012-07-27 6:37 pm
        • 2012-07-27 10:30 pm
        • 2012-07-27 10:43 pm
          • 2012-07-28 12:40 am
      • 2012-08-01 11:07 am
    • 2012-07-27 6:44 pm
      • 2012-07-28 11:21 am
        • 2012-07-28 12:24 pm
        • 2012-07-28 1:44 pm
      • 2012-07-28 1:40 pm
        • 2012-07-28 3:42 pm
          • 2012-07-28 4:06 pm
          • 2012-07-28 5:53 pm
          • 2012-07-28 6:30 pm
          • 2012-07-29 1:55 am
          • 2012-07-29 6:13 am
          • 2012-07-29 8:16 am
          • 2012-07-28 6:00 pm
          • 2012-07-28 6:32 pm
          • 2012-07-29 7:49 am
          • 2012-07-29 8:01 am
          • 2012-07-30 8:37 am
        • 2012-07-28 9:58 pm
          • 2012-07-29 2:38 am
    • 2012-07-28 5:23 am
      • 2012-07-28 2:16 pm
      • 2012-07-28 10:28 pm
  7. 2012-07-27 1:53 pm
    • 2012-07-27 3:53 pm
      • 2012-07-27 4:44 pm
      • 2012-07-27 6:52 pm
      • 2012-07-28 9:35 am
        • 2012-07-28 1:54 pm
      • 2012-07-28 10:57 pm
        • 2012-07-29 1:00 am
      • 2012-08-03 11:49 pm
    • 2012-07-27 6:39 pm
    • 2012-07-27 8:01 pm
      • 2012-07-27 8:10 pm
    • 2012-07-29 11:35 pm
  8. 2012-07-27 2:20 pm
    • 2012-07-27 8:15 pm
      • 2012-08-01 10:51 am
    • 2012-07-27 10:37 pm
      • 2012-07-28 9:48 am
      • 2012-07-28 7:41 pm
        • 2012-07-29 2:56 am
          • 2012-07-29 3:47 am
          • 2012-07-29 6:02 pm
          • 2012-07-30 12:44 am
  9. 2012-07-27 2:29 pm
    • 2012-07-27 10:39 pm
  10. 2012-07-27 3:08 pm
    • 2012-07-27 10:41 pm
  11. 2012-07-27 3:20 pm
  12. 2012-07-27 3:38 pm
  13. 2012-07-27 3:48 pm
    • 2012-07-27 4:14 pm
      • 2012-07-27 4:20 pm
        • 2012-07-27 7:47 pm
          • 2012-07-29 3:18 am
    • 2012-07-27 5:25 pm
  14. 2012-07-27 4:22 pm
  15. 2012-07-27 4:56 pm
    • 2012-07-28 5:43 am
    • 2012-08-01 10:52 am
  16. 2012-07-27 5:00 pm
  17. 2012-07-27 5:29 pm
  18. 2012-07-27 5:30 pm
  19. 2012-07-27 6:26 pm
    • 2012-07-27 7:49 pm
      • 2012-07-27 8:28 pm
        • 2012-07-27 9:04 pm
        • 2012-07-28 5:33 am
    • 2012-07-27 10:55 pm
  20. 2012-07-27 6:42 pm
    • 2012-07-28 6:56 am
      • 2012-07-28 9:17 am
      • 2012-07-28 6:12 pm
  21. 2012-07-27 6:52 pm
  22. 2012-07-27 7:23 pm
    • 2012-07-27 9:20 pm
      • 2012-07-27 10:13 pm
        • 2012-07-28 11:07 am
      • 2012-07-28 2:03 pm
        • 2012-07-30 7:18 pm
    • 2012-08-01 11:15 pm
  23. 2012-07-27 7:29 pm
    • 2012-07-28 2:07 pm
  24. 2012-07-27 7:38 pm
    • 2012-07-27 9:27 pm
  25. 2012-07-27 7:56 pm
    • 2012-07-27 8:05 pm
      • 2012-07-28 1:43 am
        • 2012-07-28 8:55 am
          • 2012-07-28 1:50 pm
          • 2012-07-28 2:06 pm
          • 2012-07-28 2:11 pm
          • 2012-07-31 2:15 pm
          • 2012-08-01 3:40 am
          • 2012-07-28 5:41 pm
        • 2012-07-28 2:10 pm
  26. 2012-07-27 8:42 pm
    • 2012-07-27 9:26 pm
    • 2012-07-28 5:55 am
  27. 2012-07-27 9:24 pm
    • 2012-07-28 5:44 am
      • 2012-07-28 1:55 pm
    • 2012-07-29 5:21 pm
  28. 2012-07-27 9:26 pm
  29. 2012-07-27 10:14 pm
  30. 2012-07-27 11:11 pm
  31. 2012-07-28 1:30 am
  32. 2012-07-28 5:22 am
  33. 2012-07-28 12:59 pm
  34. 2012-07-28 6:29 pm
  35. 2012-07-28 9:58 pm
  36. 2012-07-28 10:29 pm
  37. 2012-07-29 7:52 am
    • 2012-07-29 8:08 am
  38. 2012-07-29 3:45 pm
    • 2012-07-30 8:12 am
      • 2012-07-30 2:51 pm
  39. 2012-07-31 3:07 am
  40. 2012-07-31 3:33 am
  41. 2012-07-31 10:02 am
    • 2012-07-31 10:11 am
      • 2012-07-31 2:53 pm
    • 2012-07-31 4:00 pm
  42. 2012-07-31 7:04 pm
  43. 2012-08-01 3:26 am