Superlinear Productivity In Open Source Projects
Written by Mike James   
Wednesday, 18 June 2014

You know the old joke. If it takes one programmer one day to produce some code how long does it take two programmers to produce the same code? The answer is usually two days but depending on how cynical you are it could be two weeks or two months. Now we have evidence that in reality it is better than you might think.

New research How Much is the Whole Really More than the Sum of its Parts? 1 + 1 = 2.5: Superlinear Productivity in Collective Group Actions (Didier Sornette, Thomas Maillart and Giacomo Ghezzi) suggests that open source group projects may work better than you might imagine. If the results were proportional to the effort put in you would expect a doubling of output for a doubling of the number of people working on it. What has been found is that typically the scaling factor is more like 2.5,

The research used 164 open source projects ranging in size from 5 to 1678 programmers. Rather than using lines of code produced as a measure of work, the number of commits in a period of time was selected as being a better measure of productivity. A quick check proved that they were correlated and hence probably a measure of the same sort of thing.

After gathering the data it was found that

R ≈ c4/3

where R is the number of commits in a 5-day period and c is the number of active contributors in the same period.

If commits scaled as you might expect then the exponent would be one and the productivity would scale linearly with effort. With the measured exponent the productivity scales super-linearly and if you double the effort you get as the amount of output:

24/3 = 2.5  

Examining the relationship between project size and exponent, the data reveals that smaller groups have larger exponents but more variability and larger groups have smaller exponents but less variability.

superlinear

The relationship between productivity and number of people for the Apache Web Server project.

 

The next question is why does this happen?

The research looked into the possibility that it might be either the way that one commit triggered another, i.e. activity breeds activity, or it could be that projects occasionally get a super programmer involved who work harder than the average or it could be both. However when testing these mechanisms it seems we need something more complicated. The suggestion is that to fit the model it is necessary to take into account developers responding to their own commits and other developers responding. 

So now you know it happens even if we don't quite know why; two programmers can do more than twice the work of one programmer. More seriously it seems that the open source collaborative model is a good one for getting teams of people to be productive. 

Finally, if it takes one program a day to write a function how many days does it take two programmers to write the same function?

It doesn't, the function is already written and they can use copy and paste - this is the real beauty of software. 

More Information

arXiv:1405.4298

Related Articles

Open Source Better Than Proprietary Code

UK Government Backs Alan Turing Institute For Big Data 

Open Source Has As Good Code Quality As Proprietary Code

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Flox Releases Flox Hub
13/03/2024

Flox has announced that its Command Line Interface (CLI) and FloxHub are now generally available. The CLI is open source and FloxHub is free for anyone to use.



WasmCon 2023 Sessions Now Online
01/03/2024

The recorded session of the premier conference for technical developers and users interested in exploring the potential of WebAssembly are now online.


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 18 June 2014 )