The Linux Kernel Has Grown By 225,000 Lines of Code This Year, With Contributions From About 3,300 Developers (phoronix.com)
Here's an analysis of the Linux kernel repository that attempts to find some fresh numbers on the current kernel development trends. He writes: The kernel repository is at 782,487 commits in total from around 19.009 different authors. The repository is made up of 61,725 files and from there around 25,584,633 lines -- keep in mind there is also documentation, Kconfig build files, various helpers/utilities, etc. So far this year there has been 49,647 commits that added 2,229,836 lines of code while dropping 2,004,759 lines of code. Or a net gain of just 225,077 lines. Keep in mind there was the removal of some old CPU architectures and other code removed in kernels this year so while a lot of new functionality was added, thanks to some cleaning, the kernel didn't bloat up as much as one might have otherwise expected. In 2017 there were 80,603 commits with 3,911,061 additions and 1,385,507 deletions. Given just over one quarter to go, on a commit and line count 2018 might come in lower than the two previous years.
Linus Torvalds remains the most frequent committer at just over 3% while the other top contributions to the kernel this year are the usual suspects: David S. Miller, Arnd Bergmann, Colin Ian King, Chris Wilson, and Christoph Hellwig. So far in 2018 there were commits from 3,320 different email addresses. This is actually significantly lower than in previous years.
Linus Torvalds remains the most frequent committer at just over 3% while the other top contributions to the kernel this year are the usual suspects: David S. Miller, Arnd Bergmann, Colin Ian King, Chris Wilson, and Christoph Hellwig. So far in 2018 there were commits from 3,320 different email addresses. This is actually significantly lower than in previous years.
March on, comrade! The radiant socialist future is just over the next hill!
This doesn't seem surprising, given that new architecture comes out all the time. What's great is that this amazing piece of work is still FLOSS, powering my Macbook as I type this comment.
"What lies behind us, and what lies before us are tiny matters compared to what lies within us." Ralph Waldo Emerson
Editor david, I can appreciate what ur trying to do. But stupid is stupid. Cant change that
And who accounts for the 0.9% of an author?
No, he has to come back inside. The Hills lately are filled with squatters, both day and night.
Why do we measure in lines of code? Serious question.
I tend to rant.
An important caveat here is that increase in LOC count does not mean a linear increase in loaded kernel memory usage. For example, for every new driver each line of code is counted, but that driver may or may not compiled in or loaded as a module. If a driver for wireless card X is 1200 lines of code, but your system doesn't have that card and it was compiled as a module, then zero of those added lines of code generated machine code get loaded at runtime .
.config options, and over 30 supported hardware architectures, so your code mileage *will* vary.
There are more than 1000
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Thanks guys!
captcha: thumbing
Monolithic kernel?
Never had the critical mass to win over desktop users (real workstation desktops, not hobbyists). Now it's just a bunch of change for the sake of change, plus a ton of meltdown/spectre bloat.
It's too bad, it could have been a contender had the chips fallen their way and they had make a few critical decisions differently. Now with the systemd malware being stuffed down everyone's throat, it's assuredly game over.
At least the other guy had sex with a human.
And not with some jewelry with some really low-quality hardware inside. (Which will be fixed with the 2019 models. Them containing hardware that is. An iridescent shiny mirror surface will be much simpler, and the difference won't be noticed by the users.)
Source: Louis Rossmann videos on YT. ;)
If/When you look at the linux embedded scene, you'll notice that there is way too much duplication of functionality going on.
Then you have to look at the linux embedded kernel forks which haven't been integrated into the mainstream kernel, and you find even more duplication going on.
It is horrible, and it is getting worse every day.
Also, the newly integrated Cryptocoin miner for the x86 SMM EC is a real LOC hog, but that's what you get when you need to hide its functionality.
Is all written in C by men? That's horrible!
Something too bad to be acceptable does not become acceptable by virtue of there not being any "other" choices.
Because if unacceptable choices are OK, all the other ridiculous ones are also acceptable, and your argument does not support preferring this ridiculous one.
And if unacceptable choices are unacceptable, as you suggest, this one is still unacceptable.
You could as well count the cups of coffe consumed. It would be just as useful.
Unless you have a proper metric for difficulty, to multiplicate with time, you simply do not have a metric for amount of work done. Deal with it.
What's the rate of bug occurrence per 10k LoC in the Linux kernel? I'm less concerned about additional kernel bloat than I am about additional kernel bugs.
Sure sounds like "Bloatware" but that only happens to closed-source commercial software, amiright?
really,
after 3hundred billion trillion quintillinon lines of code
she whom shall remain prone in any and all CODE COMMIT situations.
Lets go running to Linus for his comment on the atrocity of the situation, and please get her some knee pads.
This is the key issue.
The kernel is bloat. Most of the new code should be outside and indenpent of of the kernel. Look at ZFS it is outside of the kernel and proves that NO file system code is needed in the kernel except for boot file system so the kernel can load first needed modules like a FS so rest will follow.
Break the kernel up and we can get to the point of true replace parts and modules. Even having 2 or more of the âoesameâ FS so you do not have to do Big Bang upgrades.
And it costs a damn site less.
It's fine. We can just wait for SystemD to take it over and then everything can be binary and better and faster.
What really matters here is if we are talking about if this is a lot of code that has a direct effect on the functionality of all kernels or if this is really about code for specific kernel drivers. Last I read, the kernel core was like 2M LOC while kernel drivers made up 31M LOC.
Anons need not reply. Questions end with a question mark.
is Sievers still banned?
They sentenced me to twenty years of boredom
Congratulations ... You win the SFC award!
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
This is just insane.
If those statistics are really true. Over 200,000 NEW lines in one year in an existing, complex system is as unmanageable as 3000 contributers. As products age, the rate of additions goes down as things have to be integrated into a complex system.
Sure, Linux is not actually as monolithic as described. But a bug in any one of those lines could bring down the whole kernel.
It is a credit to skill of the maintainers that they can make this work. And a debit that they try.
Linus Torwalds commits 5 commits per day
I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
As a person who's been doing UNIX since 1984, ATT SVR3.2 was my favorite, although I've used other variants. I'm tired of Linux crap. I'm tired of systemd and the systemd wars. I'm tired of having to learn nuanced differences in various distros just to do basic, common, tasks. I'm tired of package repositories that suck when it comes to good maintenance (although they are still better than rpm hell). I'm tired of half-baked security measures that are badly designed and beyond human understanding. (IMO, admin should be a straight-forward set of tasks where doing one thing doesn't break 10 others.)
I'd rather move to seL4 and have to write drivers for the few things that I use which aren't totally implemented yet. Luckily, I am old enough that I don't have to work for anyone who doesn't agree with me, and I still have skills current enough to make the change for me and my clients.
Linux is going to drown in its own sh*t.
"The mind works quicker than you think!"
Are half of those lines made by women?
No, Linus was an asshole to them.
And how many lines did they removed? :)
25 million lines of code is inexcusable at any level.
... or lack of design is.
The amount of code required to make Linux work is not even a million. Let's assume you can get every feature of interest into a LOT less than that and then depend on modules for everything else.
Consider that the Linux Kernel as it stands today is one massive repository of trash on trash on trash on something less trashy.
Linus mad Linux and he made Git and Git has things like submodules and there are things like GVFS as well in some environments. Why not scale the kernel back to bare minimums and then link modules in separate repositories and make something like a package manager to tie it all together? I mean seriously, there is not now or will there ever be a suitable excuse for such a horrible monstrosity as the Linux kernel.
If Linus is taking a break... maybe it's time to just boot him from the whole thing and get someone in who is more focussed on cleanliness and organization. For example... let the Linux foundation toss the new maintainer $100,000 per million lines of code stripped from the kernel and offloaded into an external project. Rebuild the make config system so that it works based on a series of features and git URLs instead of being one gigantic pile of define nastiness.
I think it's time for a real change to Linux.
BTW... I don't think it's ever possible without a complete rewrite, but it's time to clean up the headers. I mean seriously... have you seen the pile of shit in the linux header directories these days? Github as well as others won't even let you see the directory listing anymore. What about multi-thousand line headers which contain so much crud you can't even read them anymore?
I think Linux is awesome in its scale... but if you've ever written a kernel module, you'd know how severely horrible the current design
The summary seems to indicate that part of those changes are in documentation, which is not code.
225,000 new lines of code =
systemd CRASH! CRASH! CRASH!