Main Page | See live article | Alphabetical index

Linux

This article is about Linux-based operating systems, GNU/Linux, and related topics. See Linux kernel for more extensive coverage of the Linux kernel itself, from which these systems derive their names.
In computer operating systems, Linux strictly refers to the Linux kernel, but is also used to describe the entire free Unix-like operating system, also called GNU/Linux, that is formed by combining the Linux kernel with the GNU libraries and tools. The first version of the Linux kernel was written by Linus Torvalds and released in 1991, combined with essential components from the GNU project (begun in 1983 by Richard Stallman). The kernel is not officially affiliated with GNU, but is distributed under the terms of the GNU General Public License (GPL).

The term "Linux" is now even applied to whole Linux distributions, which typically bundle large quantities of software, from web servers like Apache to graphical environments like GNOME to office suites like OpenOffice.org (built on the X Windows graphics subsystem), with the core operating system.

Since its initial release, the Linux operating system has experienced rapid growth in popularity, overtaking proprietary versions of Unix and even beginning to challenge the dominance of Microsoft Windows. It has been deployed in applications ranging from personal computers to supercomputers to embedded devicess such as mobile phones, supporting a remarkable variety of computer hardware.

The official logo and mascot of Linux is Tux the penguin. Local Linux User Groups exist as forums for users of Linux-based operating systems in most areas. The Linux trademark (SN: 1916230) is owned by Linus Torvalds, and is defined as "Computer operating system software to facilitate computer use and operation."

Table of contents
1 Linux distributions
2 Applications of Linux-based operating systems
3 The scale of the Linux development effort
4 "GNU/Linux"
5 History
6 Litigation
7 Usability
8 References
9 See also
10 External links

Linux distributions

There are many Linux distributions (distros), assembled by individuals, corporations, and other organizations, and each may include any number of additional system software and application programs, as well as a program to install the whole system on a new computer. The core of each distribution includes the Linux kernel, but also various software packages from the GNU project including a shell and utilities such as libraries, compilers and editors. Because these facilities (without which the system would not resemble Unix from a user perspective) stem from a longstanding free operating-system project that pre-dates the Linux kernel itself, Stallman of GNU asks users to refer to the entire system as GNU/Linux. Some people do; most simply call the system "Linux."

Most systems also include tools and utilities from BSD backgrounds and typically use XFree86 to provide the underpinnings of a GUI interface.

Applications of Linux-based operating systems

Linux users, who traditionally had to install and configure their own system, have been stereotypically more technologically oriented than those of Microsoft Windows and Mac OS, often revelling in the tag of "hacker" or "geek."

With the adoption of Linux by several large PC manufacturers, however, computers with Linux distributions pre-installed on the first or second hard disk have become available, and Linux has begun to make slow inroads into the wider desktop market.

Alternatively, some distributions (such as Knoppix, Gnoppix—the Gnobian version—and Gentoo) allow Linux to be booted directly from a CD (sometimes called a LiveCD), without modifying a hard drive. One can download CD ISO images for these and other distributions from the Internet, burn it to a CD, and execute Linux from the CD.

Still other possibilities include booting over a network or (for a minimal system) from a few floppy disks or network card NetBoot flash drivers (see Isolinux).

Linux is also a cornerstone of the LAMP server-software combination that has achieved widespread popularity among web developers.

Linux is also being used as an embedded operating system. The relatively low cost of Linux makes it possible to use it in devices such as the Simputer, a low-cost computer aimed especially at low-income populations in developing nations.

With desktop environments such as KDE and GNOME, Linux offers a graphical user interface more like Mac OS or Windows than the traditional Unix command line interface, and many no-cost (though not always open source/free) software packages offer the functionality of programs available on the other desktop operating systems.

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 1990s after the system had become popular. And, of course, since "Linux" is the most widespread name, many people simply copy this usage without learning the history or debate behind it.

Another argument sometimes invoked for calling the system "Linux" is one of distinctiveness. Proponents argue that what makes the system distinctive is the kernel.

One practical problem with the use of the word "Linux" to refer to both the kernel and the distributions as a whole is that it has often led to confusion in the popular media (and hence among the general public). Thus, media sources frequently make erroneous statements such as claims that the entire Linux operating system (in the popular sense) was written from scratch by Torvalds in 1991, that Torvalds directs the development of other components such as graphical interfaces, or that new releases of the kernel involve a similar degree of user-visible change to new major versions of proprietary operating systems such as Windows.

To further add to the confusion, there are a number of Linux distributions (particularly those for embedded or dedicated single purposes) that include no or very few components of the GNU project, opting to replace them with BSD equivalents or specialized rewrites. Naming those GNU/Linux would be obviously incorrect.

History

The history of Linux is heavily tied to that of the GNU project, a prominent free-software project led by Stallman. The GNU project was begun in 1983 to develop a complete Unix-like operating system composed entirely of free software. By 1991, when Linux was written, the GNU project had produced nearly all of the components of this system, including a shell, a C library, and a C compiler. The kernel of the system was incomplete, however, because the GNU kernel (called the Hurd) was so ambitious that it proved unexpectedly difficult.

The Linux kernel was initially written as a hobby by a Finnish university student, Linus Torvalds, who was attending the University of Helsinki, as a free and modifiable Minix-like kernel. Subsequently, thousands of volunteers of computer programmers throughout the world have participated in the project. (See the first Linux announcement, archived on Google.) Torvalds and other early Linux developers adapted the GNU components to work with the Linux kernel, creating a completely functional operating system.

Linux, thus, filled that final gap in the GNU operating system. Although the Linux kernel is licensed under the GNU General Public License, it is not part of the GNU project. The GNU project has a separate kernel development project, the HURD, whose completion is still eagerly awaited in some circles.

Litigation

The Linux kernel now presents a major competitive threat to the manufacturers of proprietary operating systems.

Early in 2003, SCO filed a lawsuit against IBM claiming that IBM had included portions of SCO's intellectual property into the Linux kernel. Additionally, SCO reportedly sent letters to many companies warning them that Linux may be a liability. Red Hat has now filed a lawsuit against SCO, seeking to stop SCO's intellectual property claims, and seeking legal redress for the harm done to Red Hat by such claims. On November 13, 2003 SCO Group filed subpoenas for Stallman and Linus Torvalds. See SCO v. IBM Linux lawsuit for details.

Usability

Linux, once viewed as an operating system only computer geeks could appreciate, is today a much more user-friendly software that companies, public administrations, and consumers can master almost as easily as competitive proprietary operating systems (like Microsoft's Windows XP). That's the core finding of a study published by Relevantive, a Berlin-based company specializing in consulting companies on the usability of software and Web services.

On the other hand, Linux has been criticized for having inconsistent and unpredictable development schedules, thus making consumers less confortable with Linux than they might be with another operating system (Marcinkowski, 2003).

In 2004, however, the question of when Linux would (or had already) experience(d) significant market share on desktops, was debated. During the Linux.Conf.au conference at the University of Adelaide in January 2004 (Linux Australia, n.d.), Torvalds made a statement which could be interpreted as his own opinion on the issue (as cited in Gedda, 2004): "This year there will be a lot of desktop users..."

Configuration

Linuxconf is a sophisticated administration system for the Linux operating system, written in the C++ and may be operated with your favorite Web browser. Linuxconf works for a.out and ELF systems; it installs currently directly on the majority of Linux distros, including Debian.

gnome-linuxconf is a GTK-based graphical frontend to Linuxconf.

References

See also

External links

General information

Newbie and user-friendliness in Linux

Linux distributions

Reference

Tutorials

Free online training

Online publications

Printed publications

Linux and GNU

Linux kernel

Linux hardware

Scholarship and grant support

Other