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.