the new GNOME duality

Havoc mentioned that he had talked to me about the emerging GNOME duality after coming back from GUADEC. He also suggested that I post something about it. I’ll try to put my thoughts down here on paper.

First of all, I think that the GNOME project is in a really strange place right now. Others called it “decadence” but I’ve been thinking of it more as a state of transition. Things are changing in GNOME and I think that it’s largely just a reflection of time. GNOME has been around for more than a decade. Leadership is changing. GNOME is evolving into something else. I don’t think that I really understood this until after I was at the advisory board meeting at this year’s GUADEC.

Second, I’ll state what I said to Havoc. That I think that GNOME has evolved into two different projects, each struggling to share code and be successful. One is the “classic desktop” as we used to call it at Red Hat and the second project is built around servicing the mobile and highly-specialized desktop experience market. These are not the same thing, not by any stretch. Different audiences, different goals, different players and different revenue models. As a result you can feel some measure of friendly, but sometimes misunderstood confusion in the GNOME project because the underlying change isn’t fully understood.

A side effect of this change is also that there’s been a major change of the leadership in GNOME. It’s safe to say that in the past the North American Linux distributors played the largest part in determining the direction of GNOME. But those two companies haven’t experienced much growth over the last 10 years, either in terms of market or financial success and that’s been reflected in the relative investment that you see from the two companies.

Novell has lost most of the former Ximian people to attrition after the Novell merger and Red Hat hasn’t invested in a huge number of people relative to the growth of the rest of the company. And desktop opportunities haven’t really grown so things are at best static. Novell is still invested in apps and Red Hat is still invested in underlying infrastructure. Not much has changed on that front in a long time. It’s still all slow-growth high-touch enterprise work. Not the kind of stuff that shapes an industry, to be sure. (Note that I don’t mention Canonical who intentionally does not invest in upstream GNOME and aside from a somewhat large distribution channel, does not lead inside of GNOME.)

This is in direct contrast to the various consulting companies doing mobile work. There are at least 14 20+ people at OH, 20+ people at Collabora, 11 people at Imendio, people at Fluendo, people at Nokia, Litl, a couple of other random consulting shops in places like Spain, all leading and all contributing. These little shops are alive with energy and impact, they are writing new and interesting things and they are really the heart of where GNOME is heading. This is where the new leadership lies. And they are managing to lead as a group and share in the wealth found in GNOME work.

As a side note this signals a change in the geography of leadership of GNOME. It’s moved from the US to Europe in a very short time frame. If you want to be part of the core of GNOME you have to be in Europe. It used to be Boston in the US. That is no longer the case.

But this also signals a different kind of change. An even more important one. In the past the core of GNOME has been creating great experiences for users. GNOME love. Fixing hard technical problems up and down the stack that really solve user problems. D-Bus, HAL, PackageKit, NetworkManager – all of these low level pieces started with creating great user experiences. This is what has differentiated GNOME from KDE – creating simple and wonderful experiences for users. It was never technology focused.

But in the mobile world, and certainly one that’s driven by the financials of consulting organizations, platform is key. (Actually, this is a lie, but bear with me for a second.) The new leadership is more interested in delivering a working platform than a great experience. The experience in the mobile market is more often determined by the customer. In this case it would be the manufacturer or the mobile operator. And that’s something that GNOME has never had to deal with before, at least not in any real sense.

I will make a statement here that will probably be controversial but I believe to be true. Based on experiences with developers, GNOME’s stack is not as good as others that are on the market when it comes to platform-based decisions and platform experience. In particular, Qt and Apple’s platform are both very developer friendly and make it very easy for developers to create good-looking, modern looking apps. And they have more time and experience in embedded environments. With GTK+ it’s possible to make things look good and work fast, but it’s very difficult. If in a platform-driven market and a platform-driven world you’re not the #1 or #2 player it’s going to be very difficult to make a dent in the market. (This is especially true if Nokia decides to fix the Qt licensing.)

Basically what I’m saying is that if mobile is one of the main roads for GNOME (and it clearly is) then platform and embedding needs to be a core competency of the entire project. It can’t be just about experience. And I don’t think that we’re there today. That’s one of the big risks that we face.

I made a statement earlier, one that’s actually a lie. That platform was the key component in the mobile space. But I would actually argue that it’s not. End user experience, which can be driven by the platform in a bottom up fashion (as opposed to top down) is extremely important. Apple showed us that. The ability to make decisions about user experience in mobile is something that hasn’t historically been up to platform people. But I believe that in order to really be successful that GNOME needs to find a way to do this.

I believe that this is also one of the things that is a big downside of having a lot of small consulting shops all working on the same project. While it’s nice to have that diversity, it’s also very difficult to come to decisions about experience. And no one right now is focused on a complete product and experience. Everyone is building tools to let someone else make a decision.

Products almost always win. They lower costs for buyers and producers alike and increase leverage for the people who build the products. They offer the producer the ability to make decisions. And that’s the most important factor in building great experiences for people. Weak products are the result of poor decision making and a lack of design direction. And I worry that’s where GNOME is going. To a place where we’re not at our core competency and we aren’t building things that actual people will care about. That’s not historically what GNOME has been about, and I worry that’s where it’s going.

That’s also why I’m calling this a duality. Two projects existing as one. One without a great deal of success, but an end-user identity and brand and goals, and another with a chance to succeed but without much identity or end-user goals. It’s going to be a rough ride and I think that in order to find success we have to find a way to merge the two into a single set of goals. The desktop isn’t going anywhere, but the mobile project isn’t going to produce GNOME-visible results either. GNOME will be well-hidden behind someone else’s branding and experience. And maybe that’s fine, but it’s not the way to lead and win in the end.

I think the GTK+ 3.0 discussions are a symptom of this. They are sold as a technology change, a chance to clean up, but without a specific user-driven direction as to why someone would want to make that change. (Or at least that’s how it was presented at the AB meeting.) If someone could describe why that change should be made, that would be great. How will it help users? How will it help us achieve our goals? (Holy crap, what are our goals anyway?) How does it help bridge the gap between desktop and mobile? These are important questions, and I think a lot more discussion needs to take place.

So those are my thoughts on the GNOME project today. Hope it helps bring some understanding to how GNOME can more effectively manage itself.

  1. Eugenia’s avatar

    Very well thought. The important thing is to find a balance, between the user experience and the indeed, true need for good development tools. Sitting down and writing documentation maybe should be a priority for Imendio at this point rather than wanting to break GTK out of the blue.

  2. JustAGuy’s avatar

    This seems exactly right.

    “If someone could describe why that change should be made, that would be great. How will it help users? How will it help us achieve our goals?”

    As a user looking at the discussion from the outside, I’m starting to wonder what on earth for? If they get a brand new GTK, does this mean that I’ll have to wait 8 months for Gnumeric to port code over?
    Can’t you do animations using current GTK? Why not?
    (As an aside, who wants animations anyway? There’s a reason OSX and Windows don’t really have animations…)

  3. Alex Graveley’s avatar

    Great post Chris. I agree with all this, of course. Kudos for writing a thoughtful, nuanced post that remains friendly and accessible :-)

  4. Jason D. Clinton’s avatar

    I know this is my tired mantra but we need our AB, FB and new Executive to take a leadership role. None of the parties you mention above appear to have any incentive to rock the boat.

    It’s time to rock the boat and if it’s done with unanimous, democratically elected Board members’ and stake holders’ approval, how can anyone stand in our way?

  5. Michael Schurter’s avatar

    I’m with JustAGuy: I’m a user who is pretty confused why Gnome developers are so eager to do a revolutionary change.

    Honestly I get ridiculously excited every time Gnome makes a release. Sure I’m a huge geek, but I still think the evolutionary changes are really nice for all users!

    For example GIO and PulseAudio are really exciting new technologies that are being worked on evolutionarily with cooperation* from downstream distros. It seems like Gnome/GTK is similar to the current Linux kernel development model: no obvious revolutionary shifts for the foreseeable future, but lots of rapid forward progress.

    Can’t things like Clutter get worked in in an evolutionary manner like GIO & PA? If the current toolkit is getting a bit unexciting, then just leave it alone! I’m sure ISVs and large apps would be thrilled to have a stationary API/ABI target! Let developers who want more cutting edge UIs venture out into Clutterland, and work it into Gnome/GTK officially only after its “proven” itself for a while.

    Now the ISV situation… I have no clue how to address that, but GTK does seem to be getting killed by QT. And if a revolutionary change is what it takes to attract ISVs, maybe its worth it. But I have a hard time believing that making GTK’s APIs a bit prettier is really going to help.

    * Sometimes the “cooperation” is more like flaming, but isn’t that unavoidable? ;)

  6. Mikael Hallendal’s avatar

    Thanks for a nice post as I said yesterday Blizzard. It echoes many thoughts I’ve had over the last 6-12 months.

  7. Philip Van Hoof’s avatar

    “A couple of random shops in Spain”, you mean Igalia? I wouldn’t call them random, really. They have quite a few very good software developers on quite a lot of quite important projects at for example Nokia.

  8. makkara’s avatar

    Blizzard, you hit the nail. Everything should start from the users’ needs, integrating them and the offering of the Gnome. That is a process called marketing. (Which != advertising)

    Also, your post reflects on an other thing, which is strategy. Gnome does not have strategic leadership, or will to have such in the first place. It’s a common problem with open source projects. Strategy is also partially about integrating the requirements of the environment and the fit of the product.

    … Which the corporations that employ some people that you mentioned can do easier as they have it easier to build the will to have a strategy and they can coerce the developers to agreement. That’s what happened with the mobile things, aside from it being interesting from the beginning with.

    Gnome is not far from where it should be if you start doing some what-would-be-needed analysis. I have been just baffled for the last 3+ years following the progress as I have not seen any will. Crucial stuff like integrating telepathy into core and revamping the gnome-panel have been absolutely stalled…

  9. Johannes Eva’s avatar

    Thanks for this great post!
    I have been reading your posts for a while – seems you have a really great overview of the whole thing… let’s hope the community has ears!

  10. blizzard’s avatar

    @makkara: I’m not sure if telepathy is good for GNOME or not, it depends strongly on the strategy. But you did make an interesting observation about the lack of strategy. It’s not so much that there’s a lack of strategy but GNOME intentionally is a “loose leadership” organization. Kind of like a lot of open source projects out there (debian comes to mind) there isn’t a lot of decision making that happens that’s top down. And that’s fine, that’s a decision that GNOME has made.

    But it also makes it difficult to steer the boat or understand what’s happening next. So most of the leadership inside of GNOME actually happens as a result of people outside making decisions – corporations, contributors, etc. Lots of different ideas. I’m not sure if it’s good or bad that way. I need to think about it more.

    But it’s not a model that really lends itself to strong directions or solid decision making.

  11. Robert Devi’s avatar

    Good summary that sort of suggests a solution to the Gtk+ 3.0 schism.

    Perhaps the goal of GNOME 3.0 is to do the following:

    * Finish the GSEALing and other planned GNOME 3.0 work

    * Define the bleeding edge GNOME 3.0 mobile platform which works as the defined goal of GNOME 3.0.

    * Define the conservative GNOME 3.0 desktop platform which keeps all current libraries and presents a new backwards compatible canvas.

    * For anyone wishing to target the GNOME 3.0 desktop, it’s business as usual.

    * For anyone wishing to target the GNOME 3.0 mobile platform, you need to rise to the higher standards of GSEALed variables and lack of obsoleted libraries.

    * When GNOME 4.0 roles around, most GNOME desktop apps would be ported to the mobile platform, so the standards of the bleeding edge GNOME 3.0 mobile platform would become the standards of the conservative GNOME 4.0 desktop and the standards of the bleeding edge GNOME 4.0 mobile platform would blaze.

    In essence, the best of both worlds.

  12. makkara’s avatar

    Blizzard, my comment about Telepathy was there because it is quite obvious imho… Networking is #1 application, and working with others is what people do more and more. What Telepathy offers is a platform for supporting that. It alone does not do much, but it allows to build a background service layer and make stuff like instant messaging, voip, scheduling, and sharing documents pervasive (generally plain superior to anything available nowadays on any platform in usability term).

    I have for long played with the thought to show what would be possible with building dummy images. Never have done that though because often you just do those things and for nothing. :(

  13. Lefty’s avatar

    I want to make sure I understand how you see things dividing up in this duality. (And in passing, I think there are potential name-space issues that can cause confusion in these discussions…)

    On the one hand, certainly the GNOME desktop program doesn’t represent a good usage model for typical mobile devices, even MID-style devices, most likely. So there needs to be some replacement, or replacements more likely, for the end-user general interface to the system as a whole. It seems like Hildon is a popular choice for MID devices in this space.

    On the other hand, are we saying that, for example, GTK+ as it stands, is somehow “not right” in some broad and not-readily-correctable way in areas or applications specific to mobile devices? I don’t think that’s true, but I’d be very interested in hearing opinions to the contrary…

    (We might want to focus more effort on adaptations for “peculiar” hardware features for the purpose of doing more advanced UI on mobile devices, as I discussed in the “Eye Candy” presentation last week; we might similarly want to continue improving DirectFB and OpenGL/ES support, but those don’t seem to really be systemic issues…)

  14. Quim’s avatar

    Beautiful post, thank you! I started writing an answer but at some point I realized that I had a hole blog post (above).

  15. Quim’s avatar

    Hum, I hope I meant a “whole”. :)

  16. Shreyas’s avatar

    IMHO, the real question is “if we believe commodity mobile hardware is the future”. If commodity mobile hardware takes the same path as computers did in the 80s then its important to have an offering when it happens.

    In that sense a gnome mobile release for some devices is a product which showcases the same set of values which Gnome on the desktop does.

    I have followed the Gnome Mobile initiative since the beginning, as you mentioned it has mostly focused on the platform v/s focusing on what we have always done brilliantly, release a product regularly.

    I understand that supporting different hardware and devices might be hard, but thats the real challenge going forward. How do we make gnome a mobile platform which scales hardware and screen size barriers and how do we make it easily installable on various devices?

    Anyway, my two cents. Thanks for the thought provoking post.

  17. self_liar’s avatar

    Monomononononononononononono – NO!

    The big problem of Gnome is Mono.

    Sad, telepathy will use Mono.

  18. markus’s avatar

    But there is more towards GTK3.

    The change to include nice and easy .css is an example. Maybe the .css files need to be “adapted”, but the basic idea is the same – use one css file for your GTK projects, your browser experience, your websites etc…

    And this alone is something USERS want!

    You dismiss the move to GTK3 too early.

  19. Chascon’s avatar

    “GNOME’s stack is not as good as others that are on the market when it comes to platform-based decisions and platform experience. In particular, Qt and Apple’s platform are both very developer friendly and make it very easy for developers to create good-looking, modern looking apps.”

    Do you think that GnuStep and Étoilé finally makes sense, what with making it easy to develop and port OS X apps back and forth from OS X and non-OS X platforms? I gather some Gnustep implementation would be running fine and dandy by now if people hadn’t spent so much time and energy on Gnome and KDE, and you wouldn’t have had to deal with licensing issues as what KDE had or the staleness of what Gnome has become –a Apple classic interface imitation/variant.