Wednesday, October 22, 2008

Who contributes most to the Linux kernel?

The latest Redhat magazine has an interesting aside on who contributes most to the Linux kernel. According to Greg Kroah-Hartman's (*) analysis, and as measured in raw number of patches the general community comes in first, with Redhat coming in second. Canonical, the commercial sponsor of the now popular Ubuntu (a spiffy modification of Debian) comes in 79th.

The overall largest contributions to Linux code come from individuals who have no apparent affiliation with any company, as Kroah-Hartman surmised by looking at their e-mail addresses. Red Hat came in second overall, with 11,846 patches.

By comparison, Canonical, the company behind Ubuntu Linux, is the 79th most active contributor, with 100 patches. Kroah-Hartman said that such behavior on the part of Canonical will be detrimental to the company and the Ubuntu distribution over time [emphasis mine].

“Then there are the distros that base themselves off of other distros, like Ubuntu and [Lance Davis’] CentOS. These distros have yet another layer between them and the original developers. Patches rarely, if ever, flow backwards into an upstream distro, and the developers are very unlikely to push their changes into the upstream packages as they don’t feel the need or don’t realize the issues involved as they rely on the upstream distro so tightly,” said Kroah-Hartman.

This is interesting, and not just as food for a meaningless distro-war. While I personally prefer Fedora to Ubuntu or Gentoo, I can recognize that as a distribution Ubuntu is pretty slick and well structured, and has done a lot to combat the myth that Linux is unfriendly and difficult. Ubuntu has been the most popular distribution according to distrowatch for several years. But somehow the heavy work on Ubuntu has not not flowed back into the kernel, at least as measured in patches. Why?

If forced to speculate without any evidence to support it I'd guess that much of the work on Ubuntu has been in terms of user-interface and applications, and not at the deeper level of the Linux kernel. Yet Redhat clearly feels the need to work very heavily at the kernel level. So this guess doesn't satisfactorily answer the question.

If anyone has a better hypothesis or insight, please let me know.

(*) Greg Kroah-Hartman works for Novell's SUSE labs division.

No comments: