I’ve been thinking about the recent flap over Canonical’s small contribution to GNOME and what that means. Thinking so much that I woke up at 3:00 AM and still can’t get back to sleep. I usually don’t get involved in these things because others do a better job, but I’ve not seen anyone who really gets to the point I’d like to make.
The best summary is Brian Proffitt’s article Canonical’s Disconnect with Linux Developer Community, and the original spark was Greg DeKoenigsberg’s article where he takes Canonical to task. It’s true Canonical’s commits to the GNOME codebase have been miniscule. Proffitt also points out their Linux kernel contributions have been weak. Jono Bacon responds to all this by pointing out that while Canonical hasn’t contributed directly, they’ve worked on projects outside of GNOME in their own development system (Launchpad). Others have pointed out that Canonical contributes users to Linux, so they should be excused for their lack of technical contribution.
This makes me wonder if Jono, Mark Shuttleworth and the rest of the shapers of the Ubuntu philosophy are ignorant of open source tradition, or if they just don’t care. The best synopsis of the open source development model is in The Cathedral and the Bazaar where Eric Raymond points out that free software developers aren’t driven by money, they create to have something useful and to win the respect and acknowledgment of their peers. Becoming somebody in the Linux world comes from contributing. You become a recognized contributor on a project by getting code commits. My name is in the Jokosher credits because I committed documentation.
It seems Canonical wants to short-circuit this model. The right to drive GNOME development comes form contributing. The more you contribute, the more merit your words have. As Jono points out, Ubuntu development is done in Launchpad. Rather than investing in GNOME and developing a reputation through contribution, Canonical has built their own system, developed their own projects and worked only on Ubuntu. When you make your own project you instantly become King, and you don’t have to work your way up.
As Jono points out, the code is open and you can come and get it out of Launchpad. This isn’t how it’s supposed to work. There’s no law against developing outside of upstream, it’s just a selfish thing to do. Developing in your own system means you care more about yourself than the upstream project. Red Hat, Debian and Novell have bowed to the leadership of GNOME and shared their vision. Canonical has decided to go their own way.Shuttleworth may talk about building an exciting new future for Linux, but he’s only concerned about Ubuntu. Linux may benefit as a whole, but by others also turning their backs on the upstream projects and going the Ubuntu way. Canonical has created 2 camps, the Linux community and the Ubuntu community.
It’s true that Ubuntu brings new users. It’s true that they’ve welcomed new users and helped them along and given them something they could be excited about. They’ve filled a niche that needed filled. My concern is that they’ve begun to teach these users a way of thinking that’s foreign to Linux and Free Software. Ubuntu is built on a deep foundation created by others. Ignoring that foundation is dangerous.
So I’m left with the question: is Canonical just so enthused with their success that they’re willing to ignore the open source principles they’re founded on? Do they really not know how to be a good citizen in the Linux community, or is Shuttleworth building the Ubuntu brand at the expense of Linux as a whole?