This is the first guest post on the OSS Watch team blog. OSS Watch are lucky enough to have Pablo Barrera working with us for a few months. Pablo works at Rey Juan Carlos University (Madrid) and is spending his time with OSS Watch studying open source business models.
Linux Kernel Development by Pablo Barrera
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%).
For more information you can listen to the complete talk and read Gregs blog. An article with some of the most important numbers from the talk can be also found at the Linux Foundation web page.
1 Response to “Linux Kernel Development”