Some 3.8 development statistics
But, before getting to that, here's the usual numbers. As of this writing, some 1,253 developers have contributed code to the 3.8 kernel. The most active of those were:
Most active 3.8 developers
By changesets H Hartley Sweeten 426 3.5% Bill Pemberton 381 3.1% Philipp Reisner 238 1.9% Andreas Gruenbacher 210 1.7% Lars Ellenberg 146 1.2% Mark Brown 143 1.2% Sachin Kamat 135 1.1% Al Viro 127 1.0% Tomi Valkeinen 115 0.9% Wei Yongjun 114 0.9% Axel Lin 112 0.9% Johannes Berg 104 0.8% Kevin McKinney 103 0.8% YAMANE Toshiaki 101 0.8% Ben Skeggs 100 0.8% Paulo Zanoni 100 0.8% Ian Abbott 98 0.8% Mauro Carvalho Chehab 91 0.7% Andrei Emeltchenko 84 0.7% Daniel Vetter 82 0.7%
By changed lines Greg Kroah-Hartman 42448 5.8% Sreekanth Reddy 30415 4.2% H Hartley Sweeten 22581 3.1% Naresh Kumar Inna 19378 2.7% Larry Finger 16798 2.3% Paul Walmsley 16720 2.3% Jaegeuk Kim 13470 1.9% Rajendra Nayak 10398 1.4% David Howells 9946 1.4% Wei WANG 9775 1.3% Ben Skeggs 9395 1.3% Jussi Kivilinna 8784 1.2% Philipp Reisner 8596 1.2% Eunchul Kim 8533 1.2% Bill Pemberton 8293 1.1% Nobuhiro Iwamatsu 7795 1.1% Peter Hurley 7671 1.1% Laxman Dewangan 6898 0.9% Lars-Peter Clausen 6537 0.9% Lars Ellenberg 6320 0.9%
H. Hartley Sweeten's position at the top of the changeset list should be
unsurprising by now; he continues the seemingly endless task of cleaning up
the Comedi data acquisition drivers. Bill Pemberton has been working to
rid the kernel of the __devinit markings (and variants),
reflecting the fact that we all live in a hotplug world now. Philipp
Reisner, Andreas Gruenbacher, and Lars Ellenberg all contributed long lists
of changes to the DRBD distributed block
driver; the resulting code dump caused block maintainer Jens Axboe to promise Linus that "Following that, it was both made
perfectly clear that there is going to be no more over-the-wall pulls and
how the situation on individual pulls can be improved.
"
On the lines-changed side, Greg Kroah-Hartman worked on the __devinit removal, but also removed over 37,000 lines of code from the staging tree. Sreekanth Reddy made a number of additions to the mpt3sas SCSI driver, Naresh Kumar Inna contributed the Chelsio FCoE offload driver, and Larry Finger added the rtl8723ae wireless driver.
Some 205 employers (that we know about) supported development on the 3.8 kernel. The most active of these were:
Most active 3.8 employers
By changesets (None) 1580 12.8% Red Hat 1112 9.0% Intel 1076 8.7% (Unknown) 917 7.4% LINBIT 595 4.8% Linaro 572 4.6% Texas Instruments 492 4.0% Vision Engraving Systems 426 3.5% Samsung 410 3.3% SUSE 310 2.5% IBM 287 2.3% 254 2.1% Broadcom 190 1.5% (Consultant) 171 1.4% Wolfson Microelectronics 161 1.3% Freescale 129 1.0% Free Electrons 128 1.0% Parallels 123 1.0% NVidia 121 1.0% NetApp 121 1.0%
By lines changed (None) 79954 11.0% Red Hat 60515 8.3% Intel 46326 6.4% Linux Foundation 43190 5.9% (Unknown) 41097 5.7% Samsung 36596 5.0% (Consultant) 33175 4.6% LSI Logic 30415 4.2% Linaro 29030 4.0% Vision Engraving Systems 26074 3.6% LINBIT 22487 3.1% Chelsio 21534 3.0% Texas Instruments 21276 2.9% IBM 14233 2.0% Broadcom 12236 1.7% Renesas Electronics 11570 1.6% NVidia 10369 1.4% Realsil Microelectronics 9797 1.3% Qualcomm 9345 1.3% SUSE 9139 1.3%
Red Hat remains in its traditional position at the top of the list — but not by much. Perhaps more significant is that some companies that have long shown up in the top 20 have fallen off the list this time; those companies include AMD and Oracle. Meanwhile, we continue to see an increasingly strong showing from companies in the mobile and embedded area.
What are they working on?
Many of the companies in the above list have obvious objectives for their work in the kernel; LINBIT, for example, is a business built around DRBD, and Wolfson Microelectronics is in the business of selling a lot of audio hardware. But if companies just focused on driver work, there would be nobody left to do the core kernel work; thus, a look at what parts of the kernel any specific company is working on will say something about how broad its objectives are. To that end, your editor set out to hack on the gitdm tool to focus on one company at a time. So, for example, from the 3.3 kernel onward (essentially, from the beginning of 2012 to the present), Red Hat's changes clustered in these areas:
Red Hat % Subsystem Notes 34% drivers/ 9% gpu, 6% media, 6% net, 3% md 20% fs/ 3% xfs, 3% nfsd, 2% cifs, 2% gfs2, 1% btrfs, 1% ext4 14% include/ 8% net/ 8% tools/ 7% arch/x86/ 7% kernel/ 2% mm/
(Patches touching more than one subsystem are counted in each, so the percentages can add up to over 100%.)
Red Hat puts a lot of effort into making drivers work, but also has a strong interest in the filesystem subtree. The large proportion of patches going into tools/ reflects Red Hat's continued development of the perf tool.
Intel's focus during the same time period is somewhat different:
Intel % Subsystem Notes 66% drivers/ 22% net, 17% gpu, 4% scsi, 3% acpi, 3% usb 17% net/ 7% bluetooth, 5% mac80211, 3% nfc 13% include/ 7% arch/x86 3% fs/
Intel is a hardware company, so the bulk of its effort is focused on making its products work well in the Linux kernel. Improving memory management or general-purpose filesystems is mostly left for others.
Google's presence in the kernel development community has grown considerably in the last few years. In this case, the pattern of development is different yet again:
% Subsystem Notes 27% drivers/ 4% net, 4% pci, 3% staging, 3% input, 3% gpu 22% net/ 11% ipv4, 5% core, 5% ipv6 21% include/ 11% mm/ 10% fs/ 6% ext4, 1% proc 8% kernel/ 6% arch/arm 5% arch/x86 4% Documentation/
Google has an obvious interest in making the Internet work better, and much of its work in the kernel is aimed toward that goal. But the company also wants Android to work better (thus more driver work, ARM architecture work) and better scalability in general, leading to a lot of core kernel work. Much of Google's work is visible to the outside world in one way or another, so it is nice to see that the company has been reasonably diligent about keeping the relevant documentation current.
While we are on the subject of ARM, what about Linaro? This consortium is very much about hardware enablement, so it would not be surprising to see a focus on the ARM architecture subsystem. And, indeed, that's how it looks:
Linaro % Subsystem Notes 47% drivers/ 5% pinctrl, 4% clk, 4% mmc, 4% mfd, 3% gpu, 3% media 36% arch/arm 12% include/ 9% kernel/ 6% sound/ 5% Documentation/ 2% fs/ 1.5% pstore
Almost everything Linaro does is focused on making the hardware work better; even much of the work on the core kernel is dedicated to timekeeping. And while lots of work in Documentation/ is always welcome, in this case, it mostly consists of device tree snippets.
Finally, what about the largest group of all — developers who are working on their own time? Here is where those developers put their energies:
Unaffiliated developers % Subsystem Notes 68% drivers/ 13% staging, 12% net, 10% gpu, 8% media, 6% usb, 2% hid 14% arch/ 5% arm, 2% mips, 2% x86, 2% sparc 8% include/ 6% net/ 2% batman-adv 3% fs/ 2% Documentation/ 2% sound/ 1% kernel/
Volunteer developers, it seems, share a strong interest in making their own hardware work; they are also the source of many of the patches going into the staging tree. That suggests that, in a time when much of the kernel is becoming more complex and less approachable, the staging tree is providing a way for new developers to get into the kernel and learn the ropes in a relatively low-pressure setting. The continued health of the community depends on a steady flow of new developers, so providing an easy path for developers to get into kernel development can only be a good thing.
And, certainly, from the information found here, one should be able to
conclude that the development community remains in good health overall. We
are about to complete our busiest development cycle ever with no real signs
of strain. For the time being, things seem to be functioning quite well.
Index entries for this article | |
---|---|
Kernel | Releases/3.8 |
Posted Feb 14, 2013 4:54 UTC (Thu)
by nevets (subscriber, #11875)
[Link]
Thanks for the break up of what companies are focusing on. That tells a heck of a lot more than just the bragging rights of who has the most commits.
Posted Feb 14, 2013 6:41 UTC (Thu)
by pabs (subscriber, #43278)
[Link]
This is the interesting bit to me. My interpretation is that volunteers are beginning to pick up the slack of merging drivers and other parts of old Android vendor kernels into mainline. No-one else has motivation to do that, vendors have already shipped the devices, Google is focused on their own devices and the next version of Android. It would be great if this volunteer based merging activity could be accelerated. I guess that guides to forward porting drivers and for converting board files to device-tree would be useful.
It would be interesting to see which communities these unaffiliated developers are actually affiliated with. For example are there any CyanogenMod, XDA, Replicant, Maemo, Mer, Tizen, IVI or OpenMoko/OpenPhoenux related devs contributing?
Posted Feb 14, 2013 7:49 UTC (Thu)
by Gollum (guest, #25237)
[Link]
e.g.
treestats --user xxx@yyy --depth 2 --min 1%
or
treestats --affiliation RedHat --depth 2 --min 1%
That would reduce the amount of manual notes required to explain an entry.
Posted Feb 14, 2013 16:08 UTC (Thu)
by nim-nim (subscriber, #34454)
[Link] (3 responses)
Makes you wonder how well would other Linux distros fare should anything change Red Hat-side. I doubt the Googles and IBMs would fight hard to sustain end-user-facing distributions.
Posted Feb 14, 2013 22:20 UTC (Thu)
by khim (subscriber, #9252)
[Link] (1 responses)
Not sure about IBM, but Google most definitely will fight hard to sustain couple of "end-user-facing distributions". Of course these are called Android and ChromeOS and thus may not be what you had in mind, but they are Linux distributions (albeit at this point not a self-hosting ones).
Posted Feb 19, 2013 8:18 UTC (Tue)
by fdrs (subscriber, #85858)
[Link]
Posted Feb 22, 2013 10:56 UTC (Fri)
by njwhite (guest, #51848)
[Link]
Posted Feb 15, 2013 4:11 UTC (Fri)
by jengelh (guest, #33263)
[Link]
Posted Feb 15, 2013 19:26 UTC (Fri)
by brother_rat (subscriber, #1895)
[Link]
The way it's done now I think there's a bias towards driver code simply because there's much more of it to start with, and changes to drivers can (perhaps) be easily split into multiple independent changesets.
Some 3.8 development statistics
Some 3.8 development statistics
Unaffiliated developers
% Subsystem Notes
68% drivers/ 13% staging, 12% net, 10% gpu, 8% media, 6% usb, 2% hid
14% arch/ 5% arm
Some 3.8 development statistics
Some 3.8 development statistics
Some 3.8 development statistics
I doubt the Googles and IBMs would fight hard to sustain end-user-facing distributions.
Some 3.8 development statistics
Some 3.8 development statistics
Some 3.8 development statistics
Some 3.8 development statistics