The Linux kernel turns 34 years old

On August 25, 1991, after five months of development, 21-year-old student Linus Torvalds announced on the comp.os.minix newsgroup that he had created a working prototype of the new Linux operating system, marking the completion of the bash 1.08 and gcc 1.40 ports. The first public release of the Linux kernel was presented on September 17. Kernel 0.0.1 was 62 KB in compressed form and contained approximately 10 lines of source code. The modern Linux kernel contains approximately 41 million lines of code.

The Linux kernel was inspired by the MINIX operating system, which did not suit Linus with its limited license. Subsequently, when Linux became a well-known project, detractors tried to accuse Linus of directly copying the code of some MINIX subsystems. The attack was repelled by Andrew Tanenbaum, the author of MINIX, who commissioned a student to make a detailed comparison between the Minix code and the first public releases of Linux. The results of the study showed the presence of only four minor matches of code blocks, due to the requirements of POSIX and ANSI C.

Linus originally thought of naming the kernel Freax, from the words "free", "freak" and X (Unix). But the name “Linux” was given to the kernel by Ari Lemmke, who, at the request of Linus, placed the kernel on the university’s FTP server, naming the directory with the archive not “freax”, as Torvalds asked, but “linux”. It is noteworthy that the enterprising businessman William Della Croce (William Della Croce) managed to register the Linux trademark and wanted to collect royalties over time, but later changed his mind and transferred all rights to the trademark to Linus. The official mascot of the Linux kernel, the Tux penguin, was chosen as a result of a competition held in 1996. The name Tux stands for Torvalds UniX.

Growth dynamics of the codebase (number of lines of source code) of the kernel:

  • 0.0.1 - September 1991, 10 thousand lines of code;
  • 1.0.0 - March 1994, 176 thousand lines of code;
  • 1.2.0 - March 1995, 311 thousand lines of code;
  • 2.0.0 - June 1996, 778 thousand lines of code;
  • 2.2.0 - January 1999, 1.8 million lines of code;
  • 2.4.0 - January 2001, 3.4 million lines of code;
  • 2.6.0 - December 2003, 5.9 million lines of code;
  • 2.6.28 - December 2008, 10.2 million lines of code;
  • 2.6.35 - August 2010, 13.4 million lines of code;
  • 3.0 - August 2011, 14.6 million lines of code;
  • 3.5 - July 2012, 15.5 million lines of code;
  • 3.10 - July 2013, 15.8 million lines of code;
  • 3.16 - August 2014, 17.5 million lines of code;
  • 4.1 - June 2015, 19.5 million lines of code;
  • 4.7 - July 2016, 21.7 million lines of code;
  • 4.12 - July 2017, 24.1 million lines of code;
  • 4.18 - August 2018, 25.3 million lines of code;
  • 5.2 - July 2019, 26.55 million lines of code;
  • 5.8 - August 2020, 28.4 million lines of code;
  • 5.13 - June 2021, 29.2 million lines of code;
  • 5.19 - August 2022, 30.5 million lines of code;
  • 6.4 - June 2023, 32.9 million lines of code.
  • 6.10 - July 2024, 35.1 million lines of code.
  • 6.16 - July 2025, 40.8 million lines of code.

Core Development Progress:

  • Linux 0.0.1 - September 1991, first public release supporting i386 CPU only and booting from floppy;
  • Linux 0.12 - January 1992, the code began to be distributed under the GPLv2 license;
  • Linux 0.95 - March 1992, added the ability to run the X Window System, implemented support for virtual memory and a swap partition.
  • Linux 0.96-0.99 - 1992-1993, work began on the networking stack. The Ext2 file system was introduced, support for the ELF file format was added, drivers for sound cards and SCSI controllers were introduced, loading of kernel modules and the /proc file system was implemented.
  • In 1992, the first distributions of SLS and Yggdrasil appeared. In the summer of 1993, the Slackware and Debian projects were founded.
  • Linux 1.0 - March 1994, first officially stable release;
  • Linux 1.2 - March 1995, a significant increase in the number of drivers, support for the Alpha, MIPS and SPARC platforms, expanded network stack capabilities, the appearance of a packet filter, NFS support;
  • Linux 2.0 - June 1996, support for multiprocessor systems;
  • March 1997: LKML, Linux kernel developer mailing list founded;
  • 1998: Launched the first Top500 Linux-based cluster, consisting of 68 nodes with Alpha CPUs;
  • Linux 2.2 - January 1999, increased the efficiency of the memory management system, added IPv6 support, a new firewall has been implemented, a new sound subsystem has been introduced;
  • Linux 2.4 - February 2001, support for 8-processor systems and 64 GB of RAM, Ext3 file system, USB support, ACPI;
  • Linux 2.6 - December 2003, SELinux support, automatic kernel parameter tuning tools, sysfs, redesigned memory management system;
  • In 2005, the Xen hypervisor was introduced, which ushered in the era of virtualization;
  • In September 2008, the first release of the Android platform based on the Linux kernel was formed;
  • In July 2011, after 10 years of development of the 2.6.x branch, the transition to 3.x numbering was made. The number of objects in the Git repository has reached 2 million;
  • In 2015, the release of the Linux 4.0 kernel took place. The number of git objects in the repository has reached 4 million;
  • In April 2018, the milestone of 6 million git objects in the core repository was overcome.
  • In January 2019, the Linux 5.0 kernel branch was formed. The repository has reached the level of 6.5 million git objects.
  • Published in August 2020, the 5.8 kernel was the largest in terms of the number of changes of all the kernels over the entire life of the project.
  • In the 5.13 kernel, a record was set for the number of developers (2150), whose changes were included in the kernel.
  • In August 2022, the Linux 6.0 kernel branch was formed, as there were enough releases in the 5.x branch to change the first number in the version number.
  • Kernel 6.1, released in December 2022, added the ability to use Rust as a second language for developing kernel drivers and modules.
  • In February 2025, the 40 million lines of source code mark was reached.

About 65% of all changes to the kernel were made by the 20 most active companies. For example, during the development of kernel 6.16, of all changes, 11.3% (a year ago in kernel 6.10 it was 15.3%) were prepared by Intel, 7.6% (6.9%) - Red Hat, 6.3% (7.4%) - Google, 5.6% (6.3%) - Linaro, 5.4% (4.6%) - AMD, 3.6% (1.9%) - Qualcomm, 3.0% (2.5%) - SUSE, 2.9% (3.2%) - Meta, 2.6% (3.3%) - Oracle, 2.4% (2.3%) - Huawei, 2.4% (1.5%) - NVIDIA, 2.3% (1.2%) - ARM, 1.4% (2.4%) - IBM. 15.3% (11.9%) of the changes were contributed by independent contributors or developers who did not explicitly state their affiliation with a specific company. Intel, Red Hat, and Google led the way in terms of lines of code added to the 6.16 kernel, with shares of 9.2%, 7.2%, and 6.9%, respectively (in the 6.10 kernel, Intel, Linaro, and Red Hat led the way with shares of 13.6%, 13.3%, and 7.2%).

Source: opennet.ru

Add a comment