LWN.net Logo

GUADEC: GNOME OS conversations

By Nathan Willis
August 22, 2012

At GUADEC, the "GNOME OS" concept was discussed off and on several times during the course of the week. The first mention of the subject came in a talk from Igalia's Juan José Sanchez Penas and Xan Lopez on the first day of the event. Their talk A bright future for GNOME dealt largely with what the GNOME project needed to do to address the mobile and embedded space. In that context, GNOME's current build and release system — which is focused solely on the desktop computing experience — offers nothing for mobile device makers to build on.

[Tower of Hercules]

But, they said, if GNOME were to start producing a bootable OS image as one of its "deliverables," device makers would have a starting point that they could adapt to their own hardware. Although they did not provide specifics, they said that Igalia has spoken to mobile device makers who are not satisfied with the current market offering of Apple's iOS and Google's Android. GNOME has already done a lot of design and technical work to make GNOME Shell and other components touch-screen capable, they observed, but it remains bound to traditional PC hardware. A mobile-friendly GNOME would have a leg up on competing open source projects like Tizen, webOS, and Firefox OS, which have all had to "start from scratch." Their definition of "scratch" is not entirely clear, but it is certainly common for new Linux-based mobile platforms to write their own applications and supporting frameworks.

Although Sanchez and Lopez spoke of the benefits of having an installable GNOME for use as a base platform for mobile device makers, that was not the only reason the GNOME OS buzzword came up over the course of the week. The other — and perhaps more frequently-raised — issue is that GNOME has essentially never been presented as an end-user ready product. The cause is clear enough; as Colin Walters discussed in his talk, most Linux users get their software through a distribution's package manager. The trouble from GNOME's perspective is that distribution packages are typically delivered six months after GNOME drops its stable release, so when bug reports arrive they are almost a full development cycle behind. In addition, every distribution makes enough changes that whatever bug reports users do send in are difficult to triage and diagnose.

Making a bootable GNOME image one of the pieces in each GNOME release would allow users to try the unaltered packages sooner, and provide faster and better feedback to the project. It would also allow GNOME to develop an SDK for application developers who are interested in writing distribution-neutral GNOME code. Sanchez and Lopez proposed setting an "ambitious plan for 3.8 through 3.12" that would culminate in a mobile-capable release for GNOME 4.0. That time frame equates to two years using GNOME's current release schedule — not immediate, but not too far off to plan. Post-4.0, they proposed planning a GNOME SDK and working on application distribution channels and other components that a mobile GNOME ecosystem might require.

The meaning of OS

Allan Day addressed both the improved-testing-and-feedback rationale and the improve-GNOME-for-application-developers goal on his blog shortly after GUADEC. Nevertheless, there are still those who conflate the plan with a desire to transform GNOME into a full-fledged Linux distribution, a confusion that was evident in audience members' questions at GUADEC, too. It ought to be clear that GNOME would need to add a significant number of developers (not to mention packagers and infrastructure) to support a complete distribution, but perhaps "GNOME OS" is simply a poor choice of terminology. Sanchez and Lopez did refer to GNOME OS as a "distribution" in their talk, but when an audience member asked about it, they clarified that use of the term was a slip not meant to be taken absolutely.

Admittedly, there are those in and around the GNOME project who have more ambitious goals (Lennart Poettering had a session I was unable to attend that dealt with integrating GNOME components more directly with the kernel), but they are the exception. At its core, the idea is really about bridging the existing gap between the project and its users — as well as the gap between the project and application developers — in order to collaborate better with them. Given the number of times in recent years that the project has run into end-user backlash over design changes (in particular those instances that seem to revolve around a perceived lack-of-responsiveness to feedback), that would seem to be an admirable goal.

Vision quest

But the GNOME OS discussion has a subtext, which is the perception that GNOME as a project no longer has a long-term goal. On the one hand, that means that the original goal of producing a quality free software desktop environment has largely (or perhaps even completely) succeeded. But it also means that GNOME as a project is searching for a new target. There are plenty of people who feel that mobile devices are the answer; others (like Lionel Dricot) contend that online services are the new frontier, or (like Eitan Isaacson) that believe that targeting high-end workstation users is best.

[Beach in A Coruña]

The vision question also arose at the GNOME Foundation general meeting, which kicked off with the Release Team asking attendees what they wanted the Release Team's role to be. Specifically, the team asked whether or not the project ought to have a Technical Board to set the long-term vision and to make technical decisions. The team reported that it felt like some members of the project expected it to fill such a role, but that driving development was not its mission.

The resulting discussion was an interesting one; GNOME's culture has been "individual maintainers rule their modules" for a long time, but that concept does not extend well into a long-term roadmap. Bastien Nocera pointed out that in years past, it was often a single individual — such as Jeff Waugh — who either set or articulated the vision for GNOME. Since Waugh's departure, no one has replaced him in that function, although Nocera pointed out that Jon McCann's UI demos have served as a de facto substitute in recent years.

Others pointed out that while vision was an important topic on its own, practical matters still dominate, such as making the final call on which version of Python to support. A Technical Board should make such a decision (which affects many modules), but it is hardly a matter of "vision." Clearly individual GNOME developers are producing high-quality work and driving the project forward. But focusing that energy, whether into GNOME OS or toward another goal, is a task that the project is still working out.

[The author would like to thank the GNOME Foundation for travel assistance to A Coruña for GUADEC. The event was deftly organized and smoothly run from start to finish, sported a universally high-caliber program, and an enthusiastic crowd at every turn. Plus, as the photographs in the story above hint, A Coruña was an inspiringly-scenic location in which to spend a week discussing and learning about open source. Thanks to everyone who put in time and energy making the conference a success.]


(Log in to post comments)

A vision suggestion

Posted Aug 23, 2012 2:03 UTC (Thu) by lemmings (subscriber, #53618) [Link]

I'm just an end user and not involved with development, but I would love to see Gnome work towards including some sort of Gnome network/cloud functionality to enable a better multi-device user experience.

The idea would be to enable communication between Gnome installs (for example, a desktop & laptop) to synchronise passwords, desktop and application settings, online accounts, chat logs, location data, file browsing, etc.

It would be possible to design such a system to fully preserve the privacy of users through a zero-knowledge encryption design, use P2P networking to lower costs, and anonymised through Tor to prevent location tracking.

I would hack on this if only I had the time...

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 6:47 UTC (Thu) by jpfrancois (subscriber, #65948) [Link]

I think the original goal was reached at 90 percent, but I am afraid having a new target won't let them get to completion on their initial target. And I can't see why a different goal would not end in the same state, ie near completion... IMHO, near completion is not enough, and completion needs a lot of work. Gnome desktop, in addition to being free, which is already a big achievement, may have some area where experience is better than the competition, but the global experience is IMO not so good.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 7:23 UTC (Thu) by brother_rat (subscriber, #1895) [Link]

The trouble from GNOME's perspective is that distribution packages are typically delivered six months after GNOME drops its stable release
I'd say the trouble from anybody else's perspective is that GNOME is producing something that appears to take six months to package and then transition over to.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 8:17 UTC (Thu) by micka (subscriber, #38720) [Link]

And those six months doesn't even include the time required to choose whether you want to make the transition or not.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 9:05 UTC (Thu) by drag (subscriber, #31333) [Link]

Gnome isn't the only software that experiences this sort of problem.

It's a chronic problem for the kernel and device drivers also. (but it's not isolated to just Linux and Gnome either)

Say you have open source drivers for video cards.. this will often require updated Mesa libs, some X work, updated kernel DRM, in addition to the actual DRI drivers. The driver developers can hack on new features, improve performance, fix bugs, and do all sorts of stuff to improve the drivers but almost nobody can benefit from their work immediately. It will take six months to a year before the improvements filter down to end users through the distribution channels.

Meanwhile proprietary device drivers that provide a out-of-band method of installation can get their improvements new device support out to the users immediately. Also beta programs that are not any harder to participate in then just installing the regular drivers. They are a pain in the ass to install sometimes, but are also going to be much easier then if you are going to try to use the latest open source drivers.

The same problems exists with Wifi drivers and anything else kernel related. It's a big enough problem that companies like Dell had to create their own solution for back porting drivers to existing distributions so that they can get proper hardware support and fixes to their customers.

This is a issue for any software that Linux users may want to use. For example:
http://lwn.net/Articles/509958/

How many of those applications described in that article are available at their latest release on your current distribution?

If you are using Gentoo or Fedora 17 you will have the ability to easily install the latest version of LMMS. However if you are a Ubuntu user you can't do that through apt-get. Maybe Ubuntu studio will have the latest version, but you don't get that with the regular Ubuntu release. You don't get it if you are using Fedora 16 either.

What if there a bug that makes a user's laptop not suspend any more and people need this functionality? This means that they can't run new versions of any of their software until the distribution fixes it. Which means that even if the Linux kernel devs fixed it last month there could be another 2 or 4 months before the fix makes it to that user. And during that time they can't install any newer versions of the software they use.

And if you are actually able to use the latest version of a distro without hardware conflicts you still have to upgrade _everything_. You can't just use arbitrary versions of whatever software you want to use. You can't mix a older version of Gnome with a newer version of _anything_, regardless of out dependencies are setup.

This isn't the sort of thing that people tolerate on any other OS.

(Poor Ardour has a begging page for donations if you install the software from their website, but if you do it via apt-get or yum you have no clue that the developers are asking for donations and there is no simple or easy way to perform such donations. This makes developing commercial open source software extremely difficult and a very unlikely profitable.)

Therefore any piece of Linux software.. whether it's drivers, games, or applications, absolutely must provide their own out-of-band solution for providing binaries if they expect Linux users to use it any time in the next six-eight months. Any distribution supported scheme is going to be distribution and release-specific.

Unfortunately none of the solutions application developers come up with are really that good. Either they require massive amounts of work, like providing application-specific repositories for each Linux distribution and distribution release that people are likely to use. Or provide tarball downloads of software built on Ubuntu and just hope that it works and that users will not just give up when it doesn't. Or use special installers that are full of hacks and weird functionality that may or may not work due to bugs in the installer and the fact that you have to install the installer to get the installer to work.. at any point you may run into random dependency issues that are completely and utterly outside of your control.

It's all really quite painful.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 9:31 UTC (Thu) by njwhite (subscriber, #51848) [Link]

It sounds like the sort of out-of-band install solutions you're talking about could be dealt with easily using static binaries. I do that for a little project of mine (using musl-gcc), and it works well.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 13:11 UTC (Thu) by michaeljt (subscriber, #39183) [Link]

> It sounds like the sort of out-of-band install solutions you're talking about could be dealt with easily using static binaries. I do that for a little project of mine (using musl-gcc), and it works well.

For many (most?) libraries yes. E.g. though if you do that with Qt it is hard to get your application to look similar to other applications on the desktop (and it is quite big too).

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 10:37 UTC (Thu) by talex (subscriber, #19139) [Link]

> Therefore any piece of Linux software.. whether it's drivers, games, or applications, absolutely must provide their own out-of-band solution for providing binaries if they expect Linux users to use it any time in the next six-eight months. Any distribution supported scheme is going to be distribution and release-specific.

> Unfortunately none of the solutions application developers come up with are really that good.

http://0install.net is designed to address this problem. It downloads tarballs (source or binary), manages multiple versions, uses GPG signatures, handles shared libraries, and supports dependencies downloaded itself or from the distribution (if sufficiently up-to-date) using PackageKit.

It's also included in most distribution repositories already (as the zeroinstall-injector package): Debian, Ubuntu, Fedora, OpenSUSE and Arch, at least. And it also works on Windows and Mac OS X.

I haven't seen it used for GNOME, but e.g. on most distributions you can run the ROX desktop's file manager like this:

$ sudo apt-get install zeroinstall-injector
$ 0alias rox http://rox.sourceforge.net/2005/interfaces/ROX-Filer
$ rox

What else would it need to support GNOME's requirements?

[ note: I am a 0install developer ]

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 11:37 UTC (Thu) by jpfrancois (subscriber, #65948) [Link]

Regarding running recent kernel, onn ubuntu you can install current kernel very easily. I have a 3.4 and 3.2 kernel on my 10.04 ubuntu, and I just downloaded a .deb

GUADEC: GNOME OS conversations

Posted Aug 26, 2012 5:54 UTC (Sun) by cas (subscriber, #52554) [Link]

Therefore any piece of Linux software.. whether it's drivers, games, or applications, absolutely must provide their own out-of-band solution for providing binaries if they expect Linux users to use it any time in the next six-eight months. Any distribution supported scheme is going to be distribution and release-specific.
You've convinced me. I really want to return to the 1980s. Spending days or weeks downloading, compiling, installing and resolving conflicts and version incompatibilities for every program or library I wanted to install was so much more fun that running apt-get.

GUADEC: GNOME OS conversations

Posted Aug 31, 2012 17:15 UTC (Fri) by philomath (guest, #84172) [Link]

There is a middle way, such as Arch Linux.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 10:02 UTC (Thu) by ebassi (subscriber, #54855) [Link]

I'd say the trouble from anybody else's perspective is that GNOME is producing something that appears to take six months to package and then transition over to.

you seem to be operating under the delusion that it takes six months to package GNOME; the development cycle of GNOME is six months; all micro releases are packaged by distributions to be tested during the development cycle of the distributions itself in order to receive QA and to apply distribution-specific patches.

sadly, this is not enough, unless you have a QA team for every distribution and for GNOME. the delta between design, development, and user testing is still too damn high - and after that you also need to deploy to the actual users.

this does not apply to GNOME alone, by the way; it's something that's common for every complex project - the Linux kernel, Xorg/Mesa, KDE, you name it.

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 12:23 UTC (Thu) by zuki (subscriber, #41808) [Link]

> Plus, as the photographs in the story above hint,

A question for the editors I have long wanted to ask: how are the beautifully fuzzy edges of photographs at LWN produced?

fuzzy edges

Posted Aug 23, 2012 13:13 UTC (Thu) by corbet (editor, #1) [Link]

Basic gimpery. Pull in thumbnail, ^a to select all, set a fuzzy brush, set color to white, edit->stroke selection, then stroke with the paintbrush tool.

If we actually knew what we were doing we would script it, of course, but it doesn't take long to do it by hand.

fuzzy edges

Posted Aug 30, 2012 18:38 UTC (Thu) by oak (guest, #2786) [Link]

Gimp "Filters" -> "Decor" menu has also "Add border" & "Fuzzy borders" and "Rounded corners" options which can do something similar. I myself prefer latter with smaller than default rounding and larger than default shadow.

Another mobile Linux?

Posted Aug 23, 2012 13:04 UTC (Thu) by Cato (subscriber, #7643) [Link]

Given that there are so many mobile Linux distributions, and only Android has really taken off, is there any reason to create another one based on GNOME? I'd suggest it's far better for GNOME to focus on its core advantages, perhaps for content creation as recently proposed.

Another mobile Linux?

Posted Aug 23, 2012 13:57 UTC (Thu) by tshow (subscriber, #6411) [Link]

Given the glee with which everyone else seems to be abandoning the desktop in favor of half-broken touch-friendly interfaces, it would be nice to see someone actually try building up the desktop a little more. Mobile interfaces are lousy for desktop use.

Another mobile Linux?

Posted Aug 23, 2012 16:24 UTC (Thu) by mpr22 (subscriber, #60784) [Link]

"Everyone else"? Strange. KDE 4 doesn't feel like any kind of "abandonment of the desktop".

Another mobile Linux?

Posted Aug 23, 2012 20:17 UTC (Thu) by tshow (subscriber, #6411) [Link]

I will admit I largely forgot about KDE. They haven't strayed as badly as some of the others, but even with KDE it seems like the focus is shifting to the question of how to get on tablets (ie: Spark or Vivaldi or whatever it is now) and things like social desktop and semantic desktop tools, neither of which are of use to me.

Another mobile Linux?

Posted Aug 23, 2012 23:35 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

While the noise related to KDE is focused on these new things, they aren't abandoning the old ways of doing things in the process.

The social desktop and semantic desktop tools are options. You may not like that they default to on, but they are pretty trivial to turn off.

Another mobile Linux?

Posted Aug 24, 2012 12:45 UTC (Fri) by tshow (subscriber, #6411) [Link]

True. What I couldn't apparently turn off was akonadi, which seemed to want to fill my disk with messages about how it was going slowly insane. Which is the main reason I'm running XFCE now instead of KDE.

how to disable akonadi

Posted Aug 24, 2012 23:21 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

GUADEC: GNOME OS conversations

Posted Aug 23, 2012 20:41 UTC (Thu) by apollock (subscriber, #14629) [Link]

Given the conversations I overheard in my workplace the other day about Unity and GNOME 3, and reluctance to switch from Ubuntu 8.04 to 10.04 as a corporate engineering desktop, I think GNOME is now missing the needs of power user and/or change-averse Linux desktop users.

GNOME 3 may attempt to bridge the divide for new Linux desktop users, but it (and Unity) have done so at the cost the existing user base.

GUADEC: GNOME OS conversations

Posted Aug 30, 2012 12:14 UTC (Thu) by ovitters (subscriber, #27950) [Link]

As said various times, a power user is a term without much meaning. Explain what you do, why and with which purpose and it can be incorporated.

And explanations which only describe the task (e.g. "I want to change my background") aren't good.

GUADEC: GNOME OS conversations

Posted Sep 17, 2012 13:28 UTC (Mon) by nye (guest, #51576) [Link]

>As said various times, a power user is a term without much meaning.

The fact that a term is hard to define precisely does not mean it is without meaning (what is art?).

It's a term that's widely used and understood, and you are being deliberately obtuse out of sheer petulance.

Whenever anyone tries to give specific examples you dismiss them individually, and whenever anyone tries to address the larger topic you demand that they be more specific. There appear to be no answers that will satisfy you, and yet you feel the need to troll every mention of the term, even though you clearly have no intention of meaningfully communicating with anyone.

And then you wonder why you get flames in return for your thundering obnoxiousness...

Developers! Developers! Developers!

Posted Aug 23, 2012 20:42 UTC (Thu) by jmorris42 (subscriber, #2203) [Link]

Perhaps the GNOMEs might want to make it easier to develop for what exists now before abandoning all that to go chasing the next rainbow.

It is all well and good that GTK+ does the automagic binding thing to every known language. Better still would be documentation on how to use ONE of them. If you were trying to bring up a new programmer, what documentation would you use?

I have beat this one to death here in the past but it really can't be repeated enough. Documentation is as important as code.

I can find a basic programming in Python + Gtk document. But Gtk != GNOME. It won't show you how to get full i18n support, attach to dconf, dbus, etc. It won't show you the 'right' way to produce a program that complies to the GNOME coding standards, leverages all of the current GNOME technologies and will have (perhaps) a shot at running with the next version with minimally invasive changes.

Perl? Java? Only very old very outdated docs. C of course has the reference docs... but you better like reading em on a web browser because you don't get a local copy in devhelp anymore. And it ain't written as a tutorial.

Developers! Developers! Developers!

Posted Aug 24, 2012 0:48 UTC (Fri) by walters (subscriber, #7396) [Link]

Yeah. See https://mail.gnome.org/archives/desktop-devel-list/2012-J...

Someone picking this up again would be *awesome*.

Developers! Developers! Developers!

Posted Sep 5, 2012 18:47 UTC (Wed) by pixelpapst (guest, #55301) [Link]

Developers! Developers! Developers!

Posted Aug 24, 2012 17:07 UTC (Fri) by apoelstra (subscriber, #75205) [Link]

> If you were trying to bring up a new programmer, what documentation would you use?

What I do (and I think it's common) is to download and read the source for some official Gnome applications, like gnome-terminal or sound-juicer. If I'm doing something weird, I'll grab the Gimp. If I'm using C#, I'll grab Banshee.

It's not great, but for something as large as Gnome, I can't see a tutorial being all that useful.

Developers! Developers! Developers!

Posted Aug 24, 2012 17:34 UTC (Fri) by jmorris42 (subscriber, #2203) [Link]

Great. So if you are an experienced C programmer who can read and understand the source to The GIMP you can code a simple GNOME app.

You have a new programmer. They know some Python, Java or whatever. With the magic in Gtk+ and such every machine has bindings for those languages. Heck, RedHat and pretty much everyone and their dog does all the small fiddly bits in Python these days. So what do you point that new to GNOME (and probably Linux) programmer at to get them up to speed.

And if you can't see a tutorial on how to code a simple program as even possible, isn't that a huge problem?

Now you know why I still reach up to the shelf over my desk and grab _Practical Programming in Tcl and Tk_ anytime I need to bang out a quick graphical thing. Every time I consider jumping to GNOME with either Perl or trying some Python... but get daunted by the wall I'd have to climb over and just use what has documentation. Pretty sure I'm done before I'd even really get started on the Googlefoo to try a GNOME version. Tk is old and a bit klunky but a solid accurate manual beats the snot out of any theoretical tech advantage in my estimation.

Developers! Developers! Developers!

Posted Aug 26, 2012 19:03 UTC (Sun) by mgedmin (subscriber, #34497) [Link]

The documentation and examples available at pygtk.org weren't bad, when I first dipped my toes into Gtk+ programming in Python a few years ago.

Now, with the switch to PyGObject-Introspection, things are a bit more cloudy. There is a nice Gtk+ 3 in Python tutorial out there, built with Sphinx (the documentation tool, not the search index), but I don't remember the URL.

I've received a patch to convert my PyGtk project to PyGI (I don't think I could've managed to do that myself), and I manage to maintain it, barely, by referring to the C API documentation and translating it into Python syntax. Also, people on IRC are helpful (#pygtk on irc.gnome.org).

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds