Inevitably, the issue of upstream contributions to GNOME touches on Ubuntu and Canonical's decision to develop Unity, an alternative shell for GNOME, as an in-house project. Bacon suggests that "people like to paint a fight between GNOME and Canonical but it really isn't that way. Both Canonical and GNOME made a series of good decisions and bad decisions. People paint these organisations and groups as if they never change or evolve."
He says that, unlike companies like Oracle or Sun who made large contributions to the development of GNOME and "had a lot of money to throw at the wall and see if it sticks", Canonical has limited resources. "Canonical is a startup. We have a budget and we work within that budget. Canonical needs to invest carefully. Big companies like Oracle or Sun, or even Red Hat, have the ability to invest in projects that don't necessarily bring value to their products. We don't have the resources to do that. Wherever we invest money it really has to have a direct benefit for Ubuntu, and the simple reality is that a lot of the areas where we have needed to see growth in Ubuntu were outside of GNOME, or weren't in line with the values of GNOME. A small number of people attacked Canonical about writing upstream code, but you don't get a company to invest in your project if you throw barbs at them, although that isn't why Canonical didn't invest in GNOME. The simple reason was that we had to spread the funding around. Everybody's screaming out for resources and we can't just say 'OK. We'll fix those bugs' unless they're fundamental to our project."
"There is a natural tension between upstreams and Linux distributors," he suggests, "and sometimes I wish everybody would take a step back. It amazes me how people take extreme positions because in the end it's a shared ecosystem. Upstreams are nothing without the distributions, and the distributions are nothing wthout the software. Upstreams need to respect the fact that distros have a value, and likewise distros need to respect the fact that upstreams have a way of doing things that doesn't fit their agenda."
Unity is a direct replacement for the GNOME shell, and has encountered a similar resistance among users, although Bacon sees Unity as a unique expression of Ubuntu's ambition and scope. "Arguably Unity got a signifcant number of projects interested in design. GNOME has an interesting focus around design and I think Canonical helped with that. We ran an app competition recently and a lot of design consideration went into the apps. It gets people interested in a different way of thinking. When I was writing software you didn't really care about UI as long as you got it working, but if you hang around designers for a length of time you start to learn the sheer level of focus and energy that goes into that side of your brain. To me Unity was a painful but necessary step forward, because if we didn't develop Unity, Ubuntu would just be the popular choice for Linux users. Some people are happy with that, but I'm not. I want Ubuntu to be the choice for everybody."
Nevertheless, Canonical's decision to divert energy and resources into implementing an alternative to the GNOME shell has not helped the cause of GNOME, as Jeff Waugh said at the time: "Unity as default shell == brand before community, differentiation before collaboration." Free software projects have relied on timely feedback and collaboration from their users, and Unity represents a fragmentation of effort that could have been poured into GNOME and influenced GNOME development.
The common ground
Inevitably, not all GNOME developers share either Otte's scepticism or Bacon's relative optimism about the future direction of GNOME. Otte has provided a service in expressing some of the shortfalls and problems in the GNOME community and he refused to attend GUADEC, which he saw as a "self-congratulating echo chamber." But others, such as Andre Klapper, have expressed the conflicting view that things aren't as bad as they might appear, and notes that "GNOME received about 41,000 changes (only counting the master branches in the GNOME Git repository, work can also happen in other branches plus some teams also use external infrastructure) by approximately 1,275 people for version 3.4, and about 38,500 changes by approximately 1,270 people for 3.2," which suggests a healthy flow of contributors and code to the project.
Undeniably, GNOME has suffered communication problems with its user communities, as is reflected in one comment on Andre Klapper's blog. "Amazing that you can say 'our community was perceived as very welcoming.' As a former contributor I'd say GNOME is one of the worst projects in terms of friendliness, transparency and overall atmosphere that I have came in contact with."
GNOME developers have become aware of the marketing and community issues and the need for transparency indicated by Otte's comments, and the mixed, and sometimes hostile, response to the GNOME shell, and some have signalled a will to put things right. The most positive announcement to come out of GUADEC is the intention of the GNOME community to release a touch-compatible GNOME OS based on the GNOME shell by 2014, which will not only be a proving ground for future GNOME developments, but may act as an enticement for companies to get involved.
In the coming months, the challenge for GNOME is to find some common ground with its users, and to reaffirm its standing as the free software desktop of choice for Linux users, by reflecting some of the priorities and desires of those users.
Do you believe that GNOME can ever be the defacto favourite desktop of Linux again? Have your say in the forum.
For other feature articles by Richard Hillesley, please see the archive.