Free Riders, Canonical and Greg KH
On Wednesday kernel developer and Novell fellow Greg KH opened the first annual Linux Plumbers Conference with a keynote aimed squarely at the team behind Ubuntu, Canonical. I think Greg could have used the opportunity to inspire more than attack, but Greg obviously feels strongly about the necessity for upstream development. It’s also Greg being Greg: I believe he carries around a spoon just in case he encounters a hornets’ nest.
Does he have a point?
Greg’s contention is that Canonical is a passive member of the Linux community since they do not contribute code upstream. The operative point, that Greg left out, is they do not contribute much to the projects that Greg defines as “Linux” (namely the kernel, GCC, binutils, etc.) I found his focus solely on this projects, at the exclusion of such key upstream projects as Gnome, mis-leading. The kernel is the core of a Linux distribution, so I understand why Greg feels kernel patches are the most valuable, but you can’t discount Canonical’s support of Gnome and other desktop projects.
Why Pick on Canonical?
Perhaps Greg likes to pick on Canonical because they are so successful. A lot of people use Ubuntu (me included.) This isn’t sour grapes. As Greg pointed out it’s precisely because Ubuntu has so many users that their lack of upstream support is so important. The patches/bugs those users report to Ubuntu could be extremely useful to all Linux users, if they were contributed upstream. Greg’s contention is that because Ubuntu merely consumes the kernel and other elements of Debian, (effectively pushing it even farther removed from upstream development) they are not fully participating in Linux. His point is that if you are a developer you should use your skills with those companies who actively support upstream development. By all reasonable estimates, this is a lost opportunity.
But I also wonder why Greg doesn’t pick on other “free riders?” For instance, could Amazon have built their Kindle business without the $1 billion in free software in the Linux kernel? I don’t see them on the list in Greg’s presentation or the paper we did earlier this year. Why Canonical and Ubuntu? Is it because they much more actively market “Linux” as powering their product? They highlight it much more than Amazon, or Google with Android, or Tivo, or Motorola. Should they be punished for choosing to do something I consider to be a huge service to the Linux community?
So do I think Greg should go after Amazon in a similar fashion? Not at all. Linux is free (as in freedom.) That means you can use it without giving back. That means you are free to become a free rider if you want to. Companies who give a lot back upstream should be rewarded. These are companies like IBM, Intel, Red Hat, Oracle and Novell, among others. But if we get into endless bickering about free riders, this makes the Linux community appear vindictive and petty. Just using Linux makes the ecosystem so much bigger for the rest of us. This is why it’s so important that anyone can use it as they wish. Vote with your dollars, vote with your technology choices, vote by sending letters to companies. Reward good behavior.
So What Constitutes a Contribution?
In open source communities “code talks” and rightfully so. Canonical saw a need for a software project/company to contribute to Linux in a unique way. They focus on building a usable, more polished, more designed, better branded and better supported Linux distribution for the consumer market. By any one’s measure they have been successful in that endeavor. By my measure that is a very valuable contribution to the greater Linux movement.
Does that mean they shouldn’t contribute upstream? Absolutely not. If they can push more code/bug fixes upstream all users, not just Ubuntu users, will benefit. But Linux is also all about choice, and they have decided to fit in where they saw a need not being addressed. That is their choice. Do I agree with all of their choices? No. For instance I think including closed modules with their distribution is the wrong decision yet understand their reasons for doing so.
Ubuntu founder (and benefactor) Mark Shuttleworth recently addressed Greg’s criticism in his blog:
In Ubuntu we have in general considered upstream to be “our ROCK”, by which we mean that we want upstream to be happy with the way we express their ideas and their work. More than happy - we want upstream to be delighted! We focus most of our effort on integration. Our competitors turn that into “Canonical doesn’t contribute” but it’s more accurate to say we measure our contribution in the effectiveness with which we get the latest stable work of upstream, with security maintenance, to the widest possible audience for testing and love. To my mind, that’s a huge contribution.
I happen to agree. Open source is all about “scratching your itch.” About 200 companies contributed to the last kernel release. Mark saw a need for integration and distribution, which builds on the contributions of those 200 companies (and countless others outside the kernel.) It’s also interesting to note that Ubuntu itself is a “victim” of free riders. Many of the new Mobile Internet Devices gaining in popularity take Ubuntu and customize it to fit those machines. They slap a new brand on it and it’s no longer Ubuntu. This is the way Linux works.
I think it’s unfortunate when we get into such public Linux community “us vs. us” debates. (I feel conflicted about adding my voice to it.) Greg’s points do have merit, but they are too simplified. While I find Greg to be a very effective and strategic communicator about kernel issues, I wish he would use those considerable skills to inspire rather than castigate. Then again, he’s very good at stirring up those hornets’ nests.