Linux ( or )
is a family of
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s based on the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
, an
operating system kernel
The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory and facilitates in ...
first released on September 17, 1991, by
Linus Torvalds
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and, historically, the lead developer of the Linux kernel, used by Linux distributions and other operating systems such as Android. He also ...
. Linux is typically
packaged as a
Linux distribution
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading on ...
, which includes the kernel and supporting
system software
System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
and
libraries
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
, many of which are provided by the
GNU Project
The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing devi ...
. Many Linux distributions use the word "Linux" in their name, but the
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ("s ...
uses the name "GNU/Linux" to emphasize the importance of
GNU
GNU () is an extensive collection of free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any ...
software,
causing some controversy.
Popular Linux distributions include
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
,
Fedora Linux
Fedora Linux is a Linux distribution developed by the Fedora Project. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of open-source technologies. Fedora is the upstream (softwa ...
, and
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
, the latter of which itself consists of many different distributions and modifications, including
Lubuntu
Lubuntu ( ) is a lightweight Linux distribution based on Ubuntu and uses the LXQt desktop environment in place of Ubuntu's GNOME desktop. Lubuntu was originally touted as being "lighter, less resource hungry and more energy-efficient", but n ...
and
Xubuntu
Xubuntu () is a Canonical Ltd.–recognized, community-maintained derivative of the Ubuntu operating system. The name ''Xubuntu'' is a portmanteau of ''Xfce'' and ''Ubuntu'', as it uses the Xfce desktop environment, instead of Ubuntu's Uni ...
. Commercial distributions include
Red Hat Enterprise Linux
Red Hat Enterprise Linux (RHEL) is a Commercial software, commercial Open-source software, open-source Linux distribution developed by Red Hat for the commerce, commercial market. Red Hat Enterprise Linux is released in server versions for x86-6 ...
and
SUSE Linux Enterprise
SUSE Linux Enterprise (often abbreviated to SLE) is a Linux-based operating system developed by SUSE. It is available in two editions, suffixed with Server (SLES) for servers and mainframes, and Desktop (SLED) for workstations and desktop compu ...
. Desktop Linux distributions include a
windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
such as
X11 or
Wayland, and a
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
such as
GNOME or
KDE Plasma. Distributions intended for
servers may omit
graphics
Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture, ...
altogether, or include a
solution stack
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on t ...
such as
LAMP. Because Linux is freely redistributable, anyone may create a distribution for any purpose.
Linux was originally developed for
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tech ...
s based on the
Intel x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intro ...
architecture, but has since been
ported to more
platforms than any other operating system. Because of the dominance of the Linux-based
Android on
smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
s, Linux, including Android, has the
largest
Large means of great size.
Large may also refer to:
Mathematics
* Arbitrarily large, a phrase in mathematics
* Large cardinal, a property of certain transfinite numbers
* Large category, a category with a proper class of objects and morphisms (or ...
installed base
Installed base (also install base, install ''ed'' user base or just user base) is a measure of the number of units of a product or service that are actually in use, as opposed to market share
Market share is the percentage of the total reven ...
of all
general-purpose operating systems, . Although Linux is, , used by only around 2.6 percent of
desktop computer
A desktop computer (often abbreviated desktop) is a personal computer designed for regular use at a single location on or near a desk due to its size and power requirements. The most common configuration has a case that houses the power supply ...
s,
the
Chromebook
A Chromebook (sometimes stylized in lowercase as chromebook) is a laptop or tablet running the Linux-based ChromeOS as its operating system. Initially designed to heavily rely on web applications for tasks using the Google Chrome browser, Chromeb ...
, which runs the Linux kernel-based
ChromeOS
ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfac ...
, dominates the US
K–12
K–12, from kindergarten to 12th grade, is an American English expression that indicates the range of years of publicly supported primary and secondary education found in the United States, which is similar to publicly supported school grades ...
education market and represents nearly 20 percent of sub-$300
notebook
A notebook (also known as a notepad, writing pad, drawing pad, or legal pad) is a book or stack of paper pages that are often ruled and used for purposes such as note-taking, journaling or other writing, drawing, or scrapbooking.
History
...
sales in the US. Linux is the leading operating system on servers (over 96.4% of the top 1 million web servers' operating systems are Linux), leads other
big iron systems such as
mainframe computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
s, and is used on all of the
world's 500 fastest supercompters (since November 2017, having gradually displaced all competitors).
Linux also runs on
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s, i.e. devices whose operating system is typically built into the
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
and is highly tailored to the system. This includes
routers,
automation
Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
controls,
smart home devices,
video game console
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to ...
s,
television
Television, sometimes shortened to TV, is a telecommunication Media (communication), medium for transmitting moving images and sound. The term can refer to a television set, or the medium of Transmission (telecommunications), television tra ...
s (Samsung and LG
Smart TV
A smart TV, also known as a connected TV (CTV), is a traditional television set with integrated Internet and interactive Web 2.0 features, which allows users to stream music and videos, browse the internet, and view photos. Smart TVs are a techn ...
s),
automobiles
A car or automobile is a motor vehicle with wheels. Most definitions of ''cars'' say that they run primarily on roads, seat one to eight people, have four wheels, and mainly transport people instead of goods.
The year 1886 is regarded ...
(Tesla, Audi, Mercedes-Benz, Hyundai and Toyota),
and
spacecraft
A spacecraft is a vehicle or machine designed to spaceflight, fly in outer space. A type of artificial satellite, spacecraft are used for a variety of purposes, including Telecommunications, communications, Earth observation satellite, Earth ...
(
Falcon 9
Falcon 9 is a partially reusable medium lift launch vehicle that can carry cargo and crew into Earth orbit, produced by American aerospace company SpaceX.
The rocket has two stages. The first (booster) stage carries the second stage and pa ...
rocket,
Dragon crew capsule and the
''Perseverance'' rover).
Linux is one of the most prominent examples of free and open-source
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
collaboration. The
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
may be used, modified and distributed commercially or non-commercially by anyone under the terms of its respective licenses, such as the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
(GPL). The Linux kernel, for example, is licensed under the GPLv2.
History
Precursors
The
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
operating system was conceived and implemented in 1969, at
AT&T
AT&T Inc. is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the world's largest telecommunications company by revenue and the third largest provider of mobile tel ...
's
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mult ...
, in the United States by
Ken Thompson
Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programmi ...
,
Dennis Ritchie,
Douglas McIlroy
Malcolm Douglas McIlroy (born 1932) is a mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College.
McIlroy is best known for having originally proposed Unix pipelines and developed se ...
, and
Joe Ossanna
Joseph Frank Ossanna, Jr. (December 10, 1928 – November 28, 1977) was an electrical engineer and computer programmer who worked as a member of the technical staff at the Bell Telephone Laboratories in Murray Hill, New Jersey. He became active ...
. First released in 1971, Unix was written entirely in
assembly language, as was common practice at the time. In 1973, in a key pioneering approach, it was rewritten in the
C programming language by Dennis Ritchie (with the exception of some hardware and I/O routines). The availability of a
high-level language
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be easier to u ...
implementation of Unix made its
porting
In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally des ...
to different computer platforms easier.
Due to an earlier
antitrust case
In the United States, antitrust law is a collection of mostly federal laws that regulate the conduct and organization of businesses to promote competition and prevent unjustified monopolies. The three main U.S. antitrust statutes are the Sherm ...
forbidding it from entering the computer business, AT&T licensed the operating system's source code as a trade secret to anyone who asked. As a result, Unix grew quickly and became widely adopted by academic institutions and businesses. In 1984,
AT&T divested itself of its
regional operating companies, and was released from its obligation not to enter the computer business; freed of that obligation, Bell Labs began selling Unix as a
proprietary product, where users were not legally allowed to modify it.
Onyx Systems
Onyx primarily refers to the parallel banded variety of chalcedony, a silicate mineral. Agate and onyx are both varieties of layered chalcedony that differ only in the form of the bands: agate has curved bands and onyx has parallel bands. The c ...
began selling early microcomputer-based Unix workstations in 1980. Later,
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
, founded as a spin-off of a student project at
Stanford University, also began selling Unix-based desktop workstations in 1982. While Sun workstations didn't utilize commodity PC hardware like Linux was later developed for, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system.
With Unix increasingly "locked in" as a proprietary product, the
GNU Project
The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing devi ...
, started in 1983 by
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to u ...
, had the goal of creating a "complete Unix-compatible software system" composed entirely of
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
. Work began in 1984.
Later, in 1985, Stallman started the
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ("s ...
and wrote the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
(GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries,
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s,
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be u ...
s, a
command-line shell, and a
windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
) were completed, although low-level elements such as
device driver
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s,
daemons, and the
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
, called
GNU Hurd
GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, ...
, were stalled and incomplete.
MINIX was created by
Andrew S. Tanenbaum, a
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
professor, and released in 1987 as a minimal
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system targeted at students and others who wanted to learn operating system principles. Although the complete source code of MINIX was freely available, the licensing terms prevented it from being
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
until the licensing changed in April 2000.
Although not released until 1992, due to
legal complications, development of
386BSD
386BSD (also known as "Jolix") is a discontinued Unix operating system based on the Berkeley Software Distribution (BSD). It was released in 1992 and ran on PC-compatible computer systems based on the 32-bit Intel 80386 microprocessor. 386BSD i ...
, from which
NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
,
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
and
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
descended, predated that of Linux.
Linus Torvalds has stated on separate occasions that if the
GNU kernel
GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kerne ...
or 386BSD had been available at the time (1991), he probably would not have created Linux.
Creation
While attending the
University of Helsinki
The University of Helsinki ( fi, Helsingin yliopisto, sv, Helsingfors universitet, abbreviated UH) is a public research university located in Helsinki, Finland since 1829, but founded in the city of Turku (in Swedish ''Åbo'') in 1640 as the ...
in the fall of 1990, Torvalds enrolled in a Unix course. The course utilized a
MicroVAX
The MicroVAX is a discontinued family of low-cost minicomputers developed and manufactured by Digital Equipment Corporation (DEC). The first model, the MicroVAX I, was introduced in 1983.(announced October 1983) They used processors that implemen ...
minicomputer running
Ultrix
Ultrix (officially all-caps ULTRIX) is the brand name of Digital Equipment Corporation's (DEC) discontinued native Unix operating systems for the PDP-11, VAX, MicroVAX and DECstations.
History
The initial development of Unix occurred on DEC equ ...
, and one of the required texts was ''
Operating Systems: Design and Implementation'' by
Andrew S. Tanenbaum. This textbook included a copy of Tanenbaum's
MINIX operating system. It was with this course that Torvalds first became exposed to Unix. In 1991, he became curious about operating systems. Frustrated by the licensing of MINIX, which at the time limited it to educational use only,
he began to work on his own operating system kernel, which eventually became the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
.
Torvalds began the development of the Linux kernel on MINIX and applications written for MINIX were also used on Linux. Later, Linux matured and further Linux kernel development took place on Linux systems. GNU applications also replaced all MINIX components, because it was advantageous to use the freely available code from the GNU Project with the fledgling operating system; code licensed under the GNU GPL can be reused in other computer programs as long as they also are released under the same or a compatible license. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, creating a fully functional and free operating system.
Naming
Linus Torvalds had wanted to call his invention "Freax", a
portmanteau
A portmanteau word, or portmanteau (, ) is a blend of words[makefile
In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called ''Makefiles'' which specify how to derive the target program. Though integrated deve ...](_blank)
s included the name "Freax" for about half a year. Initially, Torvalds considered the name "Linux" but dismissed it as too egotistical.
[Torvalds, Linus and Diamond, David, ''Just for Fun: The Story of an Accidental Revolutionary'', 2001, ]
To facilitate development, the files were uploaded to the
FTP server (
ftp.funet.fi
) of
FUNET in September 1991. Ari Lemmke, Torvalds' coworker at the
Helsinki University of Technology
Helsinki University of Technology (TKK; fi, Teknillinen korkeakoulu; sv, Tekniska högskolan) was a technical university in Finland. It was located in Otaniemi, Espoo in the metropolitan area of Greater Helsinki. The university was founded in ...
(HUT) who was one of the volunteer administrators for the FTP server at the time, did not think that "Freax" was a good name, so he named the project "Linux" on the server without consulting Torvalds.
Later, however, Torvalds consented to "Linux".
According to a newsgroup post by Torvalds,
the word "Linux" should be pronounced ( ) with a short 'i' as in 'print' and 'u' as in 'put'. To further demonstrate how the word "Linux" should be pronounced, he included an audio guide () with the kernel source code.
However, in this recording, he pronounces 'Linux' ( ) with a short but close front unrounded vowel.
Commercial and popular uptake
Adoption of Linux in production environments, rather than being used only by hobbyists, started to take off first in the mid-1990s in the supercomputing community, where organizations such as
NASA
The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research.
NASA was established in 1958, succeedi ...
started to replace their increasingly expensive machines with
clusters of inexpensive commodity computers running Linux. Commercial use began when
Dell
Dell is an American based technology company. It develops, sells, repairs, and supports computers and related products and services. Dell is owned by its parent company, Dell Technologies.
Dell sells personal computers (PCs), servers, data ...
and
IBM, followed by
Hewlett-Packard, started offering Linux support to escape
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
's monopoly in the desktop operating system market.
Today, Linux systems are used throughout computing, from
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s to virtually all
supercomputers,
and have secured a place in
server installations such as the popular
LAMP application stack. Use of Linux distributions in home and enterprise desktops has been growing.
Linux distributions have also become popular in the
netbook
Netbook was a commonly used term that identified a product class of small and inexpensive laptops which were sold from 2007 to around 2013. These machines were designed primarily as cost-effective tools for consumers to access the Inte ...
market, with many devices shipping with customized Linux distributions installed, and Google releasing their own
ChromeOS
ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfac ...
designed for netbooks.
Linux's greatest success in the consumer market is perhaps the mobile device market, with
Android being the dominant operating system on
smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
s and very popular on
tablets and, more recently, on
wearables.
Linux gaming is also on the rise with
Valve
A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or slurries) by opening, closing, or partially obstructing various passageways. Valves are technically fitting ...
showing its support for Linux and rolling out
SteamOS, its own gaming-oriented Linux distribution, and later the
Steam Deck
The Steam Deck is a handheld gaming computer developed by Valve Corporation. Released on February 25, 2022, the Steam Deck can be played as a handheld or connected to a monitor in the same manner as the Nintendo Switch. It is an x86-64-v3 de ...
platform. Linux distributions have also gained popularity with various local and national governments, such as the federal government of
Brazil
Brazil ( pt, Brasil; ), officially the Federative Republic of Brazil (Portuguese: ), is the largest country in both South America and Latin America. At and with over 217 million people, Brazil is the world's fifth-largest country by area ...
.
Current development
Greg Kroah-Hartman
Greg Kroah-Hartman (GKH) is a major Linux kernel developer. he is the Linux kernel maintainer for the branch, the staging subsystem, USB, driver core, debugfs, kref, kobject, and the sysfs kernel subsystems, Userspace I/O (with Hans J. Koc ...
is the lead maintainer for the Linux kernel and guides its development.
William John Sullivan
William John Sullivan (more commonly known as John Sullivan; born December 6, 1976) is a software freedom activist, hacker, and writer. John was formerly executive director of the Free Software Foundation (FSF), where he has worked since early 20 ...
is the executive director of the Free Software Foundation, which in turn supports the GNU components. Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise a vast body of work and may include both kernel modules and user applications and libraries.
Linux vendors and communities combine and distribute the kernel, GNU components, and non-GNU components, with additional
package management software in the form of
Linux distribution
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading on ...
s.
Design
Many
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
developers agree that the Linux kernel was not designed but rather
evolved
Evolution is change in the heritable characteristics of biological populations over successive generations. These characteristics are the expressions of genes, which are passed on from parent to offspring during reproduction. Variation te ...
through
natural selection
Natural selection is the differential survival and reproduction of individuals due to differences in phenotype. It is a key mechanism of evolution, the change in the heritable traits characteristic of a population over generations. Cha ...
. Torvalds considers that although the design of Unix served as a scaffolding, "Linux grew with a lot of mutations – and because the mutations were less than random, they were faster and more directed than
alpha-particles in DNA."
Eric S. Raymond considers Linux's revolutionary aspects to be social, not technical: before Linux, complex software was designed carefully by small groups, but "Linux evolved in a completely different way. From nearly the beginning, it was rather casually hacked on by huge numbers of volunteers coordinating only through the Internet. Quality was maintained not by rigid standards or autocracy but by the naively simple strategy of releasing every week and getting feedback from hundreds of users within days, creating a sort of rapid Darwinian selection on the mutations introduced by developers."
Bryan Cantrill
Bryan M. Cantrill (born 1973) is an American software engineer who worked at Sun Microsystems and later at Oracle Corporation following its acquisition of Sun. He left Oracle on July 25, 2010 to become the Vice President of Engineering at Joyen ...
, an engineer of a competing OS, agrees that "Linux wasn't designed, it evolved", but considers this to be a limitation, proposing that some features, especially those related to security, cannot be evolved into, "this is not a biological system at the end of the day, it's a software system."
A Linux-based system is a modular
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system, deriving much of its basic design from principles established in Unix during the 1970s and 1980s. Such a system uses a
monolithic kernel
A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space. The monolithic model differs from other operating system architectures (such as the microkernel architecture) in that it alone d ...
, the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
, which handles process control, networking, access to the
peripheral
A peripheral or peripheral device is an auxiliary device used to put information into and get information out of a computer. The term ''peripheral device'' refers to all hardware components that are attached to a computer and are controlled by th ...
s, and
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
s.
Device drivers
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
are either integrated directly with the kernel, or added as modules that are loaded while the system is running.
The GNU
userland is a key part of most systems based on the Linux kernel, with Android being the notable exception. The Project's
implementation
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.
Industry-specific definitions
Computer science
In computer science, an implementation is a real ...
of the
C library
The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard. ISO/ IEC (2018). '' ISO/IEC 9899:2018(E): Programming Languages - C §7'' Starting from the original ANSI C standard, it wa ...
works as a wrapper for the
system call
In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, acc ...
s of the Linux kernel necessary to the kernel-userspace interface, the
toolchain
In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
is a broad collection of programming tools vital to Linux development (including the
compilers
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
used to build the Linux kernel itself), and the
coreutils
The GNU Core Utilities or coreutils is a package of GNU software containing implementations for many of the basic tools, such as cat, ls, and rm, which are used on Unix-like operating systems.
In September 2002, the ''GNU coreutils'' were c ...
implement many basic
Unix tools. The project also develops
Bash, a popular
CLI shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
** Thin-shell structure
Science Biology
* Seashell, a hard o ...
. The
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
(or GUI) used by most Linux systems is built on top of an implementation of the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
.
More recently, the Linux community seeks to advance to
Wayland as the new display server protocol in place of
X11. Many other open-source software projects contribute to Linux systems.
Installed components of a Linux system include the following:
* A
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
, for example
GNU GRUB
GNU GRUB (short for GNU GRand Unified Bootloader, commonly referred to as GRUB) is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a us ...
,
LILO
Lilo or LILO may refer to:
__NOTOC__ People
* Lilo (name), a list of people with the nickname or surname
* Lilo (footballer), Brazilian footballer Murilo Rufino Barbosa (born 1983)
* Lilo (actress), stage name of German-born French actress and s ...
,
SYSLINUX or
systemd-boot. This is a program that loads the Linux kernel into the computer's
main memory
Computer data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processing unit (CPU) of a comput ...
, by being executed by the computer when it is turned on and after the
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
initialization is performed.
* An
init
In Unix-based computer operating systems, init (short for ''initialization'') is the first process started during booting of the computer system. Init is a daemon process that continues running until the system is shut down. It is the direc ...
program, such as the traditional
sysvinit and the newer
systemd,
OpenRC
OpenRC is a dependency-based init system for Unix-like computer operating systems. It was created by Roy Marples, a NetBSD developer who was also active in the Gentoo project. It became more broadly adopted as an init system outside of Gentoo f ...
and
Upstart. This is the first
process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
*Business process, activities that produce a specific se ...
launched by the Linux kernel, and is at the root of the process tree: in other terms, all processes are launched through init. It starts processes such as system services and login prompts (whether graphical or in terminal mode).
*
Software libraries
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subro ...
, which contain code that can be used by running processes. On Linux systems using
ELF-format executable files, the
dynamic linker
In computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at " run time"), by copying the content of libraries from persistent storage to RAM, filli ...
that manages the use of dynamic libraries is known as
ld-linux.so. If the system is set up for the user to compile software themselves,
header file
Many programming languages and other computer files have a directive, often called include (sometimes copy or import), that causes the contents of the specified file to be inserted into the original file. These included files are called copybooks ...
s will also be included to describe the
interface
Interface or interfacing may refer to:
Academic journals
* ''Interface'' (journal), by the Electrochemical Society
* '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics''
* '' Int ...
of installed libraries. Besides the most commonly used software library on Linux systems, the
GNU C Library
The GNU C Library, commonly known as glibc, is the GNU Project's implementation of the C standard library. Despite its name, it now also directly supports C++ (and, indirectly, other programming languages). It was started in the 1980s by ...
(glibc), there are numerous other libraries, such as
SDL and
Mesa
A mesa is an isolated, flat-topped elevation, ridge or hill, which is bounded from all sides by steep escarpments and stands distinctly above a surrounding plain. Mesas characteristically consist of flat-lying soft sedimentary rocks capped by a ...
.
**
C standard library is the library needed to run
C programs on a computer system, with the GNU C Library being the standard. For embedded systems, alternatives such as the
musl,
EGLIBC (a glibc fork once used by Debian) and
uClibc
__NOTOC__
In computing, uClibc (sometimes written µClibc) is a small C standard library intended for Linux kernel-based operating systems for embedded systems and mobile devices. uClibc was written to support μClinux, a version of Linux not ...
(which was designed for
uClinux) have been developed, although the last two are no longer maintained. Android uses its own C library,
Bionic
Bionics or biologically inspired engineering is the application of biological methods and systems found in nature to the study and design of engineering systems and modern technology.
The word ''bionic'', coined by Jack E. Steele in August ...
.
* Basic Unix commands, with GNU coreutils being the standard implementation. Alternatives exist for embedded systems, such as the copyleft
BusyBox
BusyBox is a software suite that provides several Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android, and FreeBSD, although many of the tools it provides are designed to work with int ...
, and the BSD-licensed
Toybox
Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as '' ls'', '' cp'', and '' mv''. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for ...
.
*
Widget toolkit
A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs.
Most wid ...
s are the libraries used to build
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
s (GUIs) for software applications. Numerous widget toolkits are available, including
GTK and
Clutter
Clutter and its derivations may refer to any of the following:
Excessive physical disorder
* Clutter, a confusing, or disorderly, state or collection, and possible symptom of compulsive hoarding
* Clutter (marketing), numerous advertisements, ...
developed by the
GNOME project,
Qt developed by the
Qt Project
The Qt Project is an open collaboration effort to coordinate the development of the Qt software framework. Initially founded by Nokia in 2011, the project is now led by The Qt Company.
History
Haavard Nord and Eirik Chambe-Eng (the origin ...
and led by
The Qt Company
The Qt Company (pronounced "cute"; formerly Trolltech and Quasar Technologies) is a software company based in Espoo, Finland. It oversees the development of its Qt application framework within the Qt Project. It was formed following the acqui ...
, and
Enlightenment Foundation Libraries
The Enlightenment Foundation Libraries (EFL) are a set of graphics libraries that grew out of the development of Enlightenment, a window manager and Wayland compositor. The project's focus is to make the EFL a flexible yet powerful and easy to ...
(EFL) developed primarily by the
Enlightenment team.
* A
package management system
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals w ...
, such as
dpkg
dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives. dpkg is used to install, remove, and provide information about .deb packages.
dpkg (Debian Package) itself is a ...
and
RPM. Alternatively packages can be compiled from binary or source
tarballs.
* User interface programs such as command shells or windowing environments.
User interface
The
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
, also known as the
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
** Thin-shell structure
Science Biology
* Seashell, a hard o ...
, is either a
command-line interface (CLI), a
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
(GUI), or controls attached to the associated hardware, which is common for
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
. For desktop systems, the default user interface is usually graphical, although the CLI is commonly available through
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote ter ...
windows or on a separate
virtual console
A virtual console (VC) – also known as a virtual terminal (VT) – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some Unix-like operating systems such as Linux, BSD, illumos, Un ...
.
CLI shells are text-based user interfaces, which use text for both input and output. The dominant shell used in Linux is the
Bourne-Again Shell
Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been used as the default login shell for most Linux distributions. Bash was ...
(bash), originally developed for the
GNU project
The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing devi ...
. Most low-level Linux components, including various parts of the
userland, use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks and provides very simple
inter-process communication.
On desktop systems, the most popular user interfaces are the
GUI shell
In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), dependi ...
s, packaged together with extensive
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
s, such as
KDE Plasma,
GNOME,
MATE,
Cinnamon
Cinnamon is a spice obtained from the inner bark of several tree species from the genus '' Cinnamomum''. Cinnamon is used mainly as an aromatic condiment and flavouring additive in a wide variety of cuisines, sweet and savoury dishes, brea ...
,
LXDE
LXDE (abbreviation for Lightweight X11 Desktop Environment) is a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbo ...
,
Pantheon and
Xfce, though a variety of additional user interfaces exist. Most popular user interfaces are based on the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
, often simply called "X". It provides
network transparency
Network transparency, in its most general sense, refers to the ability of a protocol to transmit data over the network in a manner which is not observable (“ transparent” as in invisible) to those using the applications that are using the pro ...
and permits a graphical application running on one system to be displayed on another where a user may interact with the application; however, certain extensions of the X Window System are not capable of working over the network. Several X display servers exist, with the reference implementation,
X.Org Server, being the most popular.
Server distributions might provide a command-line interface for developers and administrators, but provide a custom interface towards end-users, designed for the use-case of the system. This custom interface is accessed through a client that resides on another system, not necessarily Linux based.
Several types of
window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunct ...
s exist for X11, including
tiling
Tiling may refer to:
*The physical act of laying tiles
*Tessellations
Computing
*The compiler optimization of loop tiling
* Tiled rendering, the process of subdividing an image by regular grid
*Tiling window manager
People
* Heinrich Sylvester ...
,
dynamic
Dynamics (from Greek δυναμικός ''dynamikos'' "powerful", from δύναμις ''dynamis'' " power") or dynamic may refer to:
Physics and engineering
* Dynamics (mechanics)
** Aerodynamics, the study of the motion of air
** Analytical dyna ...
,
stacking and
compositing
Compositing is the process or technique of combining visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously c ...
. Window managers provide means to control the placement and appearance of individual application windows, and interact with the X Window System. Simpler
X window manager
An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems.
Unlike MacOS Classic, macOS, and Microsoft Windows platforms (excepting Microsoft Windows explorer.exe sh ...
s such as
dwm,
ratpoison
ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. ratpoison is written in C; Betts' StumpWM re-implements a similar window manager in Common Lisp. The user interface and much of their functionalit ...
,
i3wm, or herbstluftwm provide a
minimalist
In visual arts, music and other media, minimalism is an art movement that began in post–World War II in Western art, most strongly with American visual arts in the 1960s and early 1970s. Prominent artists associated with minimalism include Do ...
functionality, while more elaborate window managers such as
FVWM
The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems.
History
In 1993, during his work analyzi ...
,
Enlightenment or
Window Maker provide more features such as a built-in
taskbar
A taskbar is an element of a graphical user interface which has various purposes. It typically shows which programs are currently running.
The specific design and layout of the taskbar varies between individual operating systems, but generally a ...
and
themes, but are still lightweight when compared to desktop environments. Desktop environments include window managers as part of their standard installations, such as
Mutter (GNOME),
KWin
KWin is a window manager for the X Window System and a Wayland compositor. It is released as a part of KDE Plasma 5, for which it is the default window manager. KWin can also be used on its own or with other desktop environments.
KWin can be c ...
(KDE) or
Xfwm (xfce), although users may choose to use a different window manager if preferred.
Wayland is a display server protocol intended as a replacement for the X11 protocol; , it has received relatively wide adoption. Unlike X11, Wayland does not need an external window manager and compositing manager. Therefore, a Wayland compositor takes the role of the display server, window manager and compositing manager. Weston is the reference implementation of Wayland, while GNOME's Mutter and KDE's KWin are being ported to Wayland as standalone display servers. Enlightenment has already been successfully ported since version 19.
Video input infrastructure
Linux currently has two modern kernel-userspace APIs for handling video input devices:
V4L2 API for video streams and radio, and
DVB API for digital TV reception.
Due to the complexity and diversity of different devices, and due to the large number of formats and standards handled by those APIs, this infrastructure needs to evolve to better fit other devices. Also, a good userspace device library is the key of the success for having userspace applications to be able to work with all formats supported by those devices.
Development
The primary difference between Linux and many other popular contemporary operating systems is that the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
and other components are
free and
open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Ope ...
. Linux is not the only such operating system, although it is by far the most widely used.
Some
free and
open-source software licenses are based on the principle of
copyleft
Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, ''freedoms'' refers to the use of the work for any purpose, ...
, a kind of reciprocity: any work derived from a copyleft piece of software must also be copyleft itself. The most common free software license, the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
(GPL), is a form of copyleft, and is used for the Linux kernel and many of the components from the
GNU Project
The GNU Project () is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing devi ...
.
Linux-based distributions are intended by developers for
interoperability
Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader def ...
with other operating systems and established computing standards. Linux systems adhere to
POSIX
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming inte ...
,
SUS
Sus or SUS may refer to:
Places
* Sus, Lachin, a village
* Sus, Pune, India, a neighborhood
*Sus, Pyrénées-Atlantiques, France, a commune
*Susch, Graubünden, Switzerland, a municipality formerly called Süs
People
* Martin Sus (footballer ...
,
LSB,
ISO, and
ANSI
The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organ ...
standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT.
Free software projects, although developed through
collaboration
Collaboration (from Latin ''com-'' "with" + ''laborare'' "to labor", "to work") is the process of two or more people, entities or organizations working together to complete a task or achieve a goal. Collaboration is similar to cooperation. Most ...
, are often produced independently of each other. The fact that the software licenses explicitly permit redistribution, however, provides a basis for larger-scale projects that collect the software produced by stand-alone projects and make it available all at once in the form of a Linux distribution.
Many Linux distributions manage a remote collection of system software and application software packages available for download and installation through a network connection. This allows users to adapt the operating system to their specific needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations, and commercial entities. A distribution is responsible for the default configuration of the installed Linux kernel, general system security, and more generally integration of the different software packages into a coherent whole. Distributions typically use a
package manager
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals w ...
such as
apt
Apt. is an abbreviation for apartment.
Apt may also refer to:
Places
* Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence
* Apt, Vaucluse, a commune of the Vaucluse département of France
* A ...
,
yum,
zypper
ZYpp (or libzypp; ''"Zen / YaST Packages Patches Patterns Products"'') is a package manager engine that powers Linux applications like YaST, Zypper and the implementation of PackageKit for openSUSE and SUSE Linux Enterprise. Unlike some more bas ...
,
pacman
originally called ''Puck Man'' in Japan, is a 1980 maze action video game developed and released by Namco for arcades. In North America, the game was released by Midway Manufacturing as part of its licensing agreement with Namco America. The ...
or
portage
Portage or portaging (Canada: ; ) is the practice of carrying water craft or cargo over land, either around an obstacle in a river, or between two bodies of water. A path where items are regularly carried between bodies of water is also called a ...
to install, remove, and update all of a system's software from one central location.
Community
A distribution is largely driven by its developer and user communities. Some vendors develop and fund their distributions on a volunteer basis,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
being a well-known example. Others maintain a community version of their commercial distributions, as
Red Hat does with
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
, and
SUSE
SUSE ( , ) is a German-based multinational open-source software company that develops and sells Linux products to business customers. Founded in 1992, it was the first company to market Linux for enterprise. It is the developer of SUSE Linux En ...
does with
openSUSE
openSUSE () is a free and open source RPM-based Linux distribution developed by the openSUSE project.
The initial release of the community project was a beta version of SUSE Linux 10.0.
Additionally the project creates a variety of tools, s ...
.
In many cities and regions, local associations known as
Linux User Groups (LUGs) seek to promote their preferred distribution and by extension free software. They hold meetings and provide free demonstrations, training, technical support, and operating system installation to new users. Many Internet communities also provide support to Linux users and developers. Most distributions and free software / open-source projects have
IRC chatrooms or
newsgroup
A Usenet newsgroup is a repository usually within the Usenet system, for messages posted from users in different locations using the Internet. They are discussion groups and are not devoted to publishing news. Newsgroups are technically distin ...
s.
Online forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are often longer than one line of text, and are at least temporar ...
s are another means for support, with notable examples being
LinuxQuestions.org and the various distribution specific support and community forums, such as ones for
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
,
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
, and
Gentoo. Linux distributions host
mailing lists; commonly there will be a specific topic such as usage or development for a given list.
There are several technology websites with a Linux focus. Print magazines on Linux often bundle
cover disks that carry software or even complete Linux distributions.
Although Linux distributions are generally available without charge, several large corporations sell, support, and contribute to the development of the components of the system and of
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
. An analysis of the Linux kernel in 2017 showed that well over 85% of the code developed by programmers who are being paid for their work, leaving about 8.2% to unpaid developers and 4.1% unclassified. Some of the major corporations that provide contributions include
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
,
Samsung
The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
,
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
,
AMD,
Oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The wor ...
and
Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
. A number of corporations, notably Red Hat,
Canonical
The adjective canonical is applied in many contexts to mean "according to the canon" the standard, rule or primary source that is accepted as authoritative for the body of knowledge or literature in that context. In mathematics, "canonical examp ...
and
SUSE
SUSE ( , ) is a German-based multinational open-source software company that develops and sells Linux products to business customers. Founded in 1992, it was the first company to market Linux for enterprise. It is the developer of SUSE Linux En ...
, have built a significant business around Linux distributions.
The
free software licenses
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
, on which the various software packages of a distribution built on the Linux kernel are based, explicitly accommodate and encourage commercialization; the relationship between a Linux distribution as a whole and individual vendors may be seen as
symbiotic. One common
business model
A business model describes how an organization creates, delivers, and captures value,''Business Model Generation'', Alexander Osterwalder, Yves Pigneur, Alan Smith, and 470 practitioners from 45 countries, self-published, 2010 in economic, soc ...
of commercial suppliers is charging for support, especially for business users. A number of companies also 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.
Another business model is to give away the software to sell hardware. This used to be the norm in the computer industry, with operating systems such as
CP/M,
Apple DOS
Apple DOS is the family of disk operating systems for the Apple II series of microcomputers from late 1978 through early 1983. It was superseded by ProDOS in 1983. Apple DOS has three major releases: DOS 3.1, DOS 3.2, and DOS 3.3; each one of ...
and versions of
Mac OS
Two major famlies of Mac operating systems were developed by Apple Inc.
In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded " ...
prior to 7.6 freely copyable (but not modifiable). As computer hardware standardized throughout the 1980s, it became more difficult for hardware manufacturers to profit from this tactic, as the OS would run on any manufacturer's computer that shared the same architecture.
Programming on Linux
Most
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
s support Linux either directly or through third-party community based
ports. The original development tools used for building both Linux applications and operating system programs are found within the
GNU toolchain
The GNU toolchain is a broad collection of programming tools produced by the GNU Project. These tools form a toolchain (a suite of tools used in a serial manner) used for developing software applications and operating systems.
The GNU toolchain ...
, which includes the
GNU Compiler Collection
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free sof ...
(GCC) and the
GNU Build System. Amongst others, GCC provides compilers for
Ada,
C,
C++,
Go and
Fortran. Many programming languages have a cross-platform reference implementation that supports Linux, for example
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
,
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
Python,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
Go,
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
and
Haskell. First released in 2003, the
LLVM
LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate repre ...
project provides an alternative cross-platform open-source compiler for many languages.
Proprietary compilers for Linux include the
Intel C++ Compiler
Intel oneAPI DPC++/C++ Compiler and Intel C++ Compiler Classic are Intel’s C, C++, SYCL, and Data Parallel C++ (DPC++) compilers for Intel processor-based systems, available for Windows, Linux, and macOS operating systems.
Overview
Intel ...
,
Sun Studio
Sun Studio is a recording studio opened by rock-and-roll pioneer Sam Phillips at 706 Union Avenue in Memphis, Tennessee, on January 3, 1950. It was originally called Memphis Recording Service, sharing the same building with the Sun Records label ...
, and
IBM XL C/C++ Compiler.
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
in the form of
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (c ...
is supported in such forms as
Gambas
Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a re ...
,
FreeBASIC
FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS ( DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no lon ...
, and
XBasic
XBasic is a variant of the BASIC programming language that was developed in the late 1980s for the Motorola 88000 CPU and Unix by Max Reason. In the early 1990s it was ported to Windows and Linux, and since 1999 it has been available as open so ...
, and in terms of terminal programming or
QuickBASIC
Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the ...
or
Turbo BASIC
PowerBASIC, formerly Turbo Basic, is the brand of several commercial compilers by PowerBASIC Inc. that compile a dialect of the BASIC programming language. There are both MS-DOS and Windows versions, and two kinds of the latter: Console and Wind ...
programming in the form of
QB64.
A common feature of Unix-like systems, Linux includes traditional specific-purpose programming languages targeted at
scripting, text processing and system configuration and management in general. Linux distributions support
shell scripts,
awk,
sed and
make. Many programs also have an embedded programming language to support configuring or programming themselves. For example,
regular expressions
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" o ...
are supported in programs like
grep
grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command ''g/re/p'' (''globally search for a regular expression and print matching lines''), which has the sa ...
and
locate, the traditional Unix
MTA Sendmail
Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and delivery methods, including the Simple Mail Transfer Protocol (SMTP) used for email transport over the Internet.
A descendant of the ...
contains its own
Turing complete
Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher, and theoretical biologist. Turing was highly influential in the development of theoretical co ...
scripting system, and the advanced text editor
GNU Emacs
GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship proje ...
is built around a general purpose
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
interpreter.
Most distributions also include support for
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
,
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
Python and other
dynamic languages. While not as common, Linux also supports
C# (via
Mono),
Vala, and
Scheme A scheme is a systematic plan for the implementation of a certain idea.
Scheme or schemer may refer to:
Arts and entertainment
* ''The Scheme'' (TV series), a BBC Scotland documentary series
* The Scheme (band), an English pop band
* ''The Schem ...
.
Guile Scheme acts as an
extension language
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scriptin ...
targeting the
GNU
GNU () is an extensive collection of free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any ...
system utilities, seeking to make the conventionally small,
static,
compiled C programs of
Unix design rapidly and dynamically extensible via an elegant,
functional
Functional may refer to:
* Movements in architecture:
** Functionalism (architecture)
** Form follows function
* Functional group, combination of atoms within molecules
* Medical conditions without currently visible organic basis:
** Functional s ...
high-level scripting system; many GNU programs can be compiled with optional Guile
bindings to this end. A number of
Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
s and development kits run on Linux, including the original Sun Microsystems JVM (
HotSpot
Hotspot, Hot Spot or Hot spot may refer to:
Places
* Hot Spot, Kentucky, a community in the United States
Arts, entertainment, and media Fictional entities
* Hot Spot (comics), a name for the DC Comics character Isaiah Crockett
* Hot Spot (Tra ...
), and IBM's J2SE RE, as well as many open-source projects like
Kaffe
Kaffe is a discontinued " clean room design" (reverse engineering) version of a Java Virtual Machine. It comes with a subset of the Java Platform, Standard Edition (Java SE), Java API, and tools needed to provide a Java runtime environment. Like ...
and
JikesRVM.
GNOME and
KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
are popular
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
s and provide a framework for developing applications. These projects are based on the
GTK and
Qt widget toolkit
A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs.
Most wid ...
s, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of
Integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
s available including
Anjuta,
Code::Blocks,
CodeLite
CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript ( Node.js) programming languages.
History
In August 2006, Eran Ifrah started an autocomplete project named CodeLite. The idea was to create a code completion library ...
,
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
,
Geany,
ActiveState Komodo
Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo ...
,
KDevelop
KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with buil ...
,
Lazarus,
MonoDevelop,
NetBeans
NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java ...
, and
Qt Creator
Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which ...
, while the long-established editors
Vim
Vim means enthusiasm and vigor. It may also refer to:
* Vim (cleaning product)
* Vim Comedy Company, a movie studio
* Vim Records
* Vimentin, a protein
* "Vim", a song by Machine Head on the album ''Through the Ashes of Empires''
* Vim (text ed ...
,
nano and
Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, ...
remain popular.
Hardware support
The Linux kernel is a widely
ported operating system kernel, available for devices ranging from mobile phones to supercomputers; it runs on a highly diverse range of
computer architecture
In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
s, including the hand-held
ARM-based
iPAQ
The iPAQ is a discontinued Pocket PC and personal digital assistant which was first unveiled by Compaq in April 2000.
HP's line-up of iPAQ devices included PDA-devices, smartphones and GPS-navigators. A substantial number of devices wer ...
and the
IBM mainframes
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
System z9
IBM System z9 is a line of IBM mainframe computers. The first models were available on September 16, 2005. The System z9 also marks the end of the previously used eServer zSeries naming convention. It was also the last mainframe compute ...
or
System z10. Specialized distributions and kernel forks exist for less mainstream architectures; for example, the
ELKS kernel
fork
In cutlery or kitchenware, a fork (from la, furca ' pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ...
can run on
Intel 8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allow ...
or
Intel 80286
The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non- multiplexed address and data buses and also the ...
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
microprocessors, while the
µClinux kernel fork may run on systems without a
memory management unit
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical ...
. The kernel also runs on architectures that were only ever intended to use a manufacturer-created operating system, such as
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
computers (with both
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
and
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
processors),
PDAs,
video game console
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to ...
s,
portable music players, and mobile phones.
There are several industry associations and hardware
conferences devoted to maintaining and improving support for diverse hardware under Linux, such as
FreedomHEC FreedomHEC (a play on WinHEC) was an "unconference" for computer hardware engineers and device driver developers that ran from 2006 to 2012. It focused on making computer hardware interoperate with free software and open source operating systems, ...
. Over time, support for different hardware has improved in Linux, resulting in any off-the-shelf purchase having a "good chance" of being compatible.
In 2014, a new initiative was launched to automatically collect a database of all tested hardware configurations.
Uses
Market share and uptake
Many quantitative studies of
free/open-source software focus on topics including market share and reliability, with numerous studies specifically examining Linux. The Linux market is growing, and the Linux operating system market size is expected to see a growth of 19.2% by 2027, reaching $15.64 billion, compared to $3.89 billion in 2019. Analysts and proponents attribute the relative success of Linux to its security, reliability, low cost, and freedom from
vendor lock-in
In economics, vendor lock-in, also known as proprietary lock-in or customer lock-in, makes a customer dependent on a vendor for products, unable to use another vendor without substantial switching costs.
The use of open standards and alternativ ...
.
; Desktops and laptops
: According to
web server statistics (that is, based on the numbers recorded from visits to websites by client devices), , the estimated market share of Linux on
desktop computer
A desktop computer (often abbreviated desktop) is a personal computer designed for regular use at a single location on or near a desk due to its size and power requirements. The most common configuration has a case that houses the power supply ...
s is around 2.5%. In comparison,
Microsoft Windows has a market share of around 75.5%, while
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
covers around 14.9%.
; Web servers
: W3Cook publishes stats that use the top 1,000,000 Alexa domains, which estimate that 96.55% of web servers run Linux, 1.73% run Windows, and 1.72% run FreeBSD.
:W3Techs publishes stats that use the top 10,000,000 Alexa domains and the top 1,000,000 Tranco domains, updated monthly and as of November 2020 estimate that Linux is used by 39% of the web servers, versus 21.9% being used by
Microsoft Windows. 40.1% used other types of
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
.
:
IDC's Q1 2007 report indicated that Linux held 12.7% of the overall server market at that time;
this estimate was based on the number of Linux servers sold by various companies, and did not include server hardware purchased separately that had Linux installed on it later.
; Mobile devices
: Android, which is based on the Linux kernel, has become the dominant operating system for
smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
s. In July 2022, 71.9% of smartphones accessing the internet worldwide used Android. Android is also a popular operating system for tablets, being responsible for more than 60% of tablet sales as of 2013. According to web server statistics, Android has a market share of about 71%, with
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
holding 28%, and the remaining 1% attributed to various niche platforms.
; Film production
: For years Linux has been the platform of choice in the film industry. The first major film produced on Linux servers was 1997's ''
Titanic
RMS ''Titanic'' was a British passenger liner, operated by the White Star Line, which sank in the North Atlantic Ocean on 15 April 1912 after striking an iceberg during her maiden voyage from Southampton, England, to New York City, Unite ...
''. Since then major studios including
DreamWorks Animation,
Pixar
Pixar Animation Studios (commonly known as Pixar () and stylized as P I X A R) is an American computer animation studio known for its critically and commercially successful computer animated feature films. It is based in Emeryville, Californ ...
,
Weta Digital, and
Industrial Light & Magic
Industrial Light & Magic (ILM) is an American motion picture visual effects company that was founded on May 26, 1975 by George Lucas. It is a division of the film production company Lucasfilm, which Lucas founded, and was created when he began ...
have migrated to Linux. According to the Linux Movies Group, more than 95% of the servers and desktops at large animation and visual effects companies use Linux.
; Use in government
: Linux distributions have also gained popularity with various local and national governments. News of the Russian military creating its own Linux distribution has also surfaced, and has come to fruition as the G.H.ost Project. The Indian state of
Kerala
Kerala ( ; ) is a state on the Malabar Coast of India. It was formed on 1 November 1956, following the passage of the States Reorganisation Act, by combining Malayalam-speaking regions of the erstwhile regions of Cochin, Malabar, South C ...
has gone to the extent of mandating that all state high schools run Linux on their computers.
China uses Linux exclusively as the operating system for its
Loongson
Loongson () is the name of a family of general-purpose, MIPS architecture-compatible microprocessors, as well as the name of the Chinese fabless company (Loongson Technology) that develops them. The processors are alternately called Godson proc ...
processor family to achieve technology independence. In Spain, some regions have developed their own Linux distributions, which are widely used in education and official institutions, like gnuLinEx in Extremadura and Guadalinex in Andalusia.
France
France (), officially the French Republic ( ), is a country primarily located in Western Europe. It also comprises of overseas regions and territories in the Americas and the Atlantic, Pacific and Indian Oceans. Its metropolitan ar ...
and
Germany
Germany, officially the Federal Republic of Germany (FRG),, is a country in Central Europe. It is the most populous member state of the European Union. Germany lies between the Baltic and North Sea to the north and the Alps to the sou ...
have also taken steps toward the adoption of Linux. North Korea's
Red Star OS
Red Star OS () is a North Korean Linux distribution, with development first starting in 1998 at the Korea Computer Center (KCC). Prior to its release, computers in North Korea typically used Red Hat Linux and later switched to a modified Windows ...
, developed since 2002, is based on a version of
Fedora Linux
Fedora Linux is a Linux distribution developed by the Fedora Project. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of open-source technologies. Fedora is the upstream (softwa ...
.
Copyright, trademark, and naming
Linux kernel is
licensed
A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit).
A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
(GPL), version 2. The GPL requires that anyone who distributes software based on source code under this license must make the originating source code (and any modifications) available to the recipient under the same terms. Other key components of a typical Linux distribution are also mainly licensed under the GPL, but they may use other licenses; many libraries use the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL), a more permissive variant of the GPL, and the
X.Org implementation of the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
uses the
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license co ...
.
Torvalds states that the Linux kernel will not move from version 2 of the GPL to version 3. He specifically dislikes some provisions in the new license which prohibit the use of the software in
digital rights management
Digital rights management (DRM) is the management of legal access to digital content. Various tools or technological protection measures (TPM) such as access control technologies can restrict the use of proprietary hardware and copyrighted work ...
. It would also be impractical to obtain permission from all the copyright holders, who number in the thousands.
A 2001 study of
Red Hat Linux
Red Hat Linux was a widely used commercial open-source Linux distribution created by Red Hat until its discontinuation in 2004.
Early releases of Red Hat Linux were called Red Hat Commercial Linux. Red Hat published the first non-beta release ...
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 person-years of development time. According to the study, if all this software had been developed by conventional
proprietary means, it would have cost about to develop in in the United States.
Most of the source code (71%) was written in the
C programming language
''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
, but many other languages were used, including
C++,
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
,
assembly language,
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
,
Python,
Fortran, and various
shell script
A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manip ...
ing 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
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
version 4.0 (etch, which was released in 2007). This distribution contained close to 283 million source lines of code, and the study estimated that it would have required about seventy three thousand man-years and cost (in dollars) to develop by conventional means.
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 him to have the trademark assigned to Torvalds, and, in 1997, the case was settled. The licensing of the trademark has since been handled by the
Linux Mark Institute (LMI). Torvalds has stated that he trademarked the name only to prevent someone else from using it. LMI originally charged a nominal sublicensing fee for use of the Linux name as part of trademarks, but later changed this in favor of offering a free, perpetual worldwide sublicense.
The
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ("s ...
(FSF) prefers ''GNU/Linux'' as the name when referring to the operating system as a whole, because it considers Linux distributions to be
variants
Variant may refer to:
In arts and entertainment
* ''Variant'' (magazine), a former British cultural magazine
* Variant cover, an issue of comic books with varying cover art
* ''Variant'' (novel), a novel by Robison Wells
* "The Variant", 2021 e ...
of the
GNU
GNU () is an extensive collection of free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any ...
operating system initiated in 1983 by
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to u ...
, president of the FSF.
They explicitly take no issue over the name Android for the Android OS, which is also an operating system based on the Linux kernel, as GNU is not a part of it.
A minority of public figures and software projects other than Stallman and the FSF, notably
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
(which had been sponsored by the FSF up to 1996), also use ''GNU/Linux'' when referring to the operating system as a whole.
Most media and common usage, however, refers to this family of operating systems simply as ''Linux'', as do many large Linux distributions (for example,
SUSE Linux and
Red Hat Enterprise Linux
Red Hat Enterprise Linux (RHEL) is a Commercial software, commercial Open-source software, open-source Linux distribution developed by Red Hat for the commerce, commercial market. Red Hat Enterprise Linux is released in server versions for x86-6 ...
). By contrast, Linux distributions containing only free software use "GNU/Linux" or simply "GNU", such as
Trisquel GNU/Linux,
Parabola GNU/Linux-libre,
BLAG Linux and GNU
BLAG Linux and GNU is a discontinued Linux distribution made by the Brixton Linux Action Group.
BLAG is a discontinued, single-CD distro with applications desktop users "expect" from a desktop including multimedia, graphics, desktop internet app ...
, and
gNewSense
gNewSense was a Linux distribution, active from 2006 to 2016. It was based on Debian, and developed with sponsorship from the Free Software Foundation. Its goal was user-friendliness, but with all proprietary (e.g. binary blobs) and non-free ...
.
, about 8% to 13% of the
lines of code
Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the program's source code. SLOC is typically used to predict the am ...
of the Linux distribution Ubuntu (version "Natty") is made of GNU components (the range depending on whether
GNOME is considered part of GNU); meanwhile, 6% is taken by the Linux kernel, increased to 9% when including its direct dependencies.
[ (]self-published
Self-publishing is the publication of media by its author at their own cost, without the involvement of a publisher. The term usually refers to written media, such as books and magazines, either as an ebook or as a physical copy using POD (pr ...
data)
See also
*
Comparison of Linux distributions
Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, includi ...
*
Comparison of open source and closed source
Free/ open-source software – the source availability model used by free and open-source software (FOSS) – and closed source are two approaches to the distribution of software.
Background
Under the ''closed-source'' model source code is ...
*
Comparison of operating systems
*
Comparison of X Window System desktop environments
*
Criticism of Linux
*
Linux Documentation Project
*
Linux From Scratch
*
Linux Software Map
*
List of Linux distributions
This page provides general information about notable Linux distributions in the form of a categorized list. Distributions are organized into sections by the major distribution or package management system they are based on.
RPM-based
Red Ha ...
*
List of games released on Linux
*
List of operating systems
This is a list of operating systems. Computer operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap. Criteria for inclusio ...
*
Loadable kernel module
In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and ...
*
Usage share of operating systems
The usage share of operating systems is the percentage of computing devices that run each operating system (OS) at any particular time. All such figures are necessarily estimates because data about operating system share is difficult to obtain. ...
*
Timeline of operating systems
This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.
1950s
* 1951
** LEO I 'Lyons Elect ...
Notes
References
External links
*
Graphical map of Linux InternalsLinux kernel website and archivesThe History of Linux in GIT Repository Format 1992–2010
{{Authority control
1991 software
Computing platforms
Cross-platform software
Finnish inventions
Free software programmed in C
Linus Torvalds
Operating systems
Unix variants