March 24, 2014

GNOME 3.12 Seeded by GNOME OS Projects

gnome logoThe GNOME project is expected to release version 3.12 of its desktop Linux environment on March 26, featuring high-resolution display support, an overhauled gedit app, and many other new features. We spoke with Allan Day and Matthias Clasen, members of the GNOME design and release teams, respectively, about GNOME 3.12 and the various future-looking projects that collectively form GNOME OS.

GNOME 3.12 (release notes to be found here) comes about three years and numerous interim releases since the Linux community was shocked by a radically revamped GNOME 3.0. The major overhaul anticipated mobile devices with a spare, and to some observers, alien and oversimplified desktop suite. By Aug. 2011, the uproar peaked when Linus Torvalds recommended that someone should fork the “unholy mess.” Making matters worse, Ubuntu's switch to its Unity desktop represented a major loss for GNOME.

One of the few consolations was that GNOME's traditional rival desktop -- KDE -- was not picking up many of the GNOME refugees. (Years before, Torvalds had similarly dissed KDE 4.0 for being dumbed down.) The controversy was also diluted somewhat by the drubbing Canonical was receiving at the time over Unity. Ubuntu's desktop similarly aimed to bridge mobile and desktop users, despite the fact that almost all Linux desktop users still use traditional PCs.

Meanwhile the Ubuntu-based Linux Mint project turned their backs on both GNOME 3 and Unity. Instead, it developed a GNOME 2.x alternative called Cinnamon, and it also offered MATE. Others increasingly turned to the lightweight Xfce.

Allan Day GnomeYet, most of the functional problems with GNOME 3 were fixed in subsequent releases, and GNOME also made some UI compromises. A year ago, GNOME 3.8 added a revised "Classic" mode for users who want a more traditional UI along with GNOME 3's updated components. The controversy remains, yet GNOME 3.x has gradually matured and picked up more users.

GNOME OS

In late July 2012 at GUADEC, GNOME developers Xan Lopez and Juan Jose Sanchez unveiled a GNOME initiative called GNOME OS, a Linux distribution for GNOME developers they said would be released in March 2014. According to their presentation, the distro would offer a touch-enabled UX supporting tablets, form a more stable foundation for mobile Linux OSes, and effectively act as a GNOME 4.0 release.

In an Aug. 7, 2012 blog post, Allan Day clarified a number of the GUADEC statements, saying that although GNOME OS was more like an OS, it would not actually evolve into a full Linux distro. He also noted that the mobile initiatives would not overshadow the central focus on the desktop. Day made no mention of the March 2014 deadline or GNOME 4.0, but now says the core GNOME team never signed off on the deadline.

Yet, the press, which based their stories on GUADEC, had already moved on. Some had misleadingly suggested that GNOME OS was a mobile Linux distro that would compete with Tizen and Firefox OS.

In the meantime, the GNOME project has pushed GNOME OS forward under initiatives such as the mostly complete continuous testing framework, based on the OSTree build system, as well as the still emerging sandboxing technology, based on Wayland and kdbus. The combination, along with other enhancements, should offer a more stable development framework for GNOME.

A week before the release of GNOME 3.12, I asked Allan Day and Matthias Clasen to offer more insights on the release, as well as the various GNOME OS initiatives:

Linux.com: Have the goals for GNOME OS shifted over the last year and a half from being more like a Linux distribution to being a series of development initiatives?

Allan: I don't think that GNOME OS has ever been anything other than a set of initiatives. Its primary purpose was always to bring existing activities together within a uniting vision. As a part of that, there is a desire to create key elements of a modern operating system, such as a new framework for application distribution. However, we haven't talked about GNOME OS so much recently, partly because each element of the vision is moving forward Matthias Clasen gnomeunder its own steam, and partly because of potential confusion around the name.

Tell us about the continuous testing model, which appears to be the initiative that is farthest advanced.

Matthias: Continuous testing is being used in the GNOME project as we speak, and it is helping us every day to raise the quality of our code. Automatic builds are triggered after every commit, and a plethora of unit and integration tests are run on the resulting VM images. You can also download a VM image to run locally. Our continuous testing framework is based on OSTree, which describes itself as "Git for operating systems." It allows bootable, immutable, operating systems to be installed in parallel. OSTree is being used in a variety of interesting ways, such as in the Fedora Atomic initiative.

In Dec. 2012 Allan was quoted as saying: "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." Has this situation improved, and if so, how have GNOME OS related activities helped?

Allan: That statement was primarily a description of the distribution model in desktop Linux, in which there are an array of distribution paths and incompatible platforms for application developers. One of our long-term ambitions is to provide a simpler, more consistent, more stable application distribution framework. Much of this depends on our plans for sandboxed applications to come to fruition.

What's the status of the sandboxing technology?

Matthias: Sandboxed applications require some significant architectural changes. A lot of work has happened here, such as the switch to the Wayland display manager and kdbus. We expect application sandboxing to become a focus for our development efforts once kdbus becomes available. This essentially moves our existing D-Bus desktop IPC mechanism to the kernel, so messages over the bus can be arbitrated in a secure manner, and it also provides performance improvements.

The original GNOME OS announcement suggested a focus on mobile devices, but this now appears to be a lower priority. Was there a strategic choice to backpedal on the mobile focus, and if so, why?

Matthias: Our primary target is laptops and desktops. However, many of the developments in the last year make GNOME much more usable with touchscreens: popovers, client-side decorations, and the application grid in the overview are all small steps towards a touch-friendly system. Taken together they mean that you can comfortably use GNOME 3.12 with a touchscreen, while that was not the case with GNOME 3.8.

Does GNOME play any role in emerging mobile Linux distribution projects?

Allan: Ubuntu Touch currently uses GNOME libraries for networking, accounts and package management, as well as some basic low-level functionality. Sailfish uses our Tracker database as well as the GNOME geolocation framework. There are also many other open source libraries that are used in mobile Linux in which GNOME plays an active role. We have close working relationships with systemd, Wayland, X11, GStreamer, PulseAudio, BlueZ, polkit, upower, and many other projects, a number of which originated in GNOME. Our developers frequently contribute to these libraries, and we do a lot of testing and integration work around them.

GNOME 3.0 was very controversial. Subsequent releases have addressed some of the concerns, but many criticisms remain. Is there anything in GNOME 3.12 that might bring back users who have switched to Cinnamon, Mate, Xfce, etc.?

Allan: GNOME 3 was a big change, so criticism was to be expected. The good news is that the experience has been getting better and better, and the response we've been getting is improving all the time. Many people who didn't like GNOME 3 in the early days have come back to it and have had a positive reaction.

Our main strategy for increasing adoption is to progressively improve the overall quality of the GNOME 3 experience through both design and implementation improvements, and to fill in missing parts of the overall vision. We're also working hard to respond to feedback, as demonstrated by a number of changes in GNOME 3.12.

In particular, we expect GNOME 3.12's high-resolution display support, customizable app folders, popovers, and extended cloud integration all to play a part in attracting people to GNOME. Other much-anticipated features in 3.12 include improvements to the Software app, the revamped gedit app, and performance improvements. The list of new features is really long, including a reimagined Videos app, Terminal improvements, upgraded geolocation, a revamped initial setup assistant, restyled tabs, and three new applications that we are releasing for testing.

Wayland didn't make it fully into GNOME 3.12. When can we expect that to happen?

Matthias: We've been clear for some time that 3.12 would only include experimental Wayland support. GNOME 3.12 is a very capable, mature desktop -- we don't want to lose any of those capabilities as we switch out underlying technologies. The Wayland port will become the default when it is ready.

When and where will we first see GNOME 3.12 in action?

Matthias: you can try GNOME 3.11.91 on Fedora 20 today, using the COPR repository that has been set up by Richard Hughes. Whether 3.12 makes it into Fedora 20 as a regular update has not been decided yet. You can also try GNOME 3.12 in one of the other fine Linux distributions that are tracking bleeding-edge GNOME, such as Arch or Mandriva.

What is your opinion of the Numix Project's newly announced GNOME Shell based Linux distro for Steam gamers?

Allan: We're always happy to see projects doing interesting things with GNOME technologies. Numix demonstrates the flexibility of GNOME's theming capabilities, as well as what can be achieved with GNOME Shell extensions. We're also interested in collaboration with Numix or similar initiatives.