I have published this blog post into OSS Watch team blog.
A couple of months ago, Greg Kroah-Hartman gave a talk at Google Tech Talks with the title: “The Linux Kernel, who is developing it, how they are doing it, and why you should care”. Greg is one of the main Linux developers and he is a maintainer for the USB driver core, sysfs, and debugfs subsystems of the kernel. He also works for Novell in the SUSE Labs division.
During the talk Greg provided some interesting highlights about the real process of the kernel development. The kernel’s source code contains about 9.2 million lines. This has been increasing at a rate of approximately 10% each year since version 2.6.0. On an average day during the last year:
- 4,300 lines were added,
- 1,800 lines were removed,
- 1,500 lines were modified.
This is one of the most impressive software projects ever undertaken, as he said, with 2399 unique contributors in the last year and a half. To manage a project of this size, the community of developers has broken almost every rule of software engineering with more changes per hour and per release than anyone would have thought was possible. The result is extraordinary: Linux is able to support more devices and more processors than any other OS in history.
The clear governance structure within the contributing community allowed this to happen. The structure used inside the development team is highly distributed, similar to a communication network. Instead of using a strict hierarchy, with maintainers for particular pieces of code, in the Linux kernel any contributor could modify any part of the code. If something needs to be fixed, anyone can do it. If a particular developer is on holiday it is not necessary to wait for him to return. All the changes can be routed through any other developer, as happens in a communication network when some of the nodes are unavailable. This is quite different to the normal process inside closed companies.
However, one of the most interesting highlights during his talk was about who is working in the kernel. Roughly 75% of the work is done by people who are paid to do so. This refutes the myth that all OSS projects are supported by volunteer contributions, although an important part of the work is done by volunteers that are not directly paid to do so. Half of the contributors have only contributed one patch, whilst 30 people do nearly a third of the work.
The number of companies sponsoring developers is going up. The numbers presented by Greg indicate that Red Hat is the most active company (with 11.6% of the work), followed by IBM (7.5%), Novell (6.6%), and Intel (4.1%).
The complete talk is available online and Greg maintains more information in his blog. An article with some of the most important numbers from the talk can be found at the Linux Foundation web page.