Linux in 2020: 27.8 million lines of code in the kernel, 1.3 million in systemd
Systemd? It's the proper technical solution, says kernel maintainer
Tim Anderson Mon 6 Jan 2020 // 12:30 UTC
The Linux kernel has around 27.8 million lines of code in its Git repository, up from 26.1 million a year ago, while systemd now has nearly 1.3 million lines of code, according to GitHub stats analysed by Michael Larabel at Phoronix.
There were nearly 75,000 code commits to the kernel during 2019 which is actually slightly down on 2018 (80,000 commits), and the lowest number since 2013. The top contributors by email domain were Intel and Red Hat (Google's general gmail.com aside) and the top contributing individuals were Linus Torvalds, with 3.19 per cent of the commits, followed by David Miller (Red Hat) and Chris Wilson (Intel). There were 4,189 different contributors overall.
Another point of interest is that systemd, a replacement for init that is the first process to run when Linux starts, is now approaching 1.3 million lines of code thanks to nearly 43,000 commits in 2019. Top contributor was not systemd founder Lennart Poettering (who was second), but Yu Watanabe with 26.94 per cent of the commits.
The D in Systemd is for Directories: Poettering says his creation will phone /home in future
Systemd is used by many of the most popular Linux distributions, but not all. It is evolving rapidly and there are now plans to extend it to manage home folders with a new systemd-homed daemon.
Despite its wide adoption, systemd is controversial – with its large size and increasing scope among the contentious aspects. Kernel developer Greg Kroah-Hartman, who is also a major contributor to systemd, defended the approach when we broached the subject at an event late last year.
"Everybody who has ever worked at that level in the operating system has agreed that systemd is the proper solution. It solves a problem that people have. Distros have adopted it because it solves a problem for them. If you don't want to use it, you don't have to use it. There's other init replacements out there. Android doesn't use it because they use other things," he said.
Larabel has published statistics on coding activity for the Linux kernel here and for systemd here.®