I’ve always found it sort of amusing when people interact with my Linux desktop (picture inset) during demos or just to look at a web page, and say something to the effect of “THAT’s Linux?” I’m not quite sure what people have been led to believe or what their expectations are, but Linux has had a couple of different very capable and credible – if not market leading – UIs (Window Managers Desktop Environments, in Linux-speak) for years. Those who’ve never seen Linux seem to be expecting some sort of horrific green screen-style terminal window, and are instead presented – to their surprise – with a relatively accessible interface.
As happy as I’ve been with my choice of Window Manager Desktop Environment – GNOME, however, I’d never contend that it’s on par in eye candy terms with the latest and greatest from Apple, and in theory, Microsoft. GNOME is certainly polished, and depending on who you believe its competitor KDE may be more so, but in the subjective arena of ‘prettiness’ both Apple and Microsoft are commonly perceived to have a sizable lead. From eye candyish features like drop shadowing and transparency, both OS X and Vista seem to better the likes of GNOME.
There have been projects, to be sure, that have been aimed squarely at this functional gap – Sun’s Looking Glass perhaps most notable among them. But none, to date, have gained much traction – largely as a result of some rather strict hardware requirements. Thus, they’ve remained on the bleeding edge far longer than is desirable.
Perhaps perceiving this shortcoming, Novell’s been hard at work on a project called Xgl, which is a new X server built on top of OpenGL. I’ve been tracking it for a while, at least since I read about it on Nat’s blog around this time last year. Well, here we are a year or so later, and Novell’s announced (here‘s Miguel’s take) the fruits of their labor. If you visit the link, you’ll be able to see Nat demoing true transparency, Expose-like functionality (which actually looks very useful, unlike some of the other stuff), and more bleeding edge graphics goodness.
Now that in and of itself would be interesting – and frankly I can’t wait to see some of the functionality make its way into other distributions besides SuSE, but what’s more important is that my usage of the words ‘their’ and ‘labor’ was not accidental. This is not the product of the GNOME or any other community – it’s purely Novell, from the looks of it.
The reasoning for this decision was articulated quite eloquently in an email linked to by Nat. Answering the question of why Xgl/Compiz (Xgl’s Window Composition Manager) wasn’t discussed openly with the community during development, Dan Winship answered:
Although the changes aren’t nearly as radical as the original mockups, they are a big change from the current GNOME panel menu. If we had proposed the changes on the mailing lists, it would have started a huge discussion about what people hated about the design (“you can’t make the panel menu depend on beagle!!!”) and how it should be different. And then we could have either (a) completely ignored everyone and done it ourselves anyway, or (b) had a long conversation about the merits of the design and then not actually finished the code in time for NLD10.
So we did it ourselves, and now either GNOME will like what we did, in which case, yay, free code for GNOME, or GNOME won’t like what we did, in which case, no harm no foul for GNOME, and yay, brand differentiation for Novell. (And anyone who yells “fork” deserves to get one stuck in them.)
An equivalent answer to the question is “because you can’t do design by committee”. Everything good in GNOME is good because one person or a small number of people working closely together made it good. Much of what is bad in GNOME is bad because lots of people have contributed without having a single vision of what the end result is supposed to be…
But some people will still say “But couldn’t you have discussed it with the community before doing it?” No, we couldn’t. If we had, it would either not have happened, or it would have sucked. It’s inevitable. It’s not a problem with the GNOME community, it’s a problem with communities
in general. The wisdom of crowds[4] only works in situations where there are clear right and wrong answers. If you try to apply it to a design problem, where there are many entirely different right answers, then you end up with a wrong answer. Always[5].So to sum up: design by committee is bad, endless debates that result in code not actually being written are bad, design by very small teams is good, software with a unified vision is good, trying out cool new UI ideas is good, free code at least doesn’t suck, and of course, for
Novell, not shipping NLD10 is bad. I don’t think there’s anything we could have done to get more of the good without also getting more of the bad.
Maybe I’ve just been an analyst too long and am therefore hopelessly jaded, but I have to think that there’s more to this story than is covered here. There are a number of fascinating dimensions worth exploring here, namely:
- What this says about community based development and open source generally
- What this says about Novell’s relationship with GNOME specifically, and to a lesser extent, KDE
- What this says about the future of the Linux desktop, generally
- What this says about the future of the GNOME and KDE projects
For my part, I don’t disagree with much in the above email; most of the successful projects I track are not the product of huge committees, but rather dedicated effort on the part of small, focused teams. Think Firefox.
That said, I’m going to be watching with great interest to see how the GNOME community specifically reacts to this skunkworks development effort, given that Novell employs a great many GNOME devs. Likewise, I’ll be watching to see if this off-community development model becomes more common; will the Linux desktop development landscape come to resemble the JCP? We’ll see.
In any event, I’m personally hoping that GNOME does choose to embrace the new Novell software; I’m not interested in the politics, I just want the eye candy 😉 I’m not sure if the paltry Intel Extreme Graphics 2 card I’ve got is up to the challenge, but I’d like to find out, and installing NLD10 isn’t realistic. If any of the Novell folks will be at OSBC next week, do me a favor and look me up.
Update: Have received a couple of polite clarifications from members of the GNOME community, first that Compiz is not in fact a Window Manager a la GNOME or KDE, but just a Composition Manager, and second that the general sentiment is that Xgl is relatively separate and thus not directly threatening to the communities mentioned. Many of the concerns and issues raised, however, are viewed as still legitimate. Much has yet to be played out.
Update 2: Looks like I was playing fast and loose with my desktop terminology yesterday, as reader Rohit Sankaran further clarifies that I was conflating Window Manager w/ Desktop Environment, which as he notes is incorrect. He also noted that Compiz is just a Composition Manager, as noted above. Thanks for the correction, Rohit.