17

For a study I am doing I was asked how many actual developers commit on a typical kernel version.

I know there is Linus Torvalds as the main developer, followed by many second main developers. Several of which work in companies. But here comes my doubts:

  1. Does a commit to the kernel from a company mean that many devs from that company worked to make that commit possible or was it just one man (The one that did the commit).

  2. Are there 3rd party groups that help companies or main devs?

  3. What could be the estimate of the total number of people involved in a particular version of the Kernel. Not only the total number of companies but the actual amount of people that contributed one way or another to the kernel.

0

2 Answers 2

20

It could be interesting to clone the git repository of linux and query it immediately.

Cloning the repo

Beware it's a large file! (~1.5G)

Install git and run the following (in a new directory):

git clone http://github.com/torvalds/linux.git

Querying the repo

Once you've cloned it, you can analyze the log of commits with git log. Since the log is so long, you may want to limit your research to a smaller period of time:

git log <since>..<to>

for instance

git log v3.4..v3.5

This has theoretically a lot of info you could use. For example, that command prints the 20 most prolific committers along with their number of commits and their email address.

$ git log v3.4..v3.5 | grep Author | cut -d ":" -f 2 | sort | uniq -c | sort -nr | head -n 20
417  Linus Torvalds <[email protected]>
257  Greg Kroah-Hartman <[email protected]>
196  Mark Brown <[email protected]>
191  Axel Lin <[email protected]>
172  David S. Miller <[email protected]>
138  Daniel Vetter <[email protected]>
132  H Hartley Sweeten <[email protected]>
128  Al Viro <[email protected]>
117  Stephen Warren <[email protected]>
113  Tejun Heo <[email protected]>
111  Paul Mundt <[email protected]>
104  Johannes Berg <[email protected]>
103  Shawn Guo <[email protected]>
101  Arnd Bergmann <[email protected]>
100  Thomas Gleixner <[email protected]>
 96  Eric Dumazet <[email protected]>
 94  Hans Verkuil <[email protected]>
 86  Chris Wilson <[email protected]>
 85  Sam Ravnborg <[email protected]>
 85  Dan Carpenter <[email protected]>

The email address can give you an idea about the employers of the developers (google.com, cisco.com, oracle.com).

4
  • 1
    It's also possible to query the code history without having to clone it locally via the github api, e.g. here's the list of contributors api.github.com/repos/torvalds/linux/contributors (appears to be sorted by number of commits) Apr 26, 2013 at 15:59
  • according to this the command above only lists the current branch and one needs to use git log --all ... for a more comprehensive list Apr 26, 2013 at 16:01
  • 1
    Also note that this will list the contributors to the mainline kernel. There are forks/branches of the kernel that have been distributed that were built with patches from other developers, for example the kernel used in Android.
    – Peter L.
    Sep 12, 2014 at 21:24
  • You probably want to count the number of non merge commits and you'll see that Linus is doing much less work than that. Oct 12, 2015 at 8:49
14

Go to Kernel coverage at LWN.net and do a search for "Releases", and "Contributor statistics". Also do a search for "Who". There are various articles in that index with titles like (most recently) Who wrote 3.5.

While these articles may not directly answer your question, they are as detailed an answer as you are likely to find on the net, without trying to collect information first hand. In particular, they should provide at least a partial answer to 3.

The statistics gathering is done by gitdm (LWN article announcing it: gitdm v0.10 available). Thanks to vonbrand for pointing this out. The repository can currently (January 2015) be obtained with

git clone git://git.lwn.net/gitdm.git

As for 1 and 2, they are not so well defined. In the case of 1, I imagine the answer is almost certainly yes, some of the time. But it is not clear what you are looking for - anecdotal evidence, or some statistics. If statistics, in what form? In the case of 2, by "3rd party groups" it is not clear what you mean, and what kind of help you are referring to. Would people on an IRC channel count as a third party group, for example? Or are you talking about a more formal contractual relationship where money changes hands? Like an outside company retained for temporary consulting? In any case, such information would be hard to get without talking to kernel developers directly, and even then would likely be anecdotal. I suppose forums like the Linux kernel mailing list would be a possibility in that case.

2
  • Thank you. In the 3rd case I am looking for people that also helped somehow in making a commit. For example, a group of people that helped somebody in a company. This person in the company worked with a group which at the end made a commit to the kernel. Aug 24, 2012 at 16:11
  • The statistics gathering is done by gitdm (LWN article announcig it lwn.net/Articles/290957, latest commit is from Arpil 2012)
    – vonbrand
    Jan 16, 2013 at 14:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .