A maxim of communication theory says that conflicts are seldom about the topic discussed. Almost always, they are about the relationships between the people arguing.
For instance, World War I did not start because an archduke was assassinated, but because of the complicated grievances that had divided Europe into two arm camps were triggered by the assassination.
In the same way, the conflicts between Ubuntu and its commercial counterpart Canonical on the one hand and other free software projects on the other hand are not just about Unity, the wording of the Canonical Contributors’ License Agreement, the technical differences between Mir and Wayland, or any of the half dozen other issues being so passionately discussed at any given time.
Contrary to what Ubuntu supporters sometimes claim, the conflict has little to do with jealousy. After all, Canonical has yet to turn a profit, and has had its share of failures, such as the Ubuntu Edge crowdfunding campaign.
Nor do you find the same level of animosity directed at free software companies that actually are successful.
True, the free software community has always been suspicious of commercial companies — to the point that almost a third of those who answered a recent poll on FOSS Force thought, with no proof whatsoever, that Red Hat might have a backdoor in its code for the convenience of the American government.
However, the criticism of Red Hat is nowhere near as constant as what Ubuntu and Canonical receive.
I suspect that the community is less jealous of Ubuntu and Canonical than disappointed. From its earliest days, Ubuntu promised to transform free software, yet somehow that has never happened. Despite some advances in desktop usability — especially in the first few years — Ubuntu is nothing more than a distro among other distros.
It might be the most popular distro, but it has rarely managed to innovate more than rivals like Fedora that do not boast so regularly about their contributions. To this extent, Ubuntu is a victim of its own inflated promises, as well as its failure to deliver on them.
But even more to the point, Ubuntu has always been a maverick in the community. Again and again, at times through ignorance, and at times through haste and different priorities, Ubuntu has ignored the unwritten conventions of the community. All too consistently, it has failed to give due credit, to make decisions within the community and to observe the usual relationship between upstream and downstream projects.
Worst of all, from the traditional perspective, it has gone against these norms while claiming leadership of the community. Most likely, it could not have antagonized large sections of the free software community if it was deliberately trying.
Credit where it’s due
The only return that free-licensed software promises is credit for your work. That promise remains important to many developers even today, when many are getting paid for their work.
However, Ubuntu has frequently been slow to give credit to other developers and projects. Neither the Ubuntu nor Canonical home pages mention Linux, although the Ubuntu page proclaims the distribution “the world’s most popular free OS” in the title bar, and the Canonical page mentions “open source” twice.
Debian, the distribution that Ubuntu remains based upon, is similarly unmentioned at the top levels of the sites. When the Ubuntu wiki gets around to acknowledging Debian, it does so partly in language that reverses the relationship, declaring that “Every Debian developer is also an Ubuntu developer, because one way to contribute to Ubuntu is to contribute to Debian” — as though Ubuntu was the parent distribution and Debian was the off-shoot.
To say the least, such behavior comes across as ungracious. Add the Canonical Contributors’ License Agreement, which makes all contributions the property of Canonical, and reserves the right to make them proprietary, and the ungraciousness is only compounded. At least when a non-profit like the Free Software Foundation requests copyright assignment, you can be assured that your code will be used as you want it to be used.
When Dictators Stop Being Benevolent
Until about 2010, Mark Shuttleworth, Ubuntu’s and Canonical’s founder, could call himself Self-Appointed Benevolent Dictator for Life and pass it off as a joke. After all, other examples of centralized decision-making exist in free software, including Linus Torvald’s control over the Linux kernel. So long as this control is tempered by an openness to input from the rest of the project, few object too strenuously.
However, the process of the Unity interface saw a move away from community decision-making. The process was marked by the sudden appearance of the Canonical Design Team, and widespread resentment about its veto power over the Ubuntu community. In this atmosphere, otherwise minor design choices, such as the positioning of button controls on the title bars of windows became major issues.
Shuttleworth stifled complaints by asserting his authority. “This is not a democracy,” he explained. “Good feedback, good data, are welcome. But we are not voting on design decisions.”
This centralized control could be justified by the need to complete Unity and ready Ubuntu for commercial purposes. However, over the last few years, it has become increasingly evident, with even long-term Ubuntu volunteers questioning the point of their efforts when they had no role in decision-making.
Today, the questioning seems to have been contained with few resignations or further complaints. But anyone who doubts that the underlying problems continue to exist has only to look at the Ubuntu home page.
The page emphasizes Canonical’s smart phones, and OpenStack tools, with the downloading of Ubuntu — the main reason most people might visit the page — only mentioned third. To those accustomed to the give and take of decision-making in the average free software project, nothing could be more different.
Swimming Upstream
The role of Linux distributions has always been to coordinate the software produced by specialized individual projects — the so-called upstream projects, such as Firefox and LibreOffice. This arrangement lets each project do what it does best, and assures that code improvements can be shared by the entire community.
Ubuntu, however, has a long history of building software on its own. The process began with the replacement of init with upstart, but, like most of Ubuntu’s inner structure, really got started with Unity.
Faced with conflicting visions of the desktop and a development speed that was too slow for Canonical’s plans, Ubuntu withdrew from GNOME and began building Unity.
Looking back, I suspect that Unity was a bigger project than Canonical expected. In fact, Canonical might have lost no time had it stayed with GNOME and canvassed support for its vision of a user interface. Perhaps, too, software like Unity might be more popular had it been developed in an upstream project in which developers with different interests might be involved. But that is entirely speculation.
What is not speculation is that Canonical became increasingly isolated from much of the rest of the community. Either it started its own projects for improving the Linux stack, or else it tried to dominate existing projects by pouring donations and work into them.
Along with this isolationism has come a general suspicion of anyone outside Canonical or Ubuntu. This tendency is particularly noticeable in the production of Mir, Canonical’s candidate to replace the aging X Window System, and Canonical’s abandonment of Wayland, the candidate that most of the community prefers.
When KDE announced that it had no immediate plans to support Mir and for now would concentrate on Wayland, Shuttleworth responded with an attack on those who opposed the project “on purely political grounds,” commenting that “At least we know now who belongs to the Open Source Tea Party.”
More recently, the controversy has continued in more muted tones, with Robert Ancell, a Canonical developer, insisting that “the display server doesn’t matter” — the implication being that KDE has exaggerated the issue — and KDE leaders countering that the issue does matter, and accusing Ubuntu and Canonical of failing to coordinate their efforts with the rest of the community.
You do not have to read either side in the Mir vs. Wayland debate to conclude that both sides are talking about much more than technical details.
The Leader Who Never Was
However, despite these other concerns, probably the most important single reason for the reservations about Ubuntu is its frequent attempts to assume the leadership of free software — a position that no one has ever filled, and that no one particularly wants to see filled.
In its first few years, Ubuntu’s influence was mostly by example. However, by 2008, Shuttleworth was promoting the idea that major projects should coordinate their release schedules.
That idea was received without enthusiasm. However, it is worth noting that some of those who opposed it, like Aaron Seigo, have re-emerged as critics of Mir — another indication that personal differences are as important as the issues under discussion.
At any rate, Shuttleworth rapidly abandoned the idea of coordinated releases for a “challenge” to free software to rival Apple in design. That proved no more popular — mainly because the community was already starting to focus on design. However, the poor response may have helped Ubuntu and Canonical to become more isolationist.
On the strength of Ubuntu’s popularity, Shuttleworth has continued to write as though the rest of the community is waiting to follow his lead. For example, recently Shuttleworth concluded a blog about the need to improve firmware with “Our mission in Ubuntu is to give the world’s people a free platform they can trust. I suspect a lot of the Linux community is motivated by the same goal regardless of their distro.”
Judging from the grandiose language and the sentiments, he continues to regard himself as a leader of the community. Large segments of the community, though, consistently articulate a very different view of Ubuntu and Canonical’s leadership.
Under these conditions, any change in relationship seems unlikely. Many were pleasantly surprised when Debian announced it would support systemd over init or upstart, and Shuttleworth announced that he would do the same. However, the graciousness turned out to be temporary, and not a change in relationships after all.
Ambition and haste
Ubuntu has always been ambitious. In addition, though, when you look back on its history, it has usually been in too much of a hurry to realize its ambitions. No doubt the drive to make Canonical profitable has only increased its rush.
The main problem with this rush is that it has encouraged Canonical to focus on its own goals, and too often to neglect its relationship with the rest of free software. Instead of cultivating tactical alliances, it has trampled over the unspoken conventions, creating animosity instead of acting in its own best interests.
Admittedly, the larger community can be slow to change and quick to defend the way things are. You could argue with some success that an attempt to innovate and to do things differently is long overdue. But while Canonical has helped to transform the Linux desktop, at times its rashness has made its failures (and partial successes) as significant as its successes.
The bottom line is that Ubuntu and Canonical’s relationship with the rest of free software is severely dysfunctional — and that no one on either side appears to have the will to fix it.
Photo courtesy of Shutterstock.