Greg Kroah-Hartman’s Linux Ecosystem
There were, let’s say, a few elements of it which I found objectionable.
The central issue, of course, was that he devoted a large portion of the talk to showing that Canonical contributes fewer patches to the Linux kernel than many other companies. While it’s somewhat flattering for Canonical’s role in the community to be a headline topic for a conference like this, the message that he chose to deliver was a negative one. He presented list after list of contributors, ranked by number of patches, and pointed out how low Canonical was on each one.
I approached him immediately after his talk to suggest that we have a conversation about the topics he raised, but he wasn’t interested in talking with me at that time. I made a standing offer to talk with him at any time during the three-day conference, and hope that we can get to the bottom of this. Until then, I’m not sure what exactly he’s trying to accomplish.
Meanwhile, I’d like to make a few points. I’ll start with a disclaimer, something that Greg chose to omit from his presentation: I work for Canonical, and am one of the founding members of the Ubuntu project.
Greg’s view of the ecosystem is odd
Greg considers the “Linux ecosystem” to be GCC, binutils, the Linux kernel, X.org, and a handful of other projects. He disregards most of the desktop stack (including GNOME and KDE), all desktop and server applications, and most anything else that is recognizable to an end user as “Linux”.
Some members of the audience picked up on this and commented. His justification for this was that these other components are not specific to Linux. “Any contribution to GNOME also benefits OpenSolaris”, says Greg. Apparently, this means that GNOME isn’t an important part of Greg’s Linux ecosystem. “I had to draw the line somewhere”, he says.
This is not the Linux ecosystem that I use and contribute to.
Greg’s figures are wrong
The first slide in his presentation acknowledged that he had miscounted Canonical’s contributions to the Linux kernel. As he freely admits, his method is not an exact science and there were many other errors. However, given that he intends to use these statistics to attack Canonical, he should take more care in compiling them.
His original claim, given at a Google tech talk in June 2008, was “Canonical doesn’t give back to the community”. He supported this by saying that “Canonical made six changes to the kernel in the last five years.”
Greg now states that Canonical has in fact contributed in excess of 100 patches. This means that his raw data for the kernel was incorrect by two orders of magnitude.
His LPC presentation also put forth some new claims regarding contributions to other projects. In particular, he lambasted Canonical for not contributing to binutils at all (zero patches). What that actually means in terms of our position in the ecosystem is debatable, but numbers are not. It’s true that Canonical does not contribute as much to binutils as Red Hat does (and more on that later), but as Kees Cook pointed out after the presentation, he personally contributed a patch (now merged) which credited Canonical as his employer, which fell within the date range of Greg’s analysis.
Of course, none of these errors impact his fundamental conclusion, which is that Canonical engages in relatively small-scale development compared to Red Hat and Novell. No one is disputing that. However, the fact remains that his data is inaccurate.
Greg is failing to disclose his bias
Greg is, of course, a well respected contributor to the Linux kernel, having sustained a significant level of contribution over a period of several years. I’m grateful to him for his technical contributions, which of course benefit Ubuntu as a consumer of the Linux kernel. However, his contribution to the public dialog about the Linux ecosystem leaves much to be desired.
We all have bias, and the best that we can do is to disclose it so that others can take it into account when hearing our ideas. Unlike the presentations given by other Novell employees at this and other conferences, Greg’s slides omitted the Novell logo.
Novell is, of course, a competitor of Canonical, being an operating system vendor (and a large one at that). To attack his corporate competitors without acknowledging his affiliation is in poor taste.
Greg’s comparisons are bogus
The fundamental argument he makes is that Canonical doesn’t contribute as much as Red Hat, Novell and many other organizations which he names. This is absolutely true. He says that it’s unethical to claim more contributions than one has made, and he’s absolutely right there as well.
However, no one, certainly not Canonical, has ever claimed that Canonical does as much Linux development as Red Hat or Novell. He’s refuting a claim which has, quite simply, never been made.
Canonical is primarily a consumer of the Linux kernel. It is one of the building blocks we need in order to fulfill our primary mission, which is to provide an operating system that end users want to use. It is, on the whole, a good piece of software which meets our needs well. We routinely backport patches from newer kernels, and fix bugs which are particularly relevant to us, but our kernel consists almost entirely of code we receive from upstream.
Why, then, does Greg feel that Canonical should be expected to make more changes to the Linux kernel?
Is it because Ubuntu is a very popular system, with a lot of users? It is that, but most people who use Linux aren’t kernel developers, so a large user population doesn’t translate to a lot of Linux kernel patches.
Is it because he thinks Canonical is making a lot of money off of the Linux kernel, and should give some of that back? We make no secret of the fact that Canonical as a company is not yet earning a profit. We make a promise to our community that we will never charge money for Ubuntu.
Is it because he thinks Canonical developers are writing a lot of patches and not contributing them? If he does, he hasn’t compared our kernel tree with Linus’.
Greg’s approach is not constructive
If we give Greg the benefit of doubt, and assume that he doesn’t merely have an axe to grind, then there must be some genuine concern behind all of this. He must feel that Canonical is somehow not doing the right thing.
If that’s true, why hasn’t he ever talked to me about it? He has my email address, and we’ve exchanged mail and spoken on the phone before. Why am I hearing about this through presentations given to Google employees, posted on YouTube, or delivered to audiences of kernel developers?
To present his commentary in this way is indefensible. LPC is promoted as a productive community event aimed at solving problems, and Greg has used his voice as a speaker to promote a much less honorable agenda.
When this sort of thing happens on mailing lists, it’s called trolling.