The future of the Linux desktop took a dramatic new turn this morning during Mark Shuttleworth's keynote address at the Ubuntu Developer Summit.
In that talk, the founder of Canonical and the Ubuntu distribution outlined plans to make Unity, the user interface currently used on Ubuntu Netbook Edition, the default user interface for the Ubuntu Desktop Edition, beginning with the Ubuntu 11.04 release. This marks a sharp departure from the Ubuntu's past reliance on GNOME as its default interface, and would make Ubuntu the first mainstream Linux distribution to not ship with either GNOME or KDE as a desktop environment in many years.
The reasoning behind such a move appears to be due to a number of factors, some of which may have been caused by the GNOME Project itself, which this past summer announced that GNOME 3.0 would be delayed yet again, and would not be released until March 2011. This scheduling change automatically put GNOME 3.0, and its default user interface GNOME Shell, out of conceivable reach for Ubuntu 11.04, set to be released sometime in April 2011.
Though Unity will become the default interface for Ubuntu Desktop, this is not necessarily a complete abandonment of the GNOME Project by Canonical. When Shuttleworth first announced Unity would be the default interface for Ubuntu Netbook Edition back in May, he was careful to note the specific relationship between Unity and GNOME Shell:
"Unity does embrace the key technologies of Gnome 3: Mutter, for window management, and Zeitgeist will be an anchor component of our file management approach. The interface itself is built in Clutter," Shuttleworth wrote at the time.
This morning in his keynote, Shuttleworth also emphasized that Unity was a shell for GNOME just as GNOME Shell was.
Based on how Canonical historically operates, GNOME Shell may not have ever stood much of a chance to be the UI for desktop Ubuntu. In that same May blog post, Shuttleworth indicated that "...[t]he design seed of Unity was in place before Gnome Shell, and we decided to build on that for the instant-on work rather than adopt Gnome Shell because most of the devices we expect to ship Ubuntu Light on are netbooks."
Canonical and the Ubuntu team are well known for pushing their own home-grown projects over similar community works. Launchpad itself is a strong example of that, with Canonical eschewing other bug-tracking and development web application options in favor of its own. Another, more recent example, was Shuttleworth's recent explanation of sticking with notify-osd system notifications in Unity versus the system used in GNOME Shell.
"We designed and built it [notify-osd] in good faith, it’s compatible with the freedesktop.org standards, we did it long before anybody else seemed to care about reinventing notifications, we expressed a willingness to collaborate around API’s when suddenly they did and now we have good code that works, with lots of apps that use it. So, we’ll stick to it," Shuttleworth said in an interview with OMG! Ubuntu.
Based on these historical stances, if Unity was indeed something that was put together before GNOME Shell, then GNOME Shell would have had to have been absolutely beyond outstanding for Canonical to consider it as a default UI for the desktop editions.
This decision is likely to stir up the community, particularly the GNOME community, quite a bit. In July of this year, Dave Neary released a GNOME Census that highlighted the results of his survey of the GNOME 2.30 code at GUADEC this summer. A significant firestorm erupted when it was noted that among all the organizational commiters to the GNOME base code, Canonical seemed to have contributed very little to GNOME.
Some might speculate that this move to Unity might be rooted in that conflict, which ended with Canonical and Ubuntu team members making a concerted effort to highlight the areas and methods where Canonical does contribute to open source and free software projects.
For my part, I don't think that's the case. Like them or not, Canonical isn't likely to act in such a petty manner. Such behavior would be like cutting off their nose to spite their face.
But let's be clear: at the end of the day, Canonical wants to be a leader in the business of Linux, and it is taking a very specific path to get there: differentiating itself from all of the other distros, particularly in the realm of user interface and experience. That is the single-minded goal of Shuttleworth and the company he created. The question now becomes is, will the community accept this goal and keep proactively working with Canonical?
The decision to go with Unity over GNOME Shell, more than anything, will decide. Canonical can keep right on going with its development of Ubuntu, really, with or without the community's help. After all, they can consume every bit of free and open source code as a pure-downstream vendor. But operating in such an unfriendly environment would have serious consequences. There's a big difference, after all, in figuring out how code works by reading it, versus reading it and being able to ask questions and post improvements to upstream developers.
It will be interesting to see how the community reacts to the Unity decision. If not handled well, Canonical could find that "Unity" will bring exactly the opposite result to their standing within the community.