More Milestones in Linux Kernel Development History

The fact that the Linux kernel now has an estimated development value of $1.4 billion is an intriguing development—it certainly represents a significant milestone for the Linux kernel community. After we published the "Estimating the Total Development Cost of a Linux Distribution" whitepaper, out of curiosity I wondered where in the overall development history of the Linux kernel the $1 billion number was actually reached. There was also the desire to trace the history of Linux and monitor its growth. Here's what I came up with.

The actual pattern of that growth is interesting to see. As shown in Figure 1, the growth curve of the Linux source code has essentially been linear in nature, with the noted exception of the development versions of Linux. These are represented by the large drops in SLOC values, which occurred whenever a new development series of the Linux kernel (2.1, 2.3, 2.5...) was started.

Figure 1: The Total Growth of all Linux Kernels

To get a better sense of the linear growth, Figure 2 illustrates the amount of code in just the production versions of Linux, which are the even version numbers in the kernel history (1.0, 1.2, 2.0, etc.).

Figure 2: The Value of SLOC in Production Kernels

The growth rate of the lines of code appears to significantly flatten in this view of the code history, but this is misleading. After the start of the 2.6 kernel development, it was decided that there would no longer be a separate, parallel “development” version of the Linux kernel that would coincide with ongoing “production” kernel development. In other words, if there is a 2.7 kernel someday, it will represent a production line of the Linux kernel, not a development line. This change in development strategy has significantly increased the number of 2.6 kernel releases, which has had the effect of “flattening” the growth curve.

When looking at the estimated value of the Linux kernel, the growth curve is very similar. Figure 3 shows the estimated development cost of the production series of Linux kernels. It should be noted that these values are presented in 2008 dollars, using 2008 salary figures as a guide. They have not been adjusted for currency value or salary averages at the time the kernel was produced.

Figure 3: The Estimated Development Cost of Production Linux Kernels

By analyzing the raw data, I was able to note key milestones in the history of Linux development. Which kernel, for example, was the first to reach $1 billion in estimated development costs? Again, these values are in 2008 dollars.

Development Cost Milestones

Production Kernel Version

Actual Estimated Development Cost (2008 dollars)

$100 million

Linux 2.0.37

$100,482,780

$200 million

Linux 2.2.7

$200,698,556

$400 million

Linux 2.4.2

$406,295,326

$600 million

Linux 2.4.22

$623,138,500

$800 million

Linux 2.6.11

$815,845,735

$1.0 billion

Linux 2.6.19

$1,001,218,110

$1.2 billion

Linux 2.6.26

$1,201,733,129

There are also milestones to note in the physical growth of Linux. In the next table are the kernels that cross the million-line milestones as kernel development progressed over the years.

SLOC Milestones

Production Kernel Version

Actual Source Lines of Code

1 million

Linux 2.2.1

1,167,703

2 million

Linux 2.4.0

2,210,149

3 million

Linux 2.4.20

3,093,338

4 million

Linux 2.6.6

4,008,692

5 million

Linux 2.6.19

5,111,085

6 million

Linux 2.6.26

6,015,867

These results are not meant to be definitive, but they can give a look back at the progress of Linux from differing points of view.

0
Tagged with The Linux Kernel
Copyright © 2008 Linux Foundation. All rights reserved.
LSB is a trademark of the Linux Foundation. Linux is a registered trademark of Linus Torvalds