Why does everything want to become an operating system? First we had Firefox OS, and now Gnome OS is here.
The buzzword at the moment definitely seems to be "platform", and the Gnome team aren't happy just writing a bunch of libraries and programs sitting on top of a base system that they don't control.
More specifically, they're looking to have more control over the whole experience for Gnome users. Let's ask some more questions.
Q. But they already do that - they design all of the user interface bits 'n bobs.
A. Correct, but the bits that we see only make up a small part of the overall experience. Let's step back for a moment, and consider how things work in a typical Linux distribution.
At the base you have the kernel, which talks to the hardware, runs programs, and manages resources between them. Then you have the X Window System, a graphical layer developed by a different group. Then you have the graphical toolkits, developed by yet another group, and then the desktop environment, and so forth.
This hotch-potch approach has worked pretty well over the last decade, but with all of these teams working independently of one another, it's very hard to create a completely integrated and smooth experience for the end user. Sometimes, Linux needs a feature that has to be implemented both at the hardware driver level and in the user interface, and getting all of these groups to work together is a bit like herding cats.
Imagine this scenario: a mobile broadband provider wants to start supporting Linux. Along with the USB modem device, they need to ship a low-level component (a driver) along with a high-level part (the dial-up software). Currently, the company has to wrestle with all the different Linux distros, package managers, filesystem locations, library versions, user interfaces and so forth. It's painful work.
Q. Sure, but that's life for a developer! Shouldn't they do all the hard work for us?
A. Arguably so. But think about it from the user's perspective as well. Joe Newbie has just installed Linux, and is aware that he's running the Gnome desktop. He's browsing around the internet one day and finds a cool new Gnome program. He wants to try it, but the packages available are for a different distribution. "But I'm running Gnome," he complains. "Why can't I just install Gnome programs on Gnome?"
So, in the end, application developers can't just target Gnome. They have to target so many different implementations of Gnome, dealing with so many versions and their differences under the hood that it becomes a deeply unattractive proposition.
As Allan Day, a Gnome user interface designer, says: "Right now, it is far too hard for developers to create and distribute applications for Gnome. Our APIs are a constantly shifting target, and application distribution is slow and fragmented."
Q. How is making yet another Linux distribution going to fix this, though? I think we have enough distros for now…
A. Gnome OS will be a Linux distro, but it isn't going to replace traditional distributions, nor does it want to become the sole home for the desktop environment. Instead, it's designed as a platform for testing and development - like a reference implementation of the ideal Gnome system.
Ideally, Gnome OS will introduce features, ideas and technologies that will be absorbed by the mainstream distributions, making Gnome work more consistently across them. As time goes on, application developers will be able to test their programs on Gnome OS, and they should work very easily on other Gnomeish distros too.
Contrast that with the current situation, where a developer can't simply write an app for Gnome and share it with all Gnome users around the world. Instead, he or she has to package it up for all the different distros that use Gnome, taking into account their quirks and differences, and then set up a package repository and deal with all of the technical implications of that.
Q. So it's trying to be like a package manager as well? We have enough of those too.
A. Sort of. The Gnome team hasn't come up with any specifics about this yet, but we can understand their goal. Getting applications out to Linux users is notoriously difficult, unless they're running a rolling-release distro (like Arch) and you have good relations with the package repository maintainers. Trying to distribute apps yourself is also tricky, for the above reasons.
The Gnome hackers would like a situation where Gnome users, regardless of their underlying distro, can try the newest Gnome apps as soon as they're released. Similarly, Gnome will have a proper SDK with stable APIs.
Right now, to develop a Gnome app you have to read various bits of documentation from different sources, sign up to a few mailing lists to keep track of changes, and generally juggle various things at once. With a well-maintained SDK and APIs that have definite lifespans, life will be a lot easier for developers targeting Gnome. In particular, it will make proprietary application developers more interested in Linux, if they can focus on porting the code and not battling with a million combinations of distros and package managers.
Q. Does this mean the end of Gnome's obsession with being a tablet interface?
A. Yes and no. Although Gnome 3 has been enormously controversial, with so many former Gnome fans deeply frustrated with its radical changes, the Gnome developers are still aware that the desktop is important.
As Mr Day says: "Existing types of devices - primarily laptops and desktops - have to remain the primary focus for Gnome". At the same time, work is continuing on making Gnome suitable for touch-based devices, so we're interested to see how this pans out.
Whatever the case, it's interesting that the Gnome hackers have announced this major project now, when so many end users are begging them to fix some of the more critical problems with Gnome 3. Sure, there are many people who love the new design, but it's still a major point of contention in the Linux community, with countless opinion pieces flooding internet news sites and blogs.
A lot of long-time Gnome users feel that their voices are being ignored, so it would ease the situation if a way to deal with these problems could somehow be worked in to their future plans.
Q. OK, so I'm sort-of, kind-of maybe convinced. Perhaps. When will we see the first fruits of the Gnome team's labour?
A. They're hoping for a first release in March 2014. That's decent and realistic in our opinion, and means that they don't have to devote all of their time to it, so they can work on fixing some of Gnome 3's negative issues in the meantime. You can monitor the progress at http://live.gnome.org/GnomeOS/Design/Whiteboards, which shows various ideas for implementing the operating system and user interface changes.
And rest assured, as soon as the Gnome gang have something concrete to show us, we'll be covering it here in LXF.
Q. And what happens if it goes nowhere?
A. Don't be so negative! Let's at least give it a chance. The most important thing here is that we get new technologies and ideas to improve desktop integration.
Linux is undoubtedly the greatest collection of code and talent in the computing world, but there are still problems with fitting it all together into a cohesive desktop OS. If the Gnome team's efforts make Linux easier to use, improve co-operation between distros and remove duplicated work, it's a net win for everyone.
Who knows, even if you utterly despise Gnome 3, you might just be able to forgive them some day…