The scale of the Linux development effort
One study of the Red Hat Linux 7.1 distribution found that this particular
distribution contained 30 million physical source lines of code (SLOC). Using the COCOMO cost model, it could be estimated that this distribution required about 8,000 person-years of development time. Had it been developed by conventional proprietary means, it would have cost over $1.08 billion (1,000 million) to develop in the U.S. (in year 2000 dollars).
The majority of its code (71%) was in C, but many other languages were used including C++, shell scripts, Lisp, assembly language, Perl, Fortran, and Python.
Slightly over half of all its code (counting by line) was licensed under the GPL.
The Linux kernel contained 2.4 million lines of code, or 8% of the total, showing that the vast majority of a Linux operating system is not contained in the Linux kernel.
"GNU/Linux"
GNU/Linux is the term promoted by the GNU project and its supporters, in particular by its founder and main activist Stallman, to refer to the Linux operating system. Their basic argument is that GNU was an ongoing project to develop a free operating system that pre-dated the Linux kernel by eight years, and Torvalds' kernel was only the final missing piece completing that project. Besides failing to credit the GNU project, some additionally argue that naming the whole system after the kernel alone encourages substantial technical confusion among the public. Nevertheless, the historical sequence of events and other factors have resulted in most people continuing to call the whole system Linux.
A popular misconception is that GNU argues for GNU/Linux purely on the basis of the large number of GNU tools used in Linux; rather, Stallman writes (in Linux and the GNU Project):
- So if you were going to pick a name for the system based on who wrote the programs in the system, the most appropriate single choice would be GNU. But we don't think that is the right way to consider the question. The GNU Project was not, is not, a project to develop specific software packages. [...] Many people have made major contributions to the free software in the system, and they all deserve credit. But the reason it is an integrated system—and not just a collection of useful programs—is because the GNU Project set out to make it one. We made a list of the programs needed to make a complete free system, and we systematically found, wrote, or found people to write everything on the list.
The name "GNU/Linux" was first used by Debian in 1994 as the name of their OS distribution based on the Linux kernel and GNU programs.
(In 1992, The Yggrasil distribution was called Linux/GNU/X). In GNU's 1994-June Bulletin, Linux is referred to as a "free UNIX clone" (with many GNU utilities and libraries). In the 1995-January edition, the references to Linux were changed to "GNU/Linux". In May of 1996, Stallman released Emacs 19.31, changing the system target "Linux" to "Lignux". He argued that to give rightful credit to GNU, it is proper to use the terms "Linux-based GNU system", "GNU/Linux system", or "Lignux" to refer to the combination of the Linux kernel and the GNU system. Stallman later stopped using the term "Lignux" and used "GNU/Linux" exclusively.
The requests to call the system "GNU/Linux" have met with mixed success at best.
Only a few distributions have followed the lead of Debian in calling their systems "GNU/Linux".
The corporate world, including most media outlets, do not. Amongst the users and developers in the free software and open source movements, some have followed this request; many others have ignored or opposed it.
Some consider the term "operating system" to refer to only the kernel, while the rest are simply utilities (regardless of the practical necessity and volume of such utilities).
In this sense, the operating system is called Linux, and a Linux distribution is based on Linux with the addition of the GNU tools.
On the other hand, both the name GNU and the name Linux are intentionally parallel to the name Unix, and Unix has always referred to the C library and userland tools as well as the kernel. Kernel-author Torvalds wrote, in the 1991 license statement for version 0.11 of Linux (which was not under the GPL until version 0.12):
- Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc. These are separate parts and may be under a stricter (or even looser) copyright. Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren't in the distribution - ask me (or GNU) for more info.
Some of the reasons people refer to the system as "Linux" instead of "GNU/Linux" are because the former is shorter and thus easier to say, because Torvalds has called the combined system Linux since its 1991 release, and because Stallman only began asking people to call the system "GNU/Linux" in the mid