Thursday, October 23, 2008

How Much a Linux Distribution Costs?

Amanda McPherson, Brian Proffitt, and Ron Hale-Evans from LinuxFoundation has released an interesting article about Estimating the Total Development Cost of a Linux Distribution.

It contains an updated calculations of Software Lines of Code present in a typical Linux distribution. In the paper, the authors uses Fedora 9 as the basis. Guess what? It's estimated that it would require approximately $10.8 billion to build Fedora 9. Additionally, it would take $1.4 billion to develop the Linux kernel alone.

The assumption used on this article for US programmer salary was $75,662.0810 (according to US BLS - Bureau of Labor Statistics). Given the assumption, here's the results:
Total Physical Source Lines of Code (SLOC) 204,500,946
Development Effort Estimate, Person-Years (Person-Months)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
59389.53 (712674.36)
Schedule Estimate, Years (Months)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
24.64 (295.68)
Total Estimated Cost to Develop
(average salary = $75,662.08/year, overhead = 2.40).
$10,784,484,309

And here's the results for the kernel estimation
Total Physical Source Lines of Code (SLOC) 6,772,902
Development Effort Estimate, Person-Years (Person-Months)
(effort model Person-Months = 4.64607 * (KSLOC**1.12))
7557.4 (90688.77)
Schedule Estimate, Years (Months)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
15.95 (191.34)
Estimated Average Number of Developers (Effort/Schedule) 473.96
Total Estimated Cost to Develop
(average salary = $75,662.08/year, overhead = 2.40).
$1,372,340,206

In simple word, Linux has grown up and getting matured. It's getting bigger and bigger and compared to six years ago, a lot of new functionality has been added to Linux distribution.