More Than a Gigabuck: Estimating GNU/Linux's Size (2001)
Beyond the Billion-Dollar Mark: Analyzing the Scale of GNU/Linux (2001)
Author: David A. Wheeler (dwheeler@dwheeler.com)
Date: June 20, 2001 | Version: 1.0
Executive Summary
This research examines the volume of source code within the GNU/Linux ecosystem, utilizing Red Hat Linux 7.1 as the primary benchmark. The findings suggest a staggering economic reality: if this distribution were developed using traditional, proprietary American corporate methods, the cost would exceed $1 billion (a "Gigabuck").
Comparative Growth: RH 6.2 vs. RH 7.1
The expansion of the OS over a single year is significant. We can see the shift in scale here:
| Metric | Red Hat Linux 6.2 | Red Hat Linux 7.1 | Change |
|---|---|---|---|
| Development Cost | \approx \600 \text{ million}$ | >\1,000 \text{ million}$ | |
| Physical SLOC | |||
| Effort (Person-Years) |
The overall growth in size, effort, and theoretical cost is calculated as:
This surge is attributed to the increasing availability and maturity of free and open-source software globally.
Technical Breakdown
Primary Components
The distribution is composed of several massive projects. The largest contributors, ranked by size, include:
- Linux Kernel (including all device drivers)
- Mozilla (The suite containing the browser, email client, and HTML editor)
- X-Windows (The GUI infrastructure)
gcc(The compiler)gdb(The debugger)- Basic binary utilities
- Emacs (The extensible editor)
- LAPACK (Fortran linear algebra library)
- Gimp (Image manipulation)
- MySQL (Relational database)
Language Distribution
The linguistic makeup of the code has shifted. While C remains dominant, C++ has seen a notable increase.
Full Language List (Sorted by SLOC):
- C (
81%71%) - C++ (
8%15%) - Shell (incl.
ksh) - Lisp, Assembly, Perl, Fortran, Python, Tcl, Java,
yacc/bison,expect,lex/flex,awk, Objective-C, Ada, C shell, Pascal, andsed.
Licensing and Legal Framework
The distribution is heavily rooted in copyleft philosophy.
- GPL Only: Slightly over 50% of the software.
- Copyleft (GPL or LGPL): 63% of the total code.
Definition: "Open source" or "free software" refers to programs where the source code is accessible, allowing users to view, modify, and redistribute the work without paying royalties or facing restrictive limitations.
Context and Market Analysis
The Rise of Linux
GNU/Linux has evolved from an obscure project into a dominant market force.
- Server Dominance: One study [Zoebelein 1999] indicated Linux is the most used OS for Internet servers.
- Market Share: IDC [Shankland 2000a] reported that in 1999, 25% of server OS purchases were Linux, trailing only Windows NT (38%).
Reliability Benchmarks
The popularity of Linux isn't just about the price tag; it's about stability.
- Component Failure: A 1995 study [Miller 1995] showed GNU/Linux components had a failure rate of only 6% to 9%, compared to 23% for proprietary Unix systems.
- Uptime: A 1999 ZDnet experiment [Vaughan-Nichols 1999] found that under typical intranet loads, Windows NT crashed every six weeks, while Linux systems never crashed.
Methodology and Goals
The author's objective for this paper was to provide a quantitative analysis of the OS size, as very little published data exists outside of the "Halloween Documents" produced by Microsoft.
Project Goals:
- Measure SLOC for Red Hat Linux 7.1.
- Compare results against Red Hat Linux 6.2.
- Estimate proprietary development costs using the COCOMO model.
- Analyze language and license distribution.
To calculate the effort, the COCOMO model was applied:
// Conceptual COCOMO Effort Calculation
double effort = a * pow(kloc, b);
// where kloc = thousands of lines of code
For further details, visit http://www.dwheeler.com/sloc.