Linux

From Wikipedia, the free encyclopedia

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

Jump to navigation Jump to search

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.


Tux
Tux

Linux strictly refers to the Linux kernel, but the name is also used to describe the entire free Unix-like computer operating systems (also called GNU/Linux) that are 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 Richard Stallman's GNU project (begun in 1983). The kernel is not officially affiliated with GNU, but is independently developed and 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 along with the operating system, such as web servers like Apache, graphical environments like GNOME and KDE, office suites like OpenOffice.org, and the X Window System.

Such distributions have experienced rapid growth in popularity, overtaking proprietary versions of Unix and even beginning to challenge the dominance of Microsoft Windows. Supporting a wide variety of computer hardware, these distributions have been deployed in applications ranging from personal computers to supercomputers to embedded devices such as mobile phones.

History

The Linux kernel was initially written as a hobby by a Finnish university student, Linus Torvalds, who was then attending the University of Helsinki, as a free and modifiable Minix-like kernel. (Minix is a Unix-like teaching project, including an operating system, run by Andrew S. Tanenbaum and designed for teaching simplicity rather than production use.) Subsequently, thousands of volunteer computer designers/programmers throughout the world have participated in the project. (See the first Linux announcement, archived on Google.)

The history of Linux is closely tied to that of the GNU project, a prominent free-software project led by Richard Stallman. The GNU project was begun in 1983 to develop a complete Unix-like operating system, including compilers / application programs / software development utilities / etc, 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, a large number of utility programs, and a C compiler. There was no kernel for the system, however, in part because the design of the GNU kernel was ambitious and proved unexpectedly difficult. Torvalds and other early Linux developers adopted the GNU components to work with their Linux kernel, creating a fully functional operating system.

Linux thus filled the last major gap in the GNU plan. 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; as this is written it is marginally usable. It's hardware support is limited, and while its microkernel design has theoretical advantages over the monolithic kernel approach used in Linux, members of the GNU project themselves use Linux-based systems for most of their day-to-day computing.

The "official" logo and mascot of Linux is Tux the penguin. The Linux trademark (SN: 1916230) is owned by Linus Torvalds, registered for "Computer operating system software to facilitate computer use and operation."

Linux distributions

Main article: Linux distribution

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, 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 long-standing free operating-system project that predates 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, although most simply call the system "Linux."

Most systems also include non-GNU tools and utilities and some replace most or all of the GNU components with non-GNU software. This can still produce a workable Unix-like system. Examples include tools and utilities from the BSD and its descendants, and the XFree86 open source implementation of the X Windowing System. X provides the most common foundation for GUI interfaces on Linux systems.

Applications of Linux-based operating systems

Linux users, having traditionally had to install and configure their own system, have tended to be more technologically oriented than Microsoft Windows and Mac OS users, often revelling in the tag of "hacker" or "geek." This stereotype has been undermined in recent years by the increasing user-friendliness and broader adoption of many Linux distributions. Linux has made considerable progress in the server and special-purpose markets (e.g. image rendering and Web services), and is beginning to make inroads into the high volume "desktop" market.

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

Linux is also commonly used as an embedded operating system. The 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 that of MacOS or Windows than the traditional Unix command line interface. Correspondingly, a number of graphical software packages are becoming available for Linux that offer much of the functionality of common commercial programs available on the other desktop operating systems, although the latter are still much greater in breadth and quantity.

Although difficulty of installation was initially a barrier to adoption, the installation process has been greatly eased in recent years. With the adoption of Linux by several large PC manufacturers, computers with Linux distributions pre-installed have become available. Some distributions (such as Knoppix/Gnoppix and Gentoo) allow Linux to be booted directly from a CD (a LiveCD), without modifying a hard drive. CD ISO images for these and other distributions can usually be downloaded from the Internet, burned to a CD and booted from the CD. Linux can also be booted over a network or, for a minimal system, from a few floppy disks or network card NetBoot flash drivers (see Isolinux).

The scale of the Linux development effort

One study (More Than a Gigabuck: Estimating GNU/Linux's Size) of Red Hat Linux 7.1 found that this particular distribution contained 30 million physical source lines of code (SLOC). Using the COCOMO cost model, the study estimated that this distribution required about 8,000 person-years of development time. Had all this software been developed by conventional proprietary means, it would have cost over $1.08 billion ($1,080 million), in year 2000 dollars, to develop in the US.

The majority of the 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, most prominently by the FSF and its founder Richard Stallman, to refer to the Linux-based operating system. Their basic argument is that GNU was an ongoing project to develop a free operating system that predated the Linux kernel by almost a decade, and Torvalds' kernel was only the final missing piece completing that project. (Work on GNU's own kernel, the HURD, had started only in 1990 and progressed slowly.) 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 (with a few notable exceptions, such as Debian).

A common misconception is that the FSF argues for GNU/Linux purely on the basis of the large number of GNU tools used in Linux. 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 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 Yggdrasil 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 term "GNU/Linux" was used instead. In May of 1996, Stallman released Emacs 19.31, changing the system target "Linux" to "Lignux", also suggesting the alternatives of "Linux-based GNU system" or "GNU/Linux system". Stallman later used "GNU/Linux" exclusively.

Some consider the term "operating system" to refer to only the kernel, with the rest being simply "utilities" (regardless of the practical necessity or volume of such utilities) or "applications". In this sense, the operating system is called "Linux", and a Linux distribution is based on Linux with the addition of the GNU tools and other software. On the other hand, both the name "GNU" and the name "Linux" are intentionally related to the name "Unix", and Unix has always conceptually 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.

Common reasons people refer to the system as "Linux" instead of "GNU/Linux" are: because the former is shorter and 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 as "Linux". Moreover, since "Linux" is the most widespread name, many people simply adopt this usage without learning the history or debate behind it.

One practical problem with the use of the word "Linux" to refer to the kernel, the OS, and entire distributions, is that it has often led to confusion about the distinctions among the three. 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 the file systems or any of the GNU tools, or that new releases of the kernel involve a similar degree of user-visible change as do new versions of proprietary operating systems such as Windows (where many things besides the kernel change simultaneously).

In rare cases, the Linux kernel is used with few or no components of GNU (running directly on a nearly "bare" kernel, or perhaps with BSD tools). These are mainly small embedded systems, such as dedicated firewall products or other appliances. Everyone, including the FSF, agrees that "GNU/Linux" is not an appropriate name in such cases.

Litigation

Main article: SCO v. IBM

In March 2003, the SCO Group (SGOG) filed a lawsuit against IBM claiming that IBM had included portions of SCOG's intellectual property into the Linux kernel in violation of IBM's license to use UNIX, now claimed to be held by SCOG. Additionally, SCOG sent letters to a number of companies warning them that their use of Linux without a license from SCOG may be actionable, and have claimed in the press that they would be suing individual Linux users. This controversy has also evoked lawsuits by SCOG against Novell as well as by Red Hat and others against SCOG.

Usability / Market Share

Once viewed as an operating system only computer geeks could appreciate, Linux is today a much more user-friendly system that companies, public and private organizations and consumers can use as easily as proprietary operating systems like Microsoft's Windows XP. This is 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.

However, 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 the dominant supplier (Microsoft) has hardly been a paragon of reliable release dates or backwards compatibility.

In 2004, however, the question of when Linux would experience 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 or the MacOS, especially before MacOS X, using Linux can present problems because many things do not work exactly the same. Some things will have to be relearned. It is also usually easier to find local tech-support people who understand some of the technical aspects of Windows (or the MacOS) than it is to find similar folk for 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. Unless they find major problems in other operating systems, they will be unlikely to switch to Linux. However, once installed successfully, Linux is far less likely to crash, lock up, be attacked by a virus or be taken over by an attack from the network than is any version of Windows to date.

At this writing, on personal desktops, Linux is still used mainly by people who 'know more' about computers. As long as computer manufacturers and distributors supply Windows as the default operating system, this is not likely to change rapidly. Microsoft has shown little inclination to modify the terms of its Windows' licensing to computer manufacturers.

Configuration

Originally, configuration of most settings of Linux-based operating systems was performed in the traditional Unix-like fashion of editing text files in the /etc directory. However, a number of subsequent projects attempt to present a graphical interface for typical system-configuration tasks. Two prominent such projects include Linuxconf and, more recently, the GNOME System Tools.

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

Linux News

Scholarship and grant support

Other