Study: How much is Linux worth?
In a newly published study, the Linux Foundation has estimated what it would cost to develop a Linux distribution, starting from scratch. Estimating the Total Development Cost of a Linux Distribution takes the current Fedora 9 Linux distribution as the basis of their calculations and estimates the costs of developing the community version of Red Hat Linux as $10.8 billion, with almost $1.4 billion for the kernel alone.
To make their estimate, the authors of the report used David Wheeler's SLOCCount tool. SLOC stands for Source Lines of Code. In 2002 Wheeler used the tool, based on the Constructive Cost Model (COCOMO) algorithm, to make a study of his own to determine the value of Red Hat Linux 7.1.
A Linux distribution consists of a large number of programs and libraries, beyond just the kernel, such as the graphics system, GNU tools, and one or more desktop environments. For the present study, the authors installed all of the 5547 available Fedora source packages from the FTP server, counted the lines of code with SLOCCount, and estimated with the COCOMO method what it would cost to develop the same system in a conventional, proprietary way, costing it on the basis of a system programmer's average salary in the USA.
For Fedora 9, the study found a total of 204,500,946 lines of source code; for the Fedora 9 kernel (linux 2.6.25.i686) had 6,772,902 lines alone. A run through SLOCCount with a current checkout of the main development tree run by Linus Torvalds brings 6,399,191 lines to light; the apparent discrepancy may be due to patches added by Red Hat specifically for the Fedora distribution or a variation in how SLOCCount was run.
With these figures, the Linux Foundation estimate 60,000 person-years of development effort, and from that a total value of the distribution of $10.8 billion. The authors do state thought that there is no truly precise way of ascertaining the value of such a complex system as Linux. It isn't simple, they say, to determine all of the things that make up a Linux distribution. One limitation of the SLOC analysis, they point out, is that it focuses on the net growth of lines of code and takes no account of the typical iterative development cycle in which developers don't just add new code but also delete or change some of it.