Linux

Where does that kernel code come from?

Who contributes the Linux kernel code? If you've ever wondered about this, you might be surprised by the breakdown of contributors. Here's a summary and a link to a full analysis from the Linux Foundation.

If you've ever wondered about the breakdown of where the Linux kernel code actually comes from, I found a report from Apcmag.com that sums up a recent analysis.

During a recent presentation at a Linux conference in Australia, code contributor and founder of LWN.net, Johnathan Corbet focused on code contributed between December 2008 and January 2010. Of 2.8 million lines of code and 55,000 changes in that time, here are the numbers:

  • 18% code contributed by volunteers with no corporate affiliation
  • 7% unclassified contributors (I'm not sure who this would be?)
  • 75% from paid developers

Of the corporate contributors:

  • Red Hat with 12%,
  • Intel with 8%
  • IBM and Novell with 6% each
  • Oracle 3%

Do any of these numbers surprise you? It pretty much dispels the notion of Linux being the product of a bunch of selfless eggheads working from their basements, if that still persists.

If you'd like to look at a full report from the Linux Foundation, the most current one was published in August 2009. You can download a PDF copy of "Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It" from the Foundation's Web site.

About

Selena has been at TechRepublic since 2002. She is currently a Senior Editor with a background in technical writing, editing, and research. She edits Data Center, Linux and Open Source, Apple in the Enterprise, The Enterprise Cloud, Web Designer, and...

29 comments
Jaqui
Jaqui

I've known for a long time that there are paid developers on many open source projects. The important point on that is that corporations see investing in this "free" software is not a waste of money. My question is slightly different though, how muc of that "contributed code" is actually a blob and not source code? There are some distributions of GNU/Linux that rip out the thinly disguised as assembly blobs from the kernel code base to truly be 100% free software / open source software. the only one I can remember right now is Gnewsense http://www.gnewsense.org/

zspliff
zspliff

Welling to bet that the 7% "unclassified" are from MS or Apple

firegryphon
firegryphon

Okay so here is the question about those paid developers. How much of the code they contribute is paid for by those companies and how much is done on their own time at home for projects that they feel are important?

jcarvalho
jcarvalho

Lawyers and Law Firms are supposed to do Pro Bono work. It's good to see other professions and entities doing it too.

seanferd
seanferd

only total 35%. I thought that number would be higher among those corporations.

Hiveon
Hiveon

Where does the money come from to pay the contributors?

icarolearningtofly
icarolearningtofly

Test, translations and so?.... Linux kernel can not work without community help. who cares i thing too.... I was hopping more of this article. Saludos desde Chile.

dtfan6degs
dtfan6degs

In the end it is still free (free-to-use code) and free (zero cost). 0+0=0. Windows, errr, well a little more than zero cost, and the code isn't free to use.

BrewmanNH
BrewmanNH

Microsoft is listed in the article, they contribute about 8%. Therefor, they're not the 7% that is unknown.

CharlieSpencer
CharlieSpencer

Maybe they're doing it on company time. Maybe it's their full-time job.

NickNielsen
NickNielsen

This from the intro: [i]A number of changes have been noted since this paper was first published in 2008: * We have seen a roughly 10% increase in the number of developers contributing to each kernel release cycle. * The rate of change has increased signifcantly; the number of lines of code added to the kernel each day has nearly tripled. * The kernel code base has grown by over 2.7 million lines[/i] Some more interesting statistics: - Since 2.6.12, Linus Torvalds is not in the top 30 contributors of original code to the kernel - Since 2.6.24, the top 30 companies contributed almost 60% of the changes to the kernel. - The kernel has increased from 6,624,076 lines of code in 2.6.11 to 11,560,971 in 2.6.30, an increase of 175%. There are lots of other interesting numbers in the paper. Check it out. http://www.linuxfoundation.org/publications/whowriteslinux.pdf (17 pages) etu

Neon Samurai
Neon Samurai

Some volunteer there time and code based on the "not affiliated" percentage. The motivation may be peer recognition, a personal need from the kernel, general interest in developing the kernel, general educational returns, resume experience between programming jobs; whatever reason an individual to decide they want to spend that time on that activity. Education was actually the original kernel developers interest when learning from the Minix kernel and starting the Linux kernel. Some are paid by there employer to contribute (percentages from named companies). Motivations may include writing special needs code for a given embedded project, improving the kernel as the core of one's own retail distribution (red hat), good-will or general belief in FOSS development (google leaves the developers free one day or half day a week for there own personal projects I think)... Non-profits involved generate there financial backing however they are setup for it. I'm not sure how the FSF is funded but they probably have a kernel developer or two contributing. Even in the volunteer segment, there are a lot of professional developers submitting quality code. They are paid to work on programs during the day but choose to work on Linux or some other FOSS code for recreation in the evenings. The popular image of highschool kids scraping bad code together in there basements is pretty far from the reality of kernel development.

CharlieSpencer
CharlieSpencer

If 75% of the development is being done by paid programmers, Linux CAN work without community help.

john.a.wills
john.a.wills

I have worked on several mainframes, and HP-UX, on which I have been working for the last 7 years or so, is by far the worst programming environment. And yet there is all this fuss about yet another Unix. Even if it's the best implementation of Unix, it's still a pretty rotten system, at least from the programmer's point of view.

thoiness
thoiness

Whargarbl indeed... Are you suggesting everything in the world should be free? Nice business model you have going there... You must be VERY successful ;)

tbrown
tbrown

To pick on Windows, but I don't see Snow Leopard going opensource any time soon.

CharlieSpencer
CharlieSpencer

Why did you feel compelled to make a comparison to Windows?

ihanakaze
ihanakaze

In my point of view the paid developers are PART of the community and must not be mutually exclusive, there is a paid-developers and free developers working as a community.

dimonic
dimonic

I have spent the last 2 years programming Windows after 7 years programming under various Unixes - so I can say that Windows is a pretty rotten system. Perhaps it is just familiarity? Perhaps you need some formal Unix training, and then you will be able to adjust your mindset from its mainframe ways.

ihanakaze
ihanakaze

Yes, Its called comunism indeed. And China seems to be sucessful to me.

esarhaddon
esarhaddon

It may not be open source, but it is Linux based. Get over the battle! S. Jobs stole it first and then Gates from him. Get over it and get a life. There is a place for all 3 and Apple is just a Linux based PC now anyway. If I wanted Linux I would go with Apple.

Neon Samurai
Neon Samurai

I'd suggest that the community involvement depends on who's allowed to be involved and to what degree. The kernel accepts code submissions from anyone though the code may not be accepted into the tree or may be rewritten during acceptance. The point is that one doesn't have to be part of the 50 assigned developers in a closed off department to contribute. As a result, Microsoft is part of the community effort on open license projects they submit code too (7~8% of kernel development in 2009). Microsoft's open license programs are also community developed. One can go to codeplex and start submitting code into projects listed there. A community including users and third party developers can get involved in those projects. Windows, Office and similar completely closed products are not community developed. If you submit code based on discovered bugs and such, your more likely to see court order to discuss DMCA topics or a lawyer's love note. It's not such a matter of who is paid versus who is not for submitted code. It's a matter of who is allowed to become involved and to what degree. Actually, community involvement could be anything from code submission through bug reports and documentation. Simple discussion and help for newer users would be community involvement. I guess the more accurate description would be that Microsoft has a user community around some of it's products (thriving discussion forums and peer help) though those core products are not community developed. A community has developed to the extent that it is allowed by MS around the external activities but can not extend to the MS internal activities as it could with an open license project.

CharlieSpencer
CharlieSpencer

Linux can work without unpaid community help. Also, if paid developers count as part of a community, then is Microsft 'community supported'? What about every other application that has a paid staff?

john.a.wills
john.a.wills

and I got an 'A'. And I have worked on non-mainframe systems in the past, notably IBM 1130 and PDP-8, so I am not stuck on mainframes, although they are much more comfortable than minis. And when I say mainframe, I do not necessarily mean IBM: I have also worked on UniSys 2200, TR440, CDC Cyber, HP MPE and ICL 1900. There is great variety, and I would expect anything touted as a replacement to be significantly better, whereas UNIX is worse. I do not think I am stuck in any particular mainframe's mindset.

CharlieSpencer
CharlieSpencer

I'll take a crack at your question, although I'm having some trouble understanding where you're coming from. john.a.wills was pointing out that China, despite what it may call itself, is not a 'Communist' country. It does not follow a communist economic model.

esarhaddon
esarhaddon

Where do these guys come from. Is he suggesting we should kill 70 million people to make our country better. To be willing to sacrifice 1/2 our population to make it great. What wanna-bees. They never include the murderous slave masters in their commie promotions.

john.a.wills
john.a.wills

China is not communist in the sense thoiness meant.

Oreamnos_americanus
Oreamnos_americanus

FreeBSD not Linux was the basis of OSX. Not all Linux programs will run on BSD, some need to use the Linux compatibility layer.

Editor's Picks