The first kernel, linux-0.01.tar.Z, had 88 files and 10,239 lines of code and ran on one architecture, i3868. Today, the v5.8 release has 69,325 files and 28,442,673 lines of code (which corresponds to 110,354,844 tokens), and runs on more than 30 major architectures.
These, and plenty of other interesting facts about the kernel, have been collected in the study which is titled 2020 Linux Kernel History Report and released last month.
Statistics about kernel development used to be initially released by developer Jonathan Corbet, who runs the Linux Weekly News website. The Linux Foundation then took the work under its wing and today there are at least 12 people working on it.
The study also looks at the three distinct phases of development: the first, when there was no version control system in place, the second when BitKeeper was used, and the third when Git took its place.
The percentage of female developers is still low, at 8.5%, but the study said it had been increasing over time.
As the use of Linux has grown, the number and variety of contributors has done likewise. The study found that from 2007 to 2019, there were 780,048 commits accepted into the Linux kernel from 1730 organisations. The top 20 can be seen in the chart in this article.
In this table, unknown refers to contributions for which a supporting employer’s existence could not be determined. None indicates the patches are from developers known to be working on their own time.
The release model for the kernel now has four categories; Prepatch (or “-rc”) kernels, Mainline, Stable, and Long Term Stable. Each release cycle begins with a two-week “merge window” when new features can be reviewed and then included in the git repository for the next release.
Once it is tagged rc1, then integration testing, debugging, and stabilising get underway. A weekly rc candidate is then tagged until the target quality and stability is reached. The release is made, and the cycle commences again with the next merge window.