< Back to index

Linux, or GNU/Linux, refers to any Unix-like computer operating system that uses the Linux kernel.

Initially developed and used primarily by individual enthusiasts on personal computers, Linux has since gained the support of corporations such as IBM, Sun Microsystems, Hewlett-Packard, and Novell, Inc., and has risen to prominence as an operating system for servers; Netcraft reported in September 2006 that eight of the ten most reliable internet hosting companies run Linux on their web servers. Linux has been more widely ported to different computing platforms than any other operating system. (http://www.freeos.com/articles/4737/) It is used in devices ranging from supercomputers to mobile phones, and has a foothold in the personal computer and business desktop markets.

Linux constitutes the most prominent example of free software and of open source development; the vast majority of the underlying source code is available for anyone to use, modify, and redistribute freely, and in some instances the entire operating system consists of free/open source software.

History



In 1983, Richard Stallman founded the GNU Project, with the goal of developing a complete Unix-like operating system composed entirely of free software. By the beginning of the 1990s, the project had produced or collected most of the necessary components of this system, including libraries, compilers, text editors, and a Unix shell. However the core component, a kernel, was still missing. In 1990, the GNU project began developing the GNU Hurd kernel, based on the Mach microkernel, but the development of this Mach-based design proved difficult and proceeded slowly. (http://www.gnu.org/gnu/gnu-history.html)

Meanwhile, in 1991, work on the Linux kernel began by Linus Torvalds while attending the University of Helsinki. Torvalds originally created the Linux kernel as a replacement for the non-Free Minix kernel. Although dependent on the Minix kernel and operating system at first, Torvalds and other early Linux kernel developers adapted their work to the GNU components and user-space programs to create a complete, fully functional, and free (as in freedom) operating system.

Today, Torvalds continues to direct the development of the kernel. Stallman heads the Free Software Foundation, which in turn develops the GNU components. Finally, third-party non-GNU components are developed by individuals and corporations. These third-party components comprise a vast body of work and may include both kernel modules and userland applications and libraries. Linux vendors combine and distribute the kernel, GNU components, and non-GNU components with additional package management software in the form of Linux distributions.

Etymology


The name Linux derives from the use of the Linux kernel. As most if not all Linux distributions use GNU software, some people insist on GNU/Linux as the correct name. However, the media and population at large refers to this family of operating systems as Linux, and Wikipedia has followed suit. The goal of the GNU project is to produce a Unix-compatible operating system consisting entirely of free software, and all general-purpose Linux distributions rely on numerous GNU components. The Free Software Foundation views these Linux distributions as "variants" of the GNU system, and asks that such operating systems be referred to as GNU/Linux or a Linux-based GNU system. (http://www.gnu.org/gnu/linux-and-gnu.html) However, while some distributors make a point of using the combined form, most notably Debian with its Debian GNU/Linux distribution, its use outside of the enthusiast community is limited, and Linus Torvalds has said that he finds calling the operating system in general GNU/Linux "just ridiculous". The distinction between the Linux kernel and distributions based on it plus the GNU system is a source of confusion to many newcomers, and the naming remains controversial. In all cases context dictates whether Linux refers to an operating system or the kernel.

Distribution


The Linux kernel was originally designed only for Intel 80386 microprocessors, but now supports a wide variety of computer architectures. Linux is one of the most widely ported operating systems, running on a diverse range of systems from the hand-held ARM-based iPAQ to the mainframe IBM System z9. Specialized distributions exist for less mainstream architectures. The ELKS kernel fork can run on Intel 8086 or Intel 80286 16-bit microprocessors, while the µClinux kernel may run on systems without a memory management unit. The kernel also runs on architectures that were not intended to use other than their original operating systems: this is the case of computers made by Apple Computer such as the iMac and PowerBook, Palm PDAs, Nintendo GameCube and Xbox.

Linux is predominantly used as part of a Linux distribution (commonly called a "distro"). These are put together by individuals, loose-knit teams, commercial and volunteer organizations. They commonly include additional system and application software, an installer system to ease initial system setup, and integrated management of software installation and upgrading. Distributions are created for many different purposes, including computer architecture support, localization to a specific region or language, real-time applications, and embedded systems, and many deliberately include only free software. Currently, over three hundred distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.

A typical general-purpose distribution includes the Linux kernel, some GNU libraries and tools, command-line shells, the graphical X Window System and an accompanying desktop environment such as KDE or GNOME, together with thousands of application software packages, from office suites to compilers, text editors, and scientific tools.

The most common method of installing Linux on a personal computer is by booting from a CD-ROM that contains the installation program and installable software. Such a CD can be burned from a downloaded ISO image, purchased alone for a low price, obtained as part of a box set, or in a few cases shipped for free by request. A box set may also include manuals and additional proprietary software. Mini CD images allow Linux to be installed from a disk with a small form factor. As with servers, personal computers that come with Linux already installed are available from vendors including Hewlett-Packard and Dell, although generally only for their business desktop line. Alternatives to traditional desktop installation include thin client installation and running directly from a Live CD. In a thin client installation, the operating system is loaded and run from a centralised machine over a network connection. In a Live CD setup, the computer boots the entire operating system from CD without first installing it on the computer's hard disk. On embedded devices, Linux is typically held in the device's firmware and may or may not be consumer-accessible.

Usage


Linux is used on a wide variety of machines for a wide variety of purposes.

Desktop


After a burst of development in the first half of the 2000's, Linux has grown to have a user interface comparable with that of Windows and Mac OS X. Desktop users coming from Mac OS X or Windows usually have to switch to alternative application software, and there may be a lack of commercial quality software in certain application application domains, such as computer gaming, desktop publishing, and professional audio. However, there exist high-quality replacements for general-purpose desktop software, which includes applications such as spreadsheets, word processors, email clients, and web browsers. Additionally, a growing number of proprietary software vendors are supporting Linux.

The high level of access granted to Linux's internals has led to Linux users traditionally tending to be more technically-inclined than users of Microsoft Windows and Mac OS.
Linux's roots in the Unix operating system mean that in addition to graphical configuration tools and control panels available for many system settings and services, it is often either easier or necessary to use a plain-text configuration files to configure the OS. While user access to these files and utilities is controlled by the system administrator, and in theory the user does not need to worry about them, in practice the administrator and user are often the same person on a desktop system.

Comparison of Windows and Linux

Due to the prevalence of Windows, a comparison between Windows and Linux became a common topic of conversation in the computer industry. Linux and the free software projects that have been frequently criticized for not going far enough to ensure ease of use. However, the Berlin-based user experience organization Relevantive concluded in 2003 that the usability of Linux for a set of desktop-related tasks was "nearly equal to Windows XP." Since then, there have been numerous independent studies and articles which indicate that a modern Linux desktop using either GNOME or KDE is on par with Microsoft Windows, even in a business setting. Although lack of application support is often cited as a reason to use Windows over Linux, compatibility layers such as Wine or NdisWrapper allow some Microsoft Windows applications and drivers to be used on Linux without requiring the vendor to adapt them. This allows users to more easily migrate from Windows to Linux since they can still run many of their Windows applications with little additional effort.

Programming


Most Linux distributions support a wide array of programming languages. Core system software such as libraries and basic utilities are usually written in C. Enterprise software is often written in C++, Java, Perl, or Python. The most common collection of utilities for building both Linux applications and operating system programs is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC). Amongst others, GCC provides compilers for C, C++, Java, and Fortran. The Linux kernel itself is written to be compiled with GCC.

Most distributions also include support for Perl, Python and other dynamic languages. Less common, but still well-supported, are C# via the Mono project, Scheme, and Ruby. The two main widget toolkits used for contemporary GUI programming are Qt and the Gimp Toolkit, known as GTK+. Both support a wide variety of languages. There are a number of Integrated development environments available including MonoDevelop, KDevelop, Anjuta, NetBeans, and Eclipse while the traditional editors Emacs and Vim remain popular.

As well as these free and open source options, there are proprietary compilers and tools available from a range of companies such as the Intel C Compiler, PathScale, (http://www.pathscale.com/ekopath.html) Micro Focus COBOL, (http://www.microfocus.com) Franz Inc, (http://www.franz.com/) and the Portland Group. (http://www.pgroup.com/)

Enterprise usage


Linux is also used in some corporate environments as the desktop platform for its employees, with commercially available solutions including Red Hat Enterprise Linux, SUSE Linux Enterprise Desktop, and Linspire. Several government organizations have started the switch to using Linux.

Server usage


Historically, Linux has mainly been used as a server operating system. This is due to its relative stability and long uptimes, and the fact that desktop software with a graphical user interface is often unneeded. Enterprise and non-enterprise Linux distributions may be found running on servers. Linux is the cornerstone of the LAMP server-software combination (Linux, Apache, MySQL, Perl/PHP/Python) which has achieved popularity among developers, and which is one of the more common platforms for website hosting.

Embedded systems


Due to its low cost and its high configurability, an embedded Linux is often used in embedded systems such as television set-top boxes, mobile phones, and handheld devices. Linux has become a major competitor to the proprietary Symbian OS found in many mobile phones, and it is an alternative to the dominant Windows CE and Palm OS operating systems on handheld devices. The popular TiVo digital video recorder uses a customized version of Linux. Several network firewall and router standalone products, including several from Linksys, use Linux internally, using its advanced firewalling and routing capabilities.

Supercomputing


Linux is commonly used as an operating system for supercomputers. As of January 5 2007 out of the top 500 systems, 376 (75.2%) run Linux. (http://www.top500.org/stats/28/osfam/).

Gaming


Although gaming under Linux is traditionally considered inferior to gaming under Windows or even Mac OS X, due to the reluctance of game development companies to support an operating system with relatively small desktop market share, there are still a large number of games available. Prominent examples of open source games include Nethack, The Ur-Quan Masters, and Wesnoth. There are also emulators for playing binary game ROMs, which include ZSNES and Frotz. Some Windows games may be played using Wine or Cedega, and old MS-DOS games can be played with DOSBox. Finally, there are games such as Quake which have an open source engine that runs under Linux, and can be used to play the full game provided non-Free data files are present.

Library support for Linux gaming is provided by Simple DirectMedia Layer, a wrapper around OpenGL, audio libraries, and input devices. NVidia and ATI have provided kernel modules that allow for most features of their graphics cards to be used under Linux. Linux also runs on several game consoles, including the X-Box, Playstation, and Gamecube. This has allowed game developers without an expensive proprietary game development kit to target console hardware.

Education


In technical disciplines at universities and research centres worldwide, Linux is often the platform of choice. This is due to several factors, including that Linux is available free of charge and includes a large body of free/open source software. To some extent, technical competence of computer science and software engineering academics is also a contributor, as is stability, maintainability, and upgradability. IBM ran an advertising campaign entitled "Linux is Education" featuring a young boy who was supposed to be "Linux". The One Laptop Per Child project, a campaign to distribute laptop computers to millions of children in the developing world, also uses a Linux operating system.

Commercial considerations and legal issues


As with any complex software project, there are many issues surrounding Linux from both commercial and legal standpoints.

Support


Technical support is provided by commercial suppliers and by other Linux users, usually in online forums, IRC, newsgroups, and mailing lists. Linux User Groups have traditionally been organized to provide support for Linux in specific cities and regions. The business model of commercial suppliers is generally dependent on charging for support, especially for business users. A number of companies offer a specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks.

Development cost and source code composition


A 2001 study of Red Hat Linux 7.1 found that this distribution contained 30 million source lines of code. Using the Constructive Cost Model, the study estimated that this distribution required about eight thousand man-years of development time. According to the study, if all this software had been developed by conventional proprietary means, it would have cost about 1.08 billion dollars (year 2000 U.S. dollars) to develop in the United States.

The majority of the code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Fortran, Python and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.

In a later study, the same analysis was performed for Debian GNU/Linux version 2.2. This distribution contained over fifty-five million source lines of code, and the study estimated that it would have cost 1.9 billion dollars (year 2000 U.S. dollars) to develop by conventional means.

Market share and uptake


Many quantitative studies of open source software focus on topics including market share and reliability, with many studies specifically examining Linux.
The Linux market is rapidly growing and the revenue of servers, desktops, and packaged software running Linux is expected to exceed $35.7 billion by 2008. The actual installed user base may be higher than indicated by this figure, as most Linux distributions and applications are freely available and redistributable.

SCO litigation


In March 2003, the SCO Group filed a lawsuit against IBM, claiming that IBM had contributed portions of SCO's copyrighted code to the Linux kernel in violation of IBM's license to use Unix. Additionally, SCO sent letters to a number of companies warning that their use of Linux without a license from SCO may be actionable, and claimed in the press that they would be suing individual Linux users. This controversy has involved lawsuits by SCO against DaimlerChrysler (dismissed in 2004), and AutoZone, and by Red Hat and others against SCO. Furthermore, it is currently disputed by Novell whether the SCO even owns the relevant Unix copyrights.

SCO's claims have been numerous and varied widely over time. As per the Utah District Court ruling on July 3, 2006; 182 claims out of 294 claims made by SCO against IBM have been dismissed.

Licensing


The Linux kernel and most GNU software are licensed under the GNU General Public License version 2. The GPL requires that all distributed source code modifications and derived works also be licensed under the GPL, and is sometimes referred to as a "share and share-alike" or "copyleft" license. In 1997, Linus Torvalds stated, "Making Linux GPL'd was definitely the best thing I ever did." Other software may use other licenses; many libraries use the GNU Lesser General Public License (LGPL), a more permissive variant of the GPL, and the X Window System uses the MIT License. After more than ten years, the Free Software Foundation announced that they would be upgrading the GPL to version 3, citing increasing concerns with Intellectual Property laws, especially Software Patents. Linus Torvalds has publicly stated he would not move the Linux kernel to GPL v.3. Torvalds opposes in particular certain Digital Rights Management exclusions in the GPL v3.

The Linux trademark


In the United States, the name Linux is a trademark registered to Linus Torvalds. Initially, nobody registered it, but on August 15 1994, William R. Della Croce, Jr. filed for the trademark Linux, and then demanded royalties from Linux distributors. In 1996, Torvalds and some affected organizations sued to have the trademark assigned to Torvalds, and in 1997 the case was settled. The licensing of the trademark is now handled by the Linux Mark Institute. Torvalds has stated that he only trademarked the name to prevent someone else from using it, but was bound in 2005 by United States trademark law to take active measures to enforce the trademark. As a result, the LMI sent out a number of letters to distribution vendors requesting that a fee be paid for the use of the name, and a number of companies have complied.
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.