GNOME Alone – The Free Software Column
The developers set about revising GNOME as an up-to-date desktop suitable for both mobile and static desktop devices – and were surprised by the sometimes hostile response their work received. Richard Hillesley reads the runes
Working on free software projects is not always fun and not all free software developers are made to feel like heroes. As was illustrated by the GNOME contributor, @xanlpz, who tweeted: “We should do a poll among GNOME hackers: ‘What motivates you to work on a project where you are insulted for doing FLOSS almost daily?’”
GNOME is nearly 15 years old. As any programmer knows, some aspects of coding are adventurous and challenging and fun. Some are not. Some programmers like to work on the big picture. Some like to get down to the nitty-gritty. Some developers are paid. Many are not, and not all the work on a project the size of GNOME is thrilling or sexy, or is seen by the end user.
GNOME 2 was characterised by an outward simplicity, stripped of unnecessary flimflam, which made it popular with users. It epitomised the accepted paradigms of the desktop, and its virtues were its apparent simplicity and familiarity, and the ability to pull in add-ons and themes and make it your own. But the software was creaking at the edges and was feeling its age. As Jakub Steiner noted: “I saw even GNOME hackers using add-on tools to help them do the basic tasks GNOME was supposed to do. To me, projects like GNOME Do or Docky did a far better job at launching and switching between apps and documents.”
“GNOME 2 got really fragmented,” he observed. “There was no unified feel to it.” For the developers “GNOME 2 had become a bit of a Frankenstein’s monster, assembled from bits and pieces that were not always designed to integrate perfectly. You could see the seams. And more importantly, you could feel them and they didn’t feel nice.” Which was making it increasingly complicated as a platform for third-party developers.
There comes a time with all projects when the work has reached its natural end. The interesting bits are done. The thrill is gone. The gaps are showing and the code is tired. GNOME was in danger of becoming irrelevant because, as a framework for building the desktop, it lacked coherence and was running out of steam. GNOME 2 had reached an impasse, and the desktop was moving on.
When it came to redesigning the project, it was vital that core functionality wasn’t lost in add-ons and extensions. The GNOME developers set about revising and reviving the project as an up-to-date and comprehensive desktop that is suitable for both mobile and static desktop devices – and were understandably surprised and miffed by the sometimes hostile response that their hard work received.
Change wasn’t initiated merely to satisfy a whim, or for aesthetic or disruptive reasons, nor simply to facilitate an approach to mobile or touch-screen devices, but to keep GNOME workable, coherent and relevant into the future. The vision of the GNOME developers is different to that preferred by some developers of themes and extensions, but is intended to keep the code tight and make it easier for device and applications developers to predict the behaviour of the desktop.
So Allan Day takes the view that “facilitating the unrestricted use of extensions and themes by end users seems contrary to the central tenets of the GNOME 3 design.” And William Jon McCann affirms, “The issue is not whether extensions may be useful. The issue is whether they will be harmful to our larger goals [of a unified desktop].”
There is no conspiracy among developers, but there is a drive to produce a coherent and comprehensive approach to every aspect of the desktop. And it makes sense to restrict options that deflect or detract from that core vision.
The Linux desktop isn’t where a lot of people hoped it would be – partly because of changing desktop paradigms, lack of exterior polish, and the latent stumbling block of user inertia; and partly because of lack of continuity and consistency between distributions, desktops, packaging systems, binaries and versions of the software.
Android on Linux is the most popular platform for mobile devices. But Android isn’t free software, and apps rarely come with the source code. GNOME hopes to be the free software alternative, equally at home on static and mobile devices. And in the end, anybody can get involved, influence outcomes and make a difference.