|
|
Subscribe / Log in / New account

Some 3.18 development statistics

By Jonathan Corbet
November 25, 2014
As of the 3.18-rc6 release, 11,186 non-merge changesets have been pulled into the mainline repository for the 3.18 development cycle. That makes this release about 1,000 changesets smaller than its immediate predecessors, but still not a slow development cycle by any means. Since this cycle is getting close to its end, it's a good time to look at where the code that came into the mainline during this cycle came from. (For those who are curious about what changes were merged, see 3.18 Merge window, part 1, part 2, and part 3).

1,428 developers have contributed code to the 3.18 release — about normal for the last year or so. The most active developers were:

Most active 3.18 developers
By changesets
H Hartley Sweeten2372.1%
Mauro Carvalho Chehab1791.6%
Ian Abbott1621.4%
Geert Uytterhoeven1211.1%
Hans Verkuil1000.9%
Ville Syrjälä980.9%
Navin Patidar980.9%
Sujith Manoharan830.7%
Johan Hedberg820.7%
Eric Dumazet770.7%
Lars-Peter Clausen750.7%
Antti Palosaari720.6%
Fabian Frederick710.6%
Daniel Vetter700.6%
Florian Fainelli700.6%
Felipe Balbi700.6%
Benjamin Romer680.6%
Laurent Pinchart640.6%
Andy Shevchenko620.6%
Malcolm Priestley610.5%
By changed lines
Larry Finger7483110.2%
Greg Kroah-Hartman7329810.0%
Hans Verkuil222663.0%
Alexander Duyck166172.3%
Greg Ungerer119811.6%
Linus Walleij106281.5%
John L. Hammond102691.4%
Navin Patidar81481.1%
Philipp Zabel71491.0%
Martin Peres68900.9%
Mark Einon67710.9%
Mauro Carvalho Chehab65200.9%
Ian Munsie57730.8%
H Hartley Sweeten51340.7%
Alexei Starovoitov45050.6%
Yan, Zheng44850.6%
Antti Palosaari41810.6%
Roy Spliet37850.5%
Christoph Hellwig37650.5%
Juergen Gross37450.5%

As is usually the case, H. Hartley Sweeten tops the by-changesets list with the epic task of getting the Comedi drivers into shape in the staging tree. Mauro Carvalho Chehab, the Video4Linux2 maintainer, did a lot of cleanup work in that tree as well during this cycle, while Ian Abbott's changes were, once again, applied to the Comedi drivers. Geert Uytterhoeven did a lot of work in the ARM and driver trees, while Hans Verkuil also made a lot of improvements to the core Video4Linux2 subsystem.

On the "lines changed" side, Larry Finger removed the r8192ee driver from the staging tree, while Greg Kroah-Hartman removed two other drivers from staging. Alexander Duyck added the "fm10k" driver for Intel FM10000 Ethernet switch host interfaces, and Greg Ungerer removed a bunch of old m68k code.

Some 200 companies (that we were able to identify) supported development on the code merged for 3.18. The most active of those were:

Most active 3.18 employers
By changesets
(None)124411.0%
Intel123810.9%
Red Hat8637.6%
(Unknown)8287.3%
Samsung5234.6%
Linaro3703.3%
IBM3403.0%
SUSE3262.9%
Google3242.9%
(Consultant)3212.8%
Freescale2382.1%
FOSS Outreach Program for Women2382.1%
Vision Engraving Systems2372.1%
Texas Instruments1991.8%
Renesas Electronics1791.6%
MEV Limited1621.4%
Free Electrons1551.4%
Qualcomm1411.2%
Oracle1351.2%
ARM1141.0%
By lines changed
(None)18524725.3%
Linux Foundation7335410.0%
Intel7316810.0%
(Unknown)284603.9%
Cisco279393.8%
Red Hat273353.7%
Linaro235863.2%
Samsung192282.6%
IBM181942.5%
SUSE167362.3%
Google141101.9%
(Consultant)124551.7%
Accelerated Concepts119861.6%
Texas Instruments113051.5%
C-DAC84001.1%
Pengutronix82321.1%
Freescale72651.0%
(Academia)70761.0%
Qualcomm53980.7%
Code Aurora Forum53770.7%

(Note that the above table has been updated; the curious can see the original version published on this page here).

As is often the case, there are few surprises here. The level of contributions from developers working on their own time remains steady at about 11%, a level it has maintained since the 3.13 kernel. So it might be safe to say that, for now, the decline in volunteer contributions appears to have leveled out.

How important are volunteer contributions to the Linux kernel? Many kernel developers started that way, so it is natural to think that a decline in volunteers will lead, eventually, to a shortage of kernel developers overall. As it happens, the period starting with the 3.13 release (roughly calendar year 2014) saw first-time contributions from 1,521 developers. Looking at who those developers worked for yields these results:

EmployerDevelopers
(Unknown)651
(None)137
Intel115
Google37
Samsung35
Huawei33
IBM32
Red Hat25
Freescale21
Linaro17

All told, 733 first-time developers were identifiably working for some company or other when their first patch was accepted into the mainline. A large portion of the unknowns above are probably volunteers, so one can guess that a roughly equal number of first-time developers were working on their own time. So roughly half of our new developers in the last year were volunteers.

The picture changes a little, though, when one narrows things down to first-time developers who contributed to more than one release. When one looks at developers who contributed to three out of the last five releases, the picture is:

EmployerDevelopers
(Unknown)48
Intel24
(None)21
Huawei10
IBM7
Samsung6
Outreach Program for Women6
ARM4
Linaro4
Red Hat3
Broadcom3

Overall, 126 new developers contributing to at least three releases in the last year worked for companies at the time of their first contribution — rather more than the number of volunteers. So it seems fair to say that a lot of our new developers are getting their start within an employment situation, rather than contributing as volunteers then being hired.

Where are these new developers working in the kernel? If one looks at all new developers, the staging tree comes out on top; 301 developers started there, compared to 122 in drivers/net, the second-most popular starting place. But the most popular place for a three-version developer to make their first contribution is in drivers/net; 25 new developers contributed there, while 20 contributed within the staging tree. So, while staging is arguably helping to bring in new developers, a lot of the developers who start there appear to not stay in the kernel community.

Overall, the pattern looks reasonably healthy. There are multiple paths for developers looking to join our community, and it is possible for new developers to work almost anywhere in the kernel tree. That would help to explain how the kernel development community continues to grow over time. For now, there doesn't appear to be any reason to believe that we will not continue to crank out kernel releases at a high rate indefinitely.

Index entries for this article
KernelReleases/3.18


to post comments

Some 3.18 development statistics

Posted Nov 25, 2014 17:08 UTC (Tue) by wsa (guest, #52415) [Link]

"For now, there doesn't appear to be any reason to believe that we will not continue to crank out kernel releases at a high rate indefinitely."

Sure, there is. We do not only need code contributors, but also reviewers. The gap is already huge, and as things look it will get even bigger in the future. I know that the problem is discussed here and there and solutions are not known. Still, for starters, I think we shouldn't say that all is perfectly fine at least...

Some 3.18 development statistics

Posted Nov 25, 2014 21:20 UTC (Tue) by Kayden (guest, #89093) [Link] (6 responses)

Out of curiosity, what scripts do you use to produce these statistics? Is it https://github.com/gregkh/kernel-history/ ?

I've hacked up a few of my own to produce commit and review statistics for Mesa and Piglit, but I don't yet have any infrastructure for dealing with changes in employment, and the code needs a total overhaul if I'm going to add any more features.

Some 3.18 development statistics

Posted Nov 25, 2014 21:21 UTC (Tue) by corbet (editor, #1) [Link] (4 responses)

It's done with gitdm, same thing Greg uses. git://git.lwn.net/gitdm.git

Some 3.18 development statistics

Posted Nov 25, 2014 21:24 UTC (Tue) by Kayden (guest, #89093) [Link]

Awesome, thanks!

Some 3.18 development statistics

Posted Nov 26, 2014 3:45 UTC (Wed) by Magni (guest, #1152) [Link] (2 responses)

So totally off topic but how do we change $company associated with $email_address?

Some 3.18 development statistics

Posted Nov 26, 2014 4:47 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

My kernel patches prompted an email from Greg K-H about my employment once a release was getting close. You could try emailing him about it.

Some 3.18 development statistics

Posted Nov 26, 2014 15:29 UTC (Wed) by corbet (editor, #1) [Link]

Send a note to me or to Greg.

Some 3.18 development statistics

Posted Nov 25, 2014 22:32 UTC (Tue) by josh (subscriber, #17465) [Link]

If you do end up producing statistics for Mesa, please consider posting those for inclusion in LWN.

Some 3.18 development statistics

Posted Nov 25, 2014 23:35 UTC (Tue) by Trelane (subscriber, #56877) [Link]

> So it might be safe to say that, for now, the decline in volunteer contributions appears to have leveled out.

Was the fraction decreasing it the absolute number? The previous sentence discusses fraction, but this, that allegedly builds off of it, is absolute.

Some 3.18 development statistics

Posted Nov 26, 2014 7:28 UTC (Wed) by jezuch (subscriber, #52988) [Link] (5 responses)

> As is usually the case, H. Hartley Sweeten tops the by-changesets list with the epic task of getting the Comedi drivers into shape in the staging tree.

That must be some ungodly mess. How long has he been at it?

Some 3.18 development statistics

Posted Nov 26, 2014 8:45 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (3 responses)

Looks like it's been close to 4 years by now. I wonder, where can one get a Comedi device for cheap?..

Some 3.18 development statistics

Posted Nov 26, 2014 19:52 UTC (Wed) by nix (subscriber, #2304) [Link] (2 responses)

It seems like it would have been easier to write a new driver. Heck, it seems like it would have been easier to write a new *kernel*.

Some 3.18 development statistics

Posted Nov 26, 2014 20:52 UTC (Wed) by neilbrown (subscriber, #359) [Link] (1 responses)

A Comedi of errors, perhaps?

Some 3.18 development statistics

Posted Nov 27, 2014 17:36 UTC (Thu) by nix (subscriber, #2304) [Link]

My thoughts exactly -- at least in its original state.

Perhaps it's taking so long because it supports about sixty million different pieces of hardware: <http://www.comedi.org/hardware.html>. i.e. this is not "a driver", it's *lots* of drivers, and they were all horrible.

Some 3.18 development statistics

Posted Nov 30, 2014 20:18 UTC (Sun) by robbe (guest, #16131) [Link]

I am similarily intrigued. Maybe LWN would be interested to run a feature about Mr. Sweeten and the Comedi drivers?

Some 3.18 development statistics

Posted Nov 29, 2014 19:42 UTC (Sat) by dberkholz (guest, #23346) [Link] (3 responses)

Isn't McAfee part of Intel?

Some 3.18 development statistics

Posted Dec 3, 2014 5:40 UTC (Wed) by aryonoco (guest, #55563) [Link] (2 responses)

It is.

Do we count subsidiaries as a different company or as part of their parent? I think the line is very arbitrary.

Some 3.18 development statistics

Posted Dec 4, 2014 1:46 UTC (Thu) by josh (subscriber, #17465) [Link] (1 responses)

I think we should draw the line wherever the entity in question wants it drawn. Subsidiaries that want to be counted as a completely separate entity (and that make it easy to do so, such as by using a separate @othercompany.example.com) can get counted separately; subsidiaries that consider their contributions part of the parent company should get counted as such.

So, in this case: do the McAfee folks *want* to be counted as part of Intel or as a separate entity?

McAfee vs. Intel

Posted Dec 6, 2014 21:22 UTC (Sat) by robbe (guest, #16131) [Link]

According to mcafee.com the company line is (still) to identify as a seperate entity. (But the "Intel Security" name has been looming on the sidelines for some time.) I have a hard time imagining individual developers that would identify *more* with Intel than their corporate overlords do.

Novell vs SUSE

Posted Dec 9, 2014 16:26 UTC (Tue) by fcrozat (subscriber, #175) [Link] (1 responses)

It looks like the first column is using "SUSE" as employer but the second one is still using "Novell" instead of SUSE (this is not the case on https://lwn.net/Articles/624330/ btw)

Novell vs SUSE

Posted Dec 9, 2014 16:28 UTC (Tue) by corbet (editor, #1) [Link]

Oops...that crept in when I fixed up the employer table. Fixed.


Copyright © 2014, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds