Ubuntus move to use Unity instead of the GNOME shell of previous releases is sparking discord.
Ubuntu's Unity shell for GNOME first saw general release as the Ubuntu Netbook Edition in the 10.10 release in October 2010. Two weeks later, Ubuntu founder Mark Shuttleworth announced that the next release of Ubuntu would use Unity instead of the modified GNOME shell of previous releases.
The criticism began instantly, and, given new life by the alpha release of Ubuntu 11.04 and articles about what to expect in open source software in 2011, has hardly stopped since.
Listening to voices inside Ubuntu, you could be forgiven for wondering what the criticism is about. The blueprint for Unity describes it as a shell "that can match and exceed the OS X user interface in regards to visual effects" on desktop computers that can also be used with modifications on other hardware platforms such as netbooks. In other words, Unity is simply the continuation of Ubuntu's ongoing emphasis on usability and interface design.
Nor is Unity a complete departure from GNOME. As Ubuntu community manager Jono Bacon emphasizes, "Ubuntu is a GNOME distribution, we ship the GNOME stack, we will continue to ship GNOME apps, and we optimize Ubuntu for GNOME. The only difference is that Unity is a different shell for GNOME." If anything, Shuttleworth insists, Unity is part of the diversity that "makes GNOME stronger." Users will even be able to select another GNOME-based interface if they prefer.
So why the criticism? Since Unity is still in rapid development, little of the response has to do with its design or implementation. Instead, the criticism centers largely upon the fact that Ubuntu has opted to develop Unity outside of the mainstream GNOME community.
This choice matters both because it seems to run counter to the traditional cooperation between free and open source software projects and because it suggests that other innovations might meet an equally hostile reception. As GNOME developer Jeff Waugh tweeted, "so now 'Unity' becomes the most ironic product name in #floss history."
Two Increasingly Armed Camps
In announcing Unity's new role, Shuttleworth emphasized design differences. Referring to the GNOME Shell that is the basis of the upcoming GNOME 3, Shuttleworth is reported as saying:
We were part of the GNOME Shell design discussion, we put forward our views and they were not embraced by designers," Shuttleworth said during a press briefing. "We took a divergent view from the GNOME shell folks on key design issues, for example how application menus should appear on the system, how one should search to find applications, [and] how one's favorite applications should be presented.
However, what Shuttleworth does not acknowledge here is that Unity was only the latest example of Ubuntu being either unable or unwilling to cooperate with the GNOME project.
For over a year now, Ubuntu has been shipping with a version of GNOME that is increasingly different from the standard one. Notifications, the arrangement of title bar buttons, custom apps for centralizing the control of social media and sound-based applications -- all these have been developed by Ubuntu outside of the usual GNOME channels in the name of making the free desktop competitive (and, no doubt, of making Canonical, Ubuntu's commercial aspect, profitable at last).
Nothing in free software licensing, of course, prohibits Ubuntu's decisions to develop independently. Nor is Ubuntu the first to choose independent development. As veteran GNOME developer Dave Neary observes, Novell, Nokia, OpenMoko, and Moblin have all developed their own shells for GNOME in the past.
However, Neary also notes that all these independent projects have sometimes had rocky relationships with the main GNOME project. The obvious implication is that, with Ubuntu, history is likely to repeat itself. Based on the past history of relations between Ubuntu and GNOME, this implication seems almost a certainty.
On the surface, Ubuntu's decision is usually presented by leaders on both sides as an agreement to disagree. For example, when the plans for Unity were announced, Stormy Peters, executive director of the GNOME Foundation, blogged that the news was disappointing, but represented a change in the free software ecosystem whose challenge GNOME must rise to meet. Her tone and argument alike were an eerie echo of Shuttleworth's announcement of Unity's new role.
The reason for these facades is not hard to see: whenever the relationship between Ubuntu and GNOME are discussed, angry partisans on both sides are sure to sound off.
Ubuntu supporters are apt to claim that the GNOME power structure is unfairly prejudiced against Ubuntu and its innovations. For their part, GNOME supporters suggest that Ubuntu and Canonical are trying to impose their own agenda on GNOME as a whole. How true either claim originally might have been is impossible to determine, but the feedback between them now means that both appear to have a degree of truth.
This basic division is strengthened by two very specific claims against Ubuntu and Canonical.
The first is that, although Ubuntu ships with a version of GNOME by default, it does not contribute its fair share to GNOME development. Superficially, this claim appears to be supported by an analysis in July 2010 of the commits to the GNOME code that shows that only slightly more than one percent of them were submitted by Canonical, as opposed to 16% by Red Hat, and over 10% by Novell.
Undoubtedly, Shuttleworth has a point when he blogs that Ubuntu contributes in other ways, particularly by attracting new users to free software.
The trouble is, a contribution that so directly benefits Canonical may be rejected as not being comparable to the indirect benefit that coding benefits give other companies. Nor are developers apt to appreciate an increase in users when what concerns them are contributions to the code.
The second accusation is that Ubuntu is undermining free software for its own commercial interests. This is a charge that most businesses involved with free software face sooner or later, but in the case of Ubuntu and Canonical, it is supported by circumstantial evidence.
Considering that GNOME is currently trying to develop its own interface innovations in GNOME 3.0, you might easily conclude that Ubuntu and Canonical are trying to create a software stack in which they can dominate the decision-making without having to endure the usual give and take of free software development.
Ubuntu already has some history of unnecessary substitutions, such as the replacement of the Init daemon with Upstart that makes Unity seem like the more of the same -- all the more so since, a week after Unity's new role was announced, Shuttleworth added that Ubuntu would be replacing the X Window System with the largely untried Wayland.
All these projects are free software, of course, just like the software that they are designed to replace. However, when Canonical supplies the money and developers to hasten them along, you can be forgiven for suspecting that the projects are controlled almost as closely as they might be if developed entirely in-house.
This suspicion is heightened by the fact that the Canonical contributor's agreement assigns all rights to Canonical. Similar agreements been used by other companies to maintain a measure of control over projects -- Sun, for example, used them to control Java and OpenOffice.org -- so the community is presupposed to suspicion.
Moreover, in this case, the suspicion seems justified. If enforced, the agreement would not only oblige contributors to make changes requested by Canonical, but also gives Canonical the right to re-license code -- even under a free license.
In a smaller, less influential project, such things might be dismissed as part of a company's struggle to work within the community. However, in the case of Canonical and Ubuntu, they are apt to appear as cynical efforts to undermine the community and the common good.
The fact that Shuttleworth and other Ubuntu leaders rarely respond to such criticism, and only long after the fact when they do only seems to confirm the justice of the accusations.
Or, as Jeff Waugh tweets, Ubuntu's development of Unity seems the triumph of "brand before community, [and] differentiation before collaboration."
In return, because free software values are as widely held throughout Ubuntu as in the larger community, these accusations can only cause Ubuntu supporters to resent what they perceive as unfairness.
Facing the Consequences
In the end, the two sides of this dispute provide positive feedback to each other that threatens to make the whole situation spiral out of control. As Neary blogs, Ubuntu's choice of unity "will inevitably garner some support from within Ubuntu, and much criticism from the rest of the GNOME ecosystem, further isolating Canonical and the Ubuntu community from the rest of the free desktop community."
The result is desirable for neither side. Neary is probably right when, judging from previous attempts to develop shells for GNOME, he suggests that "Canonical's management has seriously underestimated the difficulty of the task in front of them."
In other words, the development of Unity may be more than Canonical and Ubuntu alone can handle -- yet the ongoing dispute means that few allies are available.
In fact, not even the whole of the Ubuntu sub-community supports Unity: the change is largely irrelevant to Kubuntu and Xubuntu, which rely on different desktop environments, while Edubuntu intends to support Unity as "an optional installation rather than a default," relying on the existing version of GNOME as better suited for its technical purpose and because it "currently offers better usability."
Similarly, mainstream GNOME also suffers from the division. One percent of software improvements may sound low, but in a project as long as GNOME, that is still 4,487 commits.
More importantly, according to Sergey Udaltsov's blog, in the past Ubuntu has always been a major source of feedback to GNOME development. He worries that the lack of Ubuntu feedback might adversely affect the quality of GNOME 3.
Although commenters on the blog were quick to dismiss Udaltsov's concern, it is a rare free software project that can afford to turn away any contributions. By sheer weight of numbers, GNOME can probably survive the lack of Ubuntu's support better than Ubuntu can survive the lack of GNOME's support, yet the point remains that any loss of support affects a project.
In the end, the right or wrong of Unity's place in Ubuntu hardly seems to matter compared to the very real possibility of yet another permanent division in free software. Yet, while in an ideal universe, both sides would realize that their differences only benefit their proprietary rivals, in this one there seems little chance of that ever happening.