I don’t get it. There’s a huge bunch of people, users and contributors, throwing mud at each other in the name of their favorite Free Software project. Online on blogs, identi.ca, forums, mailing lists and virtually any form of communication known to the broader Free Software community. Most blog posts have no actual content, but are just slurs and hatred wrapped in nice rhetoric. Both sides seem to largely have lost the ability or will to talk to each other. What I’m observing is the GNOME/Canonical debate.
On the GNOME side, people accuse Canonical of not working together with the GNOME project. Most of the controversy seems to evolve around the decision to use the desktop that started as an in-house Canonical project called Unity instead of the new GNOME Shell in the upcoming release of Ubuntu. Supporters of GNOME seem to see that as an open attack on their project, or something like that. Much of the argument is also fueled by past and present Canonical “mistakes” like moving the window buttons, their policy of copyright assignment and most recently the change of the Banshee Amazon affiliate ID.
On the Canonical side, it seems people are sick and tired of receiving a ton of hate mail for every little change they make. I could imagine that having to justify that they’re working on a Free Software project and giving it away for free can be quite frustrating for Canonical employees and Ubuntu community members. After all everything they do (at least on the desktop) is completely Free Software.
Now, when I see both sides putting so much effort into the discussion, I am asking myself:
What do they try to achieve?
The thing is, that’s not that easy to answer. Of course everyone speaking/writing on this subject may try to achieve something else, but the general tone I seem to hear is:
GNOME: Use GNOME Shell in your next release and abandon your non-upstream stuff like Unity, Application Indicators, Messaging Menu etc or at least integrate it into GNOME Shell.
Canonical: We would really like to keep using that stuff, leave us alone already.
Let’s broaden the perspective a bit. Let’s move away from the current discussion and look at what the projects, GNOME and Ubuntu, try to achieve. Because I think they have a common goal, and actually a very similar vision of how that goal should look like. A Free Software desktop, easy to use, elegant, with a unified user experience and a unified developer experience. In short, a Free Software desktop operating system and platform that is able to compete with the proprietary alternatives. This also includes an App Store/Software Center. Let me show you two screenshots.
Does this look like a different vision to you? Does this look so different to you that it’s worth having a heated argument about it? To me it seems that GNOME and Ubuntu still share the same vision, and also have very similar understandings of the concrete manifestation of a Free Software desktop. This is what the Ubuntu community means when they say they are still a GNOME distro. Canonical tweaked the desktop over several releases with the introduction of App Indicators, the MeMenu etc etc and presented Unity as an end result of this, while the GNOME people got their Shell ready and ported most of the core applications to GTK3.
Now the final release of Unity for standard desktops and the final release of GNOME 3 (which will first be included in a major distro in Fedora 15) are soon to happen. It’s not a new phenomena in Free Software communities that when two projects are equally good and it doesn’t look like one is going to cease development anytime soon (it is my point of view that Unity and GNOME Shell are currently equally good desktops, I’m trying to be as objective as possible here), a huge flame war starts. These are almost never based on “technical” arguments, only sometimes based on project politics, and all of the times pure personal preference. The latter also applies in this case. You might argue about Canonical’s decision finding process, or the way they develop software, but they release working software that obviously pleases its users. This is Free Software. Even if you don’t like the company developing it, in the end only the code matters, and whether the users like it. The freedom is not going away.
What I’m trying to say is: Are the points brought up against Canonical really that grave? Grave enough to justify a major split of the Free Software Desktop? Can’t two projects with such similar goals, such similar visions and such a shared history as GNOME and Ubuntu stop the turf war and try to get things done together? And if that’s not possible for reasons I fail to see right now, at least accept and respect the existence of each other? If Google launches Chrome OS soon, I’m sure they’ll put all their force behind it, and I don’t think there will be enough space left for a fourth major player on the desktop market after that. This might be the last chance for the Free Software Desktop. Can we unite, or will we go down fighting each other?




Very well said. I personally object to some of the project decisions Canonical makes but I have no problem if they want to make their own desktop or desktop experience for their users. I do take issue with how certain Canonical staff in the past repeatedly criticizing Novell for “code-dumping” and closed development of slab as not being good manners within the FOSS world but then be apologists for similar behavior for their current employers. That aside I think it will be interesting to see where the user fall in all this, will they stick with Unity, go with GNOME shell, or someplace else? Will either of these similar visions grow the user base? Either it will be interesting but I agree the rhetoric on both sides needs to be dialed down.
At first I wanted to reply here, then realised I should duplicate it anyway so replied with a blog post: http://nicubunu.blogspot.com/2011/03/gnome-wars.html
In short: two propaganda machines at work, each hitting on the other one.
Replied on your blog, it’s great to see that many people in Fedora are not taking sides without thinking first
We should understand nobody is an absolute angel or an absolute devil and in any situation use our brains and make our informed decision. This way when looking back, if we made a mistake it was our mistake, not were we fooled by a shil.
Notice these two comments:
http://aseigo.blogspot.com/2011/03/collaborations-demise.html?showComment=1299807005600#c2417381301530751354
http://aseigo.blogspot.com/2011/03/collaborations-demise.html?showComment=1299814706744#c1432139034199491817
It’s not like Canonical has nothing to fix. And so does GNOME, they have been notoriously closed to outsiders and it’s not getting any better – imho there is no excuse for not working with KDE and Canonical on using the statusnotifier spec.
So this discussion is imho good and healthy – it could benefit FOSS, collaboration is good for us. No, not blindly following others or just doing what Aaron describes here: http://aseigo.blogspot.com/2011/03/collaborations-demise.html?showComment=1299827142761#c4757710492378664655 but engaging in conversation and finding a common ground on FD.o IS GOOD FOR FOSS.
From whatever I could understand, It wouldn’t have been so bad, if Canonical developed its software in GNOME repositories instead of their own private space, behind the doors. If btrfs and ext can exist in the same git server, there is no reason why Unity and Shell couldn’t have existed in the same git server. Doing things in closed manner and crying foul when it is rejected by upstream releaseteam is a bad thing imho.
Canonical seem to have not learned yet with Shuttleworth’s recent blog post trying to teach GNOME leadership what Leadership is, instead of trying to fix things.
I don’t know if GNOME really rejected anything from Canonical without solid technical reasons. Dave Neary to tried to find answers for it but no answers has been found because things were not done in Open git repositories by Canonical.
FWIW, my neutral take was published yesterday: http://psankar.blogspot.com/2011/03/gnome-vs-canonical-freedesktoporg.html
I think you need to make a difference between working directly on upstream projects and developing optional add-on products.
Transmission for example is not developped withing GNOME, still it is a GNOME project. Same goes for Abiword, and probably a couple of other GNOME projects.
When you develop things, there’s stuff that needs to be in upstream projects to be useful, and stuff that can be used on top of it. App Indicators were clearly one of the former things, and I think they made a mistake there.
I don’t like the way Canonical releases their software either, because I think it is better to develop it in the open (might that be on Launchpad, or GNOME git or wherever) right from the beginning than developing a pretty complete software and only let the community work on it after that.
But I can also understand why Canonical might disagree with me there, and that it’s easier for them to design and get software ready with a process like this.
In the end, to me it matters that they release it as Free Software, and they are consistently doing this it seems.
The fear here is, and i am not familiar enough with Canonical to tell either way, they may be planning to go OpenCore
Herein lies the problem. It’s not just the code dumping that is problematic for reasons people have articlulated far better than I could.
The other major issue is copyright assignment. GNOME recently enacted a policy of not allowing projects that require this. All (or most) Canonical projects require assignment.
GNOME managed to get Novell (Evolution) and Intel (Clutter) to drop assignment recently.
Evolution and Nautilus were developed by external companies and released once they were done. That was very much accepted, even welcomed by GNOME – despite the fact that there were already apps doing the same thing in GNOME. I smell a Red Hat vs Canonical here, Sankar
And I think it’s bad for Free Software, as I noted on your blog as well…
Very well put. Thanks for trying to put this all in a little perspective.