Jump to content

Linux

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ww (talk | contribs) at 15:58, 22 January 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.


Strictly, Linux refers to the Linux kernel component of the Unix-like operating system, but is also used to describe the entire free operating system formed by combining the Linux kernel with the GNU libraries and tools. It is also called GNU/Linux.

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 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 devices such as mobile phones, supporting a remarkable variety of computer hardware.

The 'official' logo and mascot of Linux is Tux the penguin. There are many local Linux User Groups, worldwide; they serve as forums for users of Linux-based operating systems. The Linux trademark (SN: 1916230) is owned by Linus Torvalds, and applies -- officially -- to "Computer operating system software to facilitate computer use and operation."

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, and elsewhere, including a shell and utilities such as libraries, compilers and editors. Because the GNU 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, Richard Stallman of GNU/FSF asks that the combined system (regardless of distribution) be referred to as GNU/Linux. Some people do; most simply call the system "Linux."

Most systems also include non-GNU tools and utilities; examples include the BSD and its descendents and the XFree86 open source implementation of the X window system. The latter provides the most common foundation for a GUI interface on Linux systems.

Applications of Linux-based operating systems

Linux users, who traditionally had to install and configure their own system, have been thus more technologically oriented than Microsoft Windows and Mac OS users, often revelling in the tag of "hacker" or "geek." This stereotype, though often self-imposed, has been undermined in recent years by the increasing 'user-friendliness' of many Linux distributions. Some of them are at least as 'easy to install' as recent versions of Windows.

And with the adoption of Linux by several large PC manufacturers, computers with Linux distributions pre-installed on the first or second hard disk have become available. Linux has begun to make (slow) inroads into the high volume 'desktop' market. It has already made very considerable progress in the server and special purpose (eg, image rendering, Web services) markets.

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 the 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 much more like the Xerox Star and Alto, or Mac OS or Windows, than is the traditional Unix command line interface. Many no-cost (though not always open source/free) software packages available for Linux on various hardware offer most (or arguably all) the functionality of common commercial 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/FSF project and its supporters, most prominently by its founder and main activist Richard 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 almost a decade, and Torvalds' kernel was only the final missing piece completing that project. GNU's own kernel, the HURD, had been long delayed. 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. Actually, 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). This is, of course, inaccurate since the Linux kernel is not a copy of UNIX, but a work-alike. 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, mostly 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 that they be available and despite the large volume of code in 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 notionally included 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 (at the suggestion of a friend), 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.

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 (first version only all versions since by Linus and hundreds of others), that Torvalds directs the development of other components such as graphical interfaces (he does not), 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 (the changes are far more backward compatible than is typical in the Windows world).

In rare cases, mainly for small embedded systems, there are people who use the Linux kernel but with few or no components of GNU (because they use BSD or other replacements, or simply run the kernel without a Unix userspace). Everyone, including the FSF, agrees that GNU/Linux is not an appropriate name in that case.

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 the first version of the Linux kernel 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. There was no kernel for the system, however, because the design of 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 Minix was and is a Unix-similar teaching project from Andrew Tannenbaum, deliberately made simple enough for teaching and without a 'production perspective'). Subsequently, thousands of volunteer computer designers/programmers throughout the world have participated in the project. (See the first Linux announcement, archived on Google.) Torvalds and other early Linux developers adopted the GNU components to work with the Linux kernel, creating a completely functional operating system.

Linux, thus, filled the last major gap in the GNU operating system. Although the Linux kernel is now 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. There have been attempts to spread Fear/Uncertainty/Doubt about Linux -- widely thought in all cases, and shown in some cases, to have been deliberate actions by commercial competitors.

And there is a possibly major legal problem with Linux. 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 their use of Linux without a license from SCO may be actionable. 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. IBM has counterclaimed as well in the original filing by SCO. On November 13, 2003 SCO Group filed subpoenas for Stallman and Linus Torvalds. Discovery is ongoing and, to the extent that SCO's specific claims are known, there is near universal opinion -- outside of SCO -- that they are groundless. See SCO v. IBM Linux lawsuit for details.

SCO's claims derive from the history of UNIX. UNIX was developed at Bell Laboratories and was the property of AT&T. AT&T sold that property to a 'spun off' company, Unix System Labs, who were in turn acquired by Novell. Novell sold some of its rights to SCO; the name UNIX eventually ended up with one and then another industry standards group. SCO went bankrupt and its assets were acquired by Caldera, a spun off division of Novell, who had developed and sold (under the GPL)a Linux distribution of their own. Caldera thereupon changed their name to SCO, and decided to enforce their rights to the copyrighted UNIX source code not long thereafter. In late 2003, Novell copyrighted major parts of the UNIX source code, and announced that their agreement with SCO did not include such copyrights. Since the UNIX source code base has had inclusions from many (hundreds if not thousands) of sources, not least of them the University of California at Berkeley, and since not all of those additions are (or ever were) copyrighted in the same manner as the original UNIX source code from AT&T, the copyright status of any part of the UNIX source code is, at best, disputed. There is some prospect that requests for summary judgement by IBM and Red Hat may stop this litigation early in 2004. On the other hand, they may not.

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). The fragmentation of Linux distributions creates too many choices for consumers, further confusing them. In practice, this is not necessarily a disadvantage, as Microsoft has hardly been a paragon of reliable release dates or backwards compatibility.

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 of his own opinion on the issue (as cited in Gedda, 2004): "This year there will be a lot of desktop users..." On the other hand, later that month he said, "I mean it's going to take literally five to ten years before 'normal users' start seeing [the] Linux desktop" (as cited in Mackenzie, 2004).

For people who have always used Microsoft Windows, Linux can be more difficult because many things have to be relearned. It is also usually easier to find local tech-support people who understand some of the technical aspects of Windows than of Linux. Most non-technical users don't particularly care which operating system they use, so long as it has all of the programs they need and they can sucessfully use it, so unless they find major problems in other operating systems, they're unlikely to switch to Linux. On the other hand, Linux, once installed successfully is far less likely to crash, lock up, or be attacked by a virus than is any version of Windows.

At this writing, on personal desktops, Linux is still used mainly by people who 'know more' about computers.

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

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