Linux
{{Short description|Family of Unix-like operating systems}}
{{About|the family of operating systems|the kernel|Linux kernel|other uses}}
{{pp-pc}}
{{Use mdy dates|date=May 2016}}
{{Use American English|date=October 2020}}
{{Infobox OS
| name = Linux (no automatically included version)
| title = Linux
| logo = Tux.svg
| logo_size = 150px
| logo caption = Tux the penguin, the mascot of Linux{{cite web | url = http://www.linux.org/info/logos.html | title = Linux Logos and Mascots |access-date=August 11, 2009 | last = Linux Online | year = 2008 | archive-url = https://web.archive.org/web/20100815085106/http://www.linux.org/info/logos.html | archive-date = August 15, 2010 }}
| logo_alt = Tux the penguin
| developer = Community contributors,
Linus Torvalds
| programmed in = C, assembly languages, Rust and others
| family = Unix-like
| working state = Current
| source model = Open source
| released = {{start date and age|1991|8|25}}
| latest release version =
| latest release date =
| latest preview version =
| latest preview date =
| repo = {{URL|https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/}}
| marketing target = Cloud computing, embedded devices, mainframe computers, mobile devices, personal computers, servers, supercomputers
| language = Multilingual
| updatemodel =
| supported platforms = Alpha, ARC, ARM, C-Sky, Hexagon, LoongArch, m68k, Microblaze, MIPS, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, x86, Xtensa
| kernel type = Monolithic
| userland = util-linux by standard,{{Efn|util-linux is the standard set of utilities for use as part of the Linux operating system.{{cite web|url=https://github.com/util-linux|title=The util-linux code repository.|website=GitHub|access-date=October 31, 2024}}}} various alternatively, such as Busybox,{{Efn|BusyBox is a userland written with size-optimization and limited resources in mind, used in many embedded Linux distributions. BusyBox replaces most GNU Core Utilities.{{cite web|url=https://busybox.net/about.html|title=The Busybox about page|website=busybox.net|access-date=November 30, 2021|archive-date=November 27, 2021|archive-url=https://web.archive.org/web/20211127134347/https://busybox.net/about.html|url-status=live}} One notable Desktop distribution using BusyBox is Alpine Linux.{{cite web|url=https://alpinelinux.org/about/|title=The Alpine Linux about page|website=alpinelinux.org|access-date=November 30, 2021|archive-date=May 8, 2011|archive-url=https://web.archive.org/web/20110508001131/https://alpinelinux.org/about/|url-status=live}}}} GNU,{{Efn|GNU is a userland used in various Linux distributions.{{cite web |url=http://www.linux.org/threads/gnu-userland.7429/ |title=GNU Userland |date=April 10, 2012 |archive-url=https://web.archive.org/web/20160308205852/http://www.linux.org/threads/gnu-userland.7429/ |archive-date=March 8, 2016}}{{cite web |url=http://cyborginstitute.org/projects/administration/unix-fundamentals/ |title=Unix Fundamentals — System Administration for Cyborgs |archive-url=https://web.archive.org/web/20161005114243/http://cyborginstitute.org/projects/administration/unix-fundamentals/ |archive-date=October 5, 2016}}{{cite web|url=http://openbookproject.net/courses/intro2ict/system/os_intro.html|title=Operating Systems — Introduction to Information and Communication Technology|url-status=live|archive-url=https://web.archive.org/web/20160221222415/http://openbookproject.net/courses/intro2ict/system/os_intro.html|archive-date=February 21, 2016}} The GNU userland contains system daemons, user applications, the GUI, and various libraries. GNU Core Utilities are an essential part of most distributions. Most Linux distributions use the X Window system.{{cite web|url=http://www.tldp.org/FAQ/Linux-FAQ/x-windows.html|title=The X Window System|url-status=live|archive-url=https://web.archive.org/web/20160120234827/http://tldp.org/FAQ/Linux-FAQ/x-windows.html|archive-date=January 20, 2016}} Other components of the userland, such as the widget toolkit, vary with the specific distribution, desktop environment, and user configuration.{{cite web|url=http://pclosmag.com/html/issues/201109/page08.html|title=PCLinuxOS Magazine – HTML|url-status=dead|archive-url=https://web.archive.org/web/20130515020543/http://pclosmag.com/html/Issues/201109/page08.html|archive-date=May 15, 2013}}}} Plan 9 from User Space{{Efn|Plan 9 from User Space (aka plan9port) is a port of many Plan 9 libraries and programs from their native Plan 9 environment to Unix-like operating systems, including Linux and FreeBSD.{{cite web|title = Plan 9 from User Space| url=https://9fans.github.io/plan9port/ |access-date = 31 October 2024}}{{cite web|title = The Plan 9 from User Space code repository| website=GitHub | url=https://github.com/9fans/plan9port |access-date = 31 October 2024}}}} and Toybox{{Efn|Toybox is a userland that combines over 200 Unix command line utilities together into a single BSD-licensed executable. After a talk at the 2013 Embedded Linux Conference, Google merged toybox into AOSP and began shipping toybox in Android Marshmallow in 2015.{{cite web|url = http://www.landley.net/toybox/about.html|title = What is ToyBox?|work = Toybox project website|last = Landley|first = Robert|access-date = 31 October 2024|archive-date = November 5, 2023|archive-url = https://web.archive.org/web/20231105142556/http://www.landley.net/toybox/about.html|url-status = live}}}}
| ui = {{ubl|Most distributions include a desktop environment (GUI).}}
| license = GPLv2{{cite web |url=https://www.kernel.org/category/faq.html |title=The Linux Kernel Archives: Frequently asked questions |website=kernel.org |date=September 2, 2014 |access-date=September 4, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150905100143/https://www.kernel.org/category/faq.html |archive-date=September 5, 2015}}{{Efn|The name "Linux" itself is a trademark owned by Linus Torvalds{{cite web |url = http://assignments.uspto.gov/assignments/q?db=tm&rno=1916230 |title = U.S. Reg No: 1916230 |publisher = United States Patent and Trademark Office |access-date = April 1, 2006 |url-status=live |archive-url = https://web.archive.org/web/20130624203325/http://assignments.uspto.gov/assignments/q?db=tm&rno=1916230 |archive-date = June 24, 2013 |df = mdy-all }} and administered by the Linux Mark Institute.}}
| other_articles = Linux kernel
Linux distribution
}}
Linux ({{IPAc-en||ˈ|l|ɪ|n|ʊ|k|s}} {{respell|LIN|uuks}}){{ cite newsgroup |newsgroup= comp.os.linux | title = Re: How to pronounce Linux? |message-id= 1992Apr23.123216.22024@klaava.Helsinki.FI | date = April 23, 1992 |access-date=January 9, 2007 | url=https://groups.google.com/d/msg/comp.os.linux/L_TTOib3_08/yOG2vLtsp1MJ}} is a family of open source Unix-like operating systems based on the Linux kernel,{{ cite book | last = Eckert | first = Jason W. | year = 2012 | title = Linux+ Guide to Linux Certification | edition = Third | publisher = Cengage Learning | place = Boston, Massachusetts | page = 33 | isbn = 978-1111541538 | url = https://books.google.com/books?id=EHLH4S78LmsC&pg=PA33 | access-date = April 14, 2013 | quote = The shared commonality of the kernel is what defines a system's membership in the Linux family; the differing OSS applications that can interact with the common kernel are what differentiate Linux distributions. | url-status=live | archive-url = https://web.archive.org/web/20130509031220/http://books.google.com/books?id=EHLH4S78LmsC&pg=PA33 | archive-date = May 9, 2013 | df = mdy-all }} an operating system kernel first released on September 17, 1991, by Linus Torvalds.{{cite web | title = Twenty Years of Linux according to Linus Torvalds | url = https://www.zdnet.com/article/twenty-years-of-linux-according-to-linus-torvalds/ | publisher = ZDNet | date = April 13, 2011 | access-date = September 19, 2016 | url-status=live | archive-url = https://web.archive.org/web/20160919232940/http://www.zdnet.com/article/twenty-years-of-linux-according-to-linus-torvalds/ | archive-date = September 19, 2016 | df = mdy-all }}{{cite newsgroup | title = Free minix-like kernel sources for 386-AT | author = Linus Benedict Torvalds | date = October 5, 1991 | newsgroup = comp.os.minix | url = https://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b?pli=1 | access-date = September 30, 2011 | archive-date = March 2, 2013 | archive-url = https://web.archive.org/web/20130302010902/http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b?pli=1 | url-status = live }}{{cite web | title = What Is Linux: An Overview of the Linux Operating System | url = https://medium.com/@theinfovalley097/what-is-linux-an-overview-of-the-linux-operating-system-77bc7421c7e5?sk=b80b38575284317290c86e56001e43b1 | publisher = Medium | access-date = December 21, 2019 | df = mdy-all | archive-date = June 12, 2020 | archive-url = https://web.archive.org/web/20200612030853/https://medium.com/@theinfovalley097/what-is-linux-an-overview-of-the-linux-operating-system-77bc7421c7e5?sk=b80b38575284317290c86e56001e43b1 | url-status = live }} Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries—most of which are provided by third parties—to create a complete operating system, designed as a clone of Unix and released under the copyleft GPL license.{{Cite web |date=October 8, 1998 |title=Mac, Windows And Now, Linux |url=https://archive.nytimes.com/www.nytimes.com/library/tech/98/10/circuits/articles/08linu.html |access-date=2024-12-04 |website=The New York Times}}
Thousands of Linux distributions exist, many based directly or indirectly on other distributions;{{Cite web |title=Major Distributions An overview of major Linux distributions and FreeBSD |url=https://distrowatch.com/dwres.php?resource=major |website=Distrowatch |access-date=November 15, 2024 |archive-date=April 2, 2013 |archive-url=https://web.archive.org/web/20130402195650/http://distrowatch.com/dwres.php?resource=major |url-status=live }}{{Cite web |last=Andrus |first=Brian |date=2024-07-08 |title=Top 12 Most Popular Linux Distros |url=https://www.dreamhost.com/blog/linux-distros/ |access-date=2024-11-15 |website=DreamHost Blog |language=en-US}} popular Linux distributions{{cite web |last=DistroWatch |title=DistroWatch.com: Put the fun back into computing. Use Linux, BSD. |url=http://distrowatch.com/dwres.php?resource=major |url-status=dead |archive-url=https://web.archive.org/web/20130402195650/http://distrowatch.com/dwres.php?resource=major |archive-date=April 2, 2013 |access-date=2016-12-30 |website=distrowatch.com}}{{Cite news |last=himanshu |first=Swapnil |title=Best Linux distros of 2016: Something for everyone |url=https://www.linux.com/news/best-linux-distros-2016/ |url-status=live |archive-url=https://web.archive.org/web/20161231170119/http://www.cio.com/article/3023349/linux/best-linux-distros-of-2016-something-for-everyone.html |archive-date=December 31, 2016 |access-date=2022-02-01 |newspaper=CIO}}{{cite web |title=10 Top Most Popular Linux Distributions of 2016 |url=http://www.tecmint.com/top-best-linux-distributions-2016/ |url-status=live |archive-url=https://web.archive.org/web/20161230141717/http://www.tecmint.com/top-best-linux-distributions-2016/ |archive-date=December 30, 2016 |access-date=2016-12-30 |website=www.tecmint.com}} include Debian, Fedora Linux, Linux Mint, Arch Linux, and Ubuntu, while commercial distributions include Red Hat Enterprise Linux, SUSE Linux Enterprise, and ChromeOS. Linux distributions are frequently used in server platforms.{{Cite web |last=Ha |first=Dan |date=2023-02-28 |title=9 reasons Linux is a popular choice for servers |url=https://www.logicmonitor.com/blog/9-reasons-linux-is-a-popular-choice-for-servers |access-date=2024-12-11 |website=LogicMonitor |language=en-US}}{{Cite web |title=Linux OS on IBM Z Mainframe |url=https://www.ibm.com/z/linux |access-date=2024-12-11 |website=www.ibm.com |language=en}} Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.{{cite web |title=Linux and the GNU System |url=https://www.gnu.org/gnu/linux-and-gnu.html |url-status=live |archive-url=https://web.archive.org/web/20170319145123/http://www.gnu.org/gnu/linux-and-gnu.html |archive-date=March 19, 2017 |access-date=September 1, 2013 |publisher=Gnu.org |df=mdy-all}} Other than the Linux kernel, key components that make up a distribution may include a display server (windowing system), a package manager, a bootloader and a Unix shell.
Linux is one of the most prominent examples of free and open-source software collaboration. While originally developed for x86 based personal computers, it has since been ported to more platforms than any other operating system,{{cite news |author=Barry Levine |date=August 26, 2013 |title=Linux' {{sic|22|th|nolink=yes}} Birthday Is Commemorated – Subtly – by Creator |url=http://www.cmswire.com/cms/information-management/linux-22th-birthday-is-commemorated-subtly-by-creator-022244.php |url-status=live |archive-url=https://web.archive.org/web/20150518155152/http://www.cmswire.com/cms/information-management/linux-22th-birthday-is-commemorated-subtly-by-creator-022244.php |archive-date=May 18, 2015 |access-date=May 10, 2015 |publisher=Simpler Media Group, Inc |quote="Originally developed for Intel x86-based PCs, Torvalds' "hobby" has now been released for more hardware platforms than any other OS in history."}} and is used on a wide variety of devices including PCs, workstations, mainframes and embedded systems. Linux is the predominant operating system for servers and is also used on all of the world's 500 fastest supercomputers.{{Efn|As measured by the TOP500 list, which uses HPL to measure computational power}} When combined with Android, which is Linux-based and designed for smartphones, they have the largest installed base of all general-purpose operating systems.{{TOC limit}}
Overview
The Linux kernel was designed by Linus Torvalds, following the lack of a working kernel for GNU, a Unix-compatible operating system made entirely of free software that had been undergoing development since 1983 by Richard Stallman. A working Unix system called Minix was later released but its license was not entirely free at the time and it was made for an educative purpose. The first entirely free Unix for personal computers, 386BSD, did not appear until 1992, by which time Torvalds had already built and publicly released the first version of the Linux kernel on the Internet.{{Cite web |url=https://dl.acm.org/doi/fullHtml/10.5555/324785.324786 |access-date=2024-11-21 |website=dl.acm.org |title=The Humble Beginnings of Linux |first1=Randolph |last1=Bentson }} Like GNU and 386BSD, Linux did not have any Unix code, being a fresh reimplementation, and therefore avoided the then legal issues.{{Cite web |title=History of Unix, BSD, GNU, and Linux – CrystalLabs — Davor Ocelic's Blog |url=https://crystallabs.io/unix-bsd-gnu-linux-history/#386bsd |access-date=2024-11-22 |website=crystallabs.io |language=en |archive-date=November 22, 2024 |archive-url=https://web.archive.org/web/20241122010255/https://crystallabs.io/unix-bsd-gnu-linux-history/#386bsd |url-status=live }} Linux distributions became popular in the 1990s and effectively made Unix technologies accessible to home users on personal computers whereas previously it had been confined to sophisticated workstations.{{Cite news |date=May 22, 1995 |title=LINUX: UNIX POWER FOR PEANUTS |url=https://www.washingtonpost.com/archive/business/1995/05/22/linux-unix-power-for-peanuts/4bfe23ec-12bc-4a88-b336-b4820df2235a/ |newspaper=Washington Post}}
Desktop Linux distributions include a windowing system such as X11 or Wayland and a desktop environment such as GNOME, KDE Plasma or Xfce. Distributions intended for servers may not have a graphical user interface at all or include a solution stack such as LAMP.
The source code of Linux 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 (GPL). The license means creating novel distributions is permitted by anyone{{Cite web |title=What is Linux? |url=https://opensource.com/resources/linux |url-status=live |archive-url=https://web.archive.org/web/20200513110848/https://opensource.com/resources/linux |archive-date=May 13, 2020 |access-date=2020-05-12 |website=Opensource.com |language=en}} and is easier than it would be for an operating system such as MacOS or Microsoft Windows.{{Cite web |title=Various Licenses and Comments about Them – GNU Project – Free Software Foundation |url=https://www.gnu.org/licenses/license-list.en.html |access-date=2024-11-15 |website=www.gnu.org |archive-date=July 20, 2017 |archive-url=https://web.archive.org/web/20170720140022/https://www.gnu.org/licenses/license-list.en.html |url-status=live }}{{Cite web |title=GNU General Public License |url=https://www.gnu.org/licenses/gpl-3.0.html |website=GNU.org |access-date=November 15, 2024 |archive-date=February 5, 2021 |archive-url=https://web.archive.org/web/20210205145710/http://www.gnu.org/licenses/gpl-3.0.html |url-status=live }}{{Cite web |last=Casad |first=Joe |title=Copyleft » Linux Magazine |url=https://www.linux-magazine.com/Issues/2017/200/The-GPL-and-the-birth-of-a-revolution |access-date=2024-11-15 |website=Linux Magazine |language=en-US |archive-date=October 14, 2024 |archive-url=https://web.archive.org/web/20241014052627/https://www.linux-magazine.com/Issues/2017/200/The-GPL-and-the-birth-of-a-revolution |url-status=live }} The Linux kernel, for example, is licensed under the GPLv2, with an exception for system calls that allows code that calls the kernel via system calls not to be licensed under the GPL.{{cite web |title=Linux kernel licensing rules |url=https://www.kernel.org/doc/html/v4.18/process/license-rules.html |url-status=live |archive-url=https://web.archive.org/web/20220906145357/https://www.kernel.org/doc/html/v4.18/process/license-rules.html |archive-date=September 6, 2022 |access-date=June 17, 2022 |work=Linux kernel documentation}}{{GitHub|https://github.com/torvalds/linux/blob/master/LICENSES/exceptions/Linux-syscall-note}}
Because of the dominance of Linux-based Android on smartphones, Linux, including Android, has the largest installed base of all general-purpose operating systems {{as of|2022|5|lc=y}}.{{Cite web |title=Operating System Market Share Worldwide |url=https://gs.statcounter.com/os-market-share |url-status=live |archive-url=https://web.archive.org/web/20200215213114/https://gs.statcounter.com/os-market-share |archive-date=February 15, 2020 |access-date=October 18, 2020 |website=StatCounter Global Stats}}{{cite web |last=McPherson |first=Amanda |date=December 13, 2012 |title=What a Year for Linux: Please Join us in Celebration |url=http://www.linuxfoundation.org/news-media/blogs/browse/2012/12/what-year-linux-please-join-us-celebration |url-status=dead |archive-url=https://web.archive.org/web/20140417232521/http://www.linuxfoundation.org/news-media/blogs/browse/2012/12/what-year-linux-please-join-us-celebration |archive-date=April 17, 2014 |access-date=April 16, 2014 |publisher=Linux Foundation}}{{cite web |last=Linux Devices |date=November 28, 2006 |title=Trolltech rolls "complete" Linux smartphone stack |url=http://www.linuxfordevices.com/c/a/News/Trolltech-rolls-complete-Linux-smartphone-stack/ |url-status=dead |archive-url=https://archive.today/20120525231448/http://www.linuxfordevices.com/c/a/News/Trolltech-rolls-complete-Linux-smartphone-stack/ |archive-date=May 25, 2012 |access-date=January 12, 2017}} Linux is, {{as of|2024|3|lc=y}}, used by around 4 percent of desktop computers.{{cite web |title=Desktop Operating System Market Share Worldwide |url=https://gs.statcounter.com/os-market-share/desktop/ |url-status=live |archive-url=https://web.archive.org/web/20240321183908/https://gs.statcounter.com/os-market-share/desktop/worldwide |archive-date=March 21, 2024 |access-date=March 23, 2024 |website=StatCounter Global Stats}} The Chromebook, which runs the Linux kernel-based ChromeOS,{{Cite web |title=ChromeOS Kernel |url=https://kernel-recipes.org/en/2022/wp-content/uploads/2022/06/ricardo.pdf |website=kernel-recipes.org}}{{Cite web |date=2010-06-30 |title=How the Google Chrome OS Works |url=https://computer.howstuffworks.com/google-chrome-os.htm |access-date=2024-12-11 |website=HowStuffWorks |language=en-us}} dominates the US K–12 education market and represents nearly 20 percent of sub-$300 notebook sales in the US.{{cite web |author=Steven J. Vaughan-Nichols |title=Chromebook shipments leap by 67 percent |url=https://www.zdnet.com/article/chromebook-shipments-leap-by-67-percent/ |url-status=live |archive-url=https://web.archive.org/web/20150929055809/http://www.zdnet.com/article/chromebook-shipments-leap-by-67-percent/ |archive-date=September 29, 2015 |access-date=September 29, 2015 |work=ZDNet}} Linux is the leading operating system on servers (over 96.4% of the top one million web servers' operating systems are Linux),{{cite web |title=OS Market Share and Usage Trends |url=http://www.w3cook.com/os/summary/ |archive-url=https://web.archive.org/web/20150806093859/http://www.w3cook.com/os/summary |archive-date=6 August 2015 |website=W3Cook.com}} leads other big iron systems such as mainframe computers,{{Clarify|date=December 2024|reason=Some IBM mainframes run Linux; does this mean it leads other OSes that run on mainframes, or does it mean that Linux on commodity hardware leads mainframes regardless of whether the mainframes run Linux or z/OS or...}}{{cite web |last=Thibodeau |first=Patrick |year=2009 |title=IBM's newest mainframe is all Linux |url=https://www.computerworld.com/article/2521639/ibm-s-newest-mainframe-is-all-linux.html |archive-url=https://web.archive.org/web/20161111053745/http://www.computerworld.com/article/2521639/computer-hardware/ibm-s-newest-mainframe-is-all-linux.html |archive-date=November 11, 2016 |access-date=February 22, 2009 |publisher=Computerworld |publication-date=December 9, 2009}} and is used on all of the world's 500 fastest supercomputers{{Efn|As measured by the TOP500 list, which uses HPL to measure computational power}} ({{as of|November 2017|lc=true}}, having gradually displaced all competitors).{{cite web |last=Vaughan-Nichols |first=Steven J. |year=2017 |title=Linux totally dominates supercomputers |url=https://www.zdnet.com/article/linux-totally-dominates-supercomputers/ |archive-url=https://web.archive.org/web/20171114211600/http://www.zdnet.com/article/linux-totally-dominates-supercomputers/ |archive-date=November 14, 2017 |access-date=October 25, 2018 |publisher=ZDNet |publication-date=November 14, 2017}}{{cite news |last=Lyons |first=Daniel |date=March 15, 2005 |title=Linux rules supercomputers |url=https://www.forbes.com/2005/03/15/cz_dl_0315linux.html |url-status=live |archive-url=https://web.archive.org/web/20070224235804/http://www.forbes.com/home/enterprisetech/2005/03/15/cz_dl_0315linux.html |archive-date=February 24, 2007 |access-date=February 22, 2007 |work=Forbes |df=mdy-all}}
Linux also runs on embedded systems, i.e., devices whose operating system is typically built into the firmware and is highly tailored to the system. This includes routers, automation controls, smart home devices, video game consoles, televisions (Samsung and LG smart TVs),{{cite web |author=Eric Brown |date=Mar 29, 2019 |title=Linux continues advance in smart TV market |url=http://linuxgizmos.com/linux-continues-advance-in-smart-tv-market/ |url-status=live |archive-url=https://web.archive.org/web/20200629105311/http://linuxgizmos.com/linux-continues-advance-in-smart-tv-market/ |archive-date=June 29, 2020 |access-date=May 15, 2020 |website=linuxgizmos.com}}{{cite web |title=Sony Open Source Code Distribution Service |url=http://products.sel.sony.com/opensource/ |url-status=dead |archive-url=https://web.archive.org/web/20111004171109/http://products.sel.sony.com/opensource/ |archive-date=October 4, 2011 |access-date=October 8, 2011 |publisher=Sony Electronics |df=mdy-all}}{{cite web |title=Sharp Liquid Crystal Television Instruction Manual |url=http://files.sharpusa.com/Downloads/ForHome/HomeEntertainment/LCDTVs/Manuals/Archive/tel_man_LC32_37_42HT3U.pdf |url-status=dead |archive-url=https://web.archive.org/web/20120111111044/http://files.sharpusa.com/Downloads/ForHome/HomeEntertainment/LCDTVs/Manuals/Archive/tel_man_LC32_37_42HT3U.pdf |archive-date=January 11, 2012 |access-date=October 8, 2011 |publisher=Sharp Electronics |page=24 |df=mdy-all}} automobiles (Tesla, Audi, Mercedes-Benz, Hyundai, and Toyota),{{cite web |author=Steven J. Vaughan-Nichols |date=January 4, 2019 |title=It's a Linux-powered car world |url=https://www.zdnet.com/article/its-a-linux-powered-car-world/ |url-status=live |archive-url=https://web.archive.org/web/20200803053324/https://www.zdnet.com/article/its-a-linux-powered-car-world/ |archive-date=August 3, 2020 |access-date=May 15, 2020 |website=ZDNet}} and spacecraft (Falcon 9 rocket, Dragon crew capsule, and the Ingenuity Mars helicopter).{{Cite web |title=From Earth to orbit with Linux and SpaceX |url=https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex/ |url-status=live |archive-url=https://web.archive.org/web/20200803060356/https://www.zdnet.com/google-amp/article/from-earth-to-orbit-with-linux-and-spacex/ |archive-date=August 3, 2020 |access-date=June 6, 2020 |website=ZDNet}}{{Cite web |date=August 18, 2021 |title=Linux on Mars! |url=https://www.itpro.com/software/linux/360542/linux-on-mars |url-status=live |archive-url=https://web.archive.org/web/20220519145641/https://www.itpro.com/software/linux/360542/linux-on-mars |archive-date=May 19, 2022 |access-date=2022-06-30 |website=IT PRO |language=en}}
History
{{Main|History of Linux}}
= Precursors =
File:Linus Torvalds (cropped).jpg, principal author of the Linux kernel ]]
The Unix operating system was conceived of and implemented in 1969, at AT&T's Bell Labs in the United States, by Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna.{{Citation| title = The UNIX System: The Evolution of the UNIX Time-sharing System| last = Ritchie| first = D.M.| journal = AT&T Bell Laboratories Technical Journal| volume = 63| number = 8| date = October 1984| page = 1577| doi = 10.1002/j.1538-7305.1984.tb00054.x| s2cid = 571269| quote = However, UNIX was born in 1969 ...}} 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 (except for some hardware and I/O routines). The availability of a high-level language implementation of Unix made its porting to different computer platforms easier.{{cite web|url=https://opensource.com/article/17/9/open-source-licensing|title=Open source licensing: What every technologist should know|last=Meeker|first=Heather|date=September 21, 2017|website=Opensource.com|archive-url=https://web.archive.org/web/20170924185302/https://opensource.com/article/17/9/open-source-licensing|archive-date=September 24, 2017|url-status=live|access-date=September 24, 2017}}
As a 1956 antitrust case forbade AT&T from entering the computer business,{{cite web|url=https://www.latimes.com/archives/la-xpm-1995-09-21-fi-48462-story.html|title=AT&T Breakup II: Highlights in the History of a Telecommunications Giant|work=Los Angeles Times|date=September 21, 1995 }} AT&T provided the operating system's source code to anyone who asked. As a result, Unix use grew quickly and it 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.{{cite book | author = Michael Vetter | date = 10 August 2021 | title = Acquisitions and Open Source Software Development | publisher = Springer Nature | page = 13 | isbn = 978-3-658-35084-0 | url = https://books.google.com/books?id=L_Q8EAAAQBAJ | access-date = 5 August 2022 | archive-date = August 5, 2022 | archive-url = https://web.archive.org/web/20220805143225/https://books.google.com/books?id=L_Q8EAAAQBAJ | url-status = live }}{{cite book | author = Christopher Tozzi | date = 11 August 2017 | title = For Fun and Profit: A History of the Free and Open Source Software Revolution | publisher = MIT Press | page = 52 | isbn = 978-0-262-03647-4 | url = https://books.google.com/books?id=MXosDwAAQBAJ | access-date = 5 August 2022 | archive-date = August 5, 2022 | archive-url = https://web.archive.org/web/20220805143226/https://books.google.com/books?id=MXosDwAAQBAJ | url-status = live }}
Onyx Systems began selling early microcomputer-based Unix workstations in 1980. Later, Sun Microsystems, founded as a spin-off of a student project at Stanford University, also began selling Unix-based desktop workstations in 1982. While Sun workstations did not use commodity PC hardware, for which Linux was later originally developed, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system.{{cite book |url=https://www.oreilly.com/library/view/the-cathedral/0596001088/ch01.html |title=The Cathedral and the Bazaar |first=S. Raymond |last=Eric |publisher=O'Reilly & Associates, Inc |location=Sebastopol, California |page=12 |isbn=0-596-00108-8 |date=October 1999 |access-date=July 21, 2022 |quote=In 1982, a group of Unix hackers from Stanford and Berkeley founded Sun Microsystems on the belief that Unix running on relatively inexpensive 68000-based hardware would prove a winning combination for a wide variety of applications. They were right, and their vision set the pattern for an entire industry. While still priced out of reach of most individuals, workstations were cheap for corporations and universities; networks of them (one to a user) rapidly replaced the older VAXes and other time-sharing systems |archive-date=July 18, 2022 |archive-url=https://web.archive.org/web/20220718070144/https://www.oreilly.com/library/view/the-cathedral/0596001088/ch01.html |url-status=live }}{{cite news |url=https://www.latimes.com/archives/la-xpm-1988-01-31-fi-39535-story.html |title=Sun Microsystems Is Blazing a Red-Hot Trail in Computers: $300-Million AT&T; Deal Moves Firm to Set Sights on IBM |first=Carla |last=Lazzareschi |newspaper=Los Angeles Times |date=January 31, 1988 |access-date=July 21, 2022 |archive-date=July 21, 2022 |archive-url=https://web.archive.org/web/20220721100144/https://www.latimes.com/archives/la-xpm-1988-01-31-fi-39535-story.html |url-status=live }}
With Unix increasingly "locked in" as a proprietary product, the GNU Project, started in 1983 by Richard Stallman, had the goal of creating a "complete Unix-compatible software system" composed entirely of free software. Work began in 1984.{{cite web |url=https://www.gnu.org/gnu/initial-announcement.html |title=About the GNU Project – Initial Announcement |publisher=Gnu.org |date=June 23, 2008 |access-date=March 9, 2009 |url-status=live |archive-url=https://web.archive.org/web/20090305002259/http://www.gnu.org/gnu/initial-announcement.html |archive-date=March 5, 2009}} Later, in 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries, compilers, text editors, a command-line shell, and a windowing system) were completed, although low-level elements such as device drivers, daemons, and the kernel, called GNU Hurd, were stalled and incomplete.{{cite web |url=http://thevarguy.com/open-source-application-software-companies/050415/open-source-history-why-did-linux-succeed |title=Open Source History: Why Did Linux Succeed? |author=Christopher Tozzi |date=August 23, 2016 |access-date=August 17, 2017 |url-status=usurped |archive-url=https://web.archive.org/web/20170817205211/http://thevarguy.com/open-source-application-software-companies/050415/open-source-history-why-did-linux-succeed |archive-date=August 17, 2017 }}
Minix was created by Andrew S. Tanenbaum, a computer science professor, and released in 1987 as a minimal Unix-like 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 until the licensing changed in April 2000.{{Cite web|url=http://minix1.woodhull.com/faq/mxlicense.html |title=MINIX is now available under the BSD license |archive-url=https://web.archive.org/web/20160304083114/http://minix1.woodhull.com/faq/mxlicense.html |archive-date=March 4, 2016 |url-status=live |date=April 9, 2000 |website=minix1.woodhull.com}}
= Creation =
While attending the University of Helsinki in the fall of 1990, Torvalds enrolled in a Unix course.{{cite web |url=https://www.wired.com/1997/08/linux-5 |title=The Greatest OS That (N)ever Was |first=Glyn |last=Moody |publisher=Wired |date=August 1, 1997 |access-date=July 20, 2022 |archive-date=July 25, 2022 |archive-url=https://web.archive.org/web/20220725204746/http://www.wired.com/1997/08/linux-5/ |url-status=live }} The course used a MicroVAX minicomputer running Ultrix, 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.{{cite newsgroup | title = What would you like to see most in minix? | newsgroup = comp.os.minix | message-id = 1991Aug25.205708.9541@klaava.Helsinki.FI | url = https://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b | last = Torvalds | first = Linus | access-date = September 9, 2006 | archive-date = May 9, 2013 | archive-url = https://web.archive.org/web/20130509134305/http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b | url-status = live }} Frustrated by the licensing of Minix, which at the time limited it to educational use only, he began to work on his operating system kernel, which eventually became the Linux kernel.
On July 3, 1991, to implement Unix system calls, Linus Torvalds attempted unsuccessfully to obtain a digital copy of the POSIX standards documentation with a request to the comp.os.minix newsgroup.{{cite book |last1=Torvalds |first1=Linus |last2=Diamond |first2=David |date=2001 |title=Just for Fun: The Story of an Accidental Revolutionary |location=New York City |publisher=HarperCollins |pages=78–80 |isbn=0-06-662073-2}} After not finding the POSIX documentation, Torvalds initially resorted to determining system calls from SunOS documentation owned by the university for use in operating its Sun Microsystems server. He also learned some system calls from Tanenbaum's Minix text.
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.{{cite newsgroup|title=Chicken and egg: How was the first linux gcc binary created??|author=Linus Torvalds|date=October 14, 1992|newsgroup=comp.os.minix|message-id=1992Oct12.100843.26287@klaava.Helsinki.FI|url=https://groups.google.com/group/comp.os.linux/msg/4ae6db18d3f49b0e|access-date=August 17, 2013|archive-date=May 9, 2013|archive-url=https://web.archive.org/web/20130509140002/http://groups.google.com/group/comp.os.linux/msg/4ae6db18d3f49b0e|url-status=live}} 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.{{cite web |url=https://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12 |title=Release notes for Linux v0.12 |last=Torvalds |first=Linus |author-link=Linus Torvalds |date=January 5, 1992 |publisher=Linux Kernel Archives |archive-url=https://web.archive.org/web/20070819045030/http://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12 |archive-date=August 19, 2007 |access-date=July 23, 2007 |quote=The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. I propose that the copyright be changed so that it confirms to GNU ─ pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise, The GNU copyleft takes effect since the first of February. If you do not know the gist of the GNU copyright ─ read it.}} Developers worked to integrate GNU components with the Linux kernel, creating a fully functional and free operating system.{{cite web |url=https://www.gnu.org/gnu/gnu-history.html |title=Overview of the GNU System |publisher=Gnu.org |access-date=March 9, 2009 |url-status=live |archive-url=https://web.archive.org/web/20090228140819/http://www.gnu.org/gnu/gnu-history.html |archive-date=February 28, 2009}}
Although not released until 1992, due to legal complications, the development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Linus Torvalds has stated that if the GNU kernel or 386BSD had been available in 1991, he probably would not have created Linux.{{cite web |url=http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html |title=Linus vs. Tanenbaum debate |archive-url=https://web.archive.org/web/20121003060514/http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html |archive-date=October 3, 2012 |access-date=February 19, 2014}}{{cite web|url=http://gondwanaland.com/meta/history/interview.html|title=The Choice of a GNU Generation – An Interview With Linus Torvalds|last=Linksvayer|first=Mike|year=1993|work=Meta magazine|access-date=January 20, 2009|url-status=live|archive-url=https://web.archive.org/web/20090225212557/http://gondwanaland.com/meta/history/interview.html|archive-date=February 25, 2009}}
= {{Anchor|FREAX}}Naming =
File:Linux 0 12.jpgs holding a very early version of Linux]]
Linus Torvalds had wanted to call his invention "Freax", a portmanteau of "free", "freak", and "x" (as an allusion to Unix). During the start of his work on the system, some of the project's makefiles included the name "Freax" for about half a year. 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, {{ISBN|0-06-662072-4}}
To facilitate development, the files were uploaded to the FTP server of FUNET in September 1991. Ari Lemmke, Torvalds' coworker at the Helsinki University of Technology (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 ({{IPAc-en|audio=Linus-linux.ogg|ˈ|l|ɪ|n|ʊ|k|s}} {{respell|LIN|uuks}}) 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.{{cite web|url = https://www.kernel.org/pub/linux/kernel/SillySounds|title = Index of /pub/linux/kernel/SillySounds|access-date = August 3, 2009|last = Torvalds|first = Linus|date = March 1994|url-status=live|archive-url = https://web.archive.org/web/20091008074754/http://www.kernel.org/pub/linux/kernel/SillySounds/|archive-date = October 8, 2009|df = mdy-all}} However, in this recording, he pronounces Linux as {{IPA|/ˈlinʊks/}} ({{respell|LEEN|uuks}}) with a short but close front unrounded vowel, instead of a near-close near-front unrounded vowel as in his newsgroup post.
= Commercial and popular uptake =
{{Main|Linux adoption}}{{Multiple image
| image1 = Nexus 5X (White).jpg
| image2 = ChromebookStaplesStore.jpg
| footer = From top-left clockwise: Nexus 5X running Android, Chromebooks, server platform, In-flight entertainment system
| direction = horizontal
| image3 = In flight system Linux bootup flat.jpg
| perrow = 2 / 2
| total_width = 320
| image4 = Custom Miniature Linux Server (2005).jpeg
}}
The 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 started to replace their increasingly expensive machines with clusters of inexpensive commodity computers running Linux. Commercial use began when Dell and IBM, followed by Hewlett-Packard, started offering Linux support to escape Microsoft's monopoly in the desktop operating system market.{{cite book |title=Practical UNIX and Internet Security |first1=Simson |last1=Garfinkel |first2=Gene |last2=Spafford |first3=Alan |last3=Schwartz |publisher=O'Reilly |year=2003 |page=21}}
Today, Linux systems are used throughout computing, from embedded systems to virtually all supercomputers,{{cite web |title=Linux system development on an embedded device |url=http://www-128.ibm.com/developerworks/library/l-embdev.html |first1=Anand |last1=Santhanam |author2=Vishal Kulkarni |work=DeveloperWorks |publisher=IBM |date=March 1, 2002 |access-date=July 26, 2007 |archive-url=https://web.archive.org/web/20070329123926/http://www-128.ibm.com/developerworks/library/l-embdev.html |archive-date=March 29, 2007}} and have secured a place in server installations such as the popular LAMP application stack. The use of Linux distributions in home and enterprise desktops has been growing.{{cite news | first=Peter | last=Galli | title=Vista Aiding Linux Desktop, Strategist Says | date=August 8, 2007 | publisher=Ziff Davis Enterprise Inc. | url=http://www.eweek.com/c/a/Linux-and-Open-Source/Vista-Aiding-Linux-Desktop-Strategist-Says/ | work=eWEEK | access-date=November 19, 2007 | url-status=live | archive-url=http://arquivo.pt/wayback/20090709050715/http://www.eweek.com/c/a/Linux-and-Open-Source/Vista-Aiding-Linux-Desktop-Strategist-Says/ | archive-date=July 9, 2009 | df=mdy-all }}{{cite news | first=Ryan | last=Paul | title=Linux market share set to surpass Win 98, OS X still ahead of Vista | date=September 3, 2007 | publisher=Ars Technica, LLC | url=https://arstechnica.com/news.ars/post/20070903-linux-marketshare-set-to-surpass-windows-98.html | work=Ars Technica | access-date=November 19, 2007 | url-status=live | archive-url=https://web.archive.org/web/20071116080339/http://arstechnica.com/news.ars/post/20070903-linux-marketshare-set-to-surpass-windows-98.html | archive-date=November 16, 2007 | df=mdy-all }}{{cite news|first=Stan |last=Beer |title=Vista to play second fiddle to XP until 2009: Gartner |date=January 23, 2007 |url=http://www.itwire.com.au/content/view/8842/53/ |work=iTWire |access-date=November 19, 2007 |url-status=dead |archive-url=https://web.archive.org/web/20081203204529/http://www.itwire.com.au/content/view/8842/53/ |archive-date=December 3, 2008 }}{{cite web |url=http://marketshare.hitslink.com/report.aspx?qprid=2&qpmr=15&qpdt=1&qpct=3&qptimeframe=Y |title=Operating System Marketshare for Year 2007 |access-date=November 19, 2007 |date=November 19, 2007 |work=Market Share |publisher=Net Applications |url-status=live |archive-url=https://web.archive.org/web/20130624203258/http://marketshare.hitslink.com/report.aspx?qprid=2&qpmr=15&qpdt=1&qpct=3&qptimeframe=Y |archive-date=June 24, 2013}}{{cite news |title=Vista slowly continues its growth; Linux more aggressive than Mac OS during the summer |date=September 24, 2007 |publisher=AT Internet/XiTi.com |url=http://www.xitimonitor.com/en-us/internet-users-equipment/operating-systems-august-2007/index-1-2-7-107.html |work=XiTiMonitor |access-date=November 19, 2007 |archive-url=https://web.archive.org/web/20071214013746/http://www.xitimonitor.com/en-us/internet-users-equipment/operating-systems-august-2007/index-1-2-7-107.html |archive-date=December 14, 2007}}{{cite web |url=http://www.w3counter.com/globalstats.php |title=Global Web Stats |access-date=November 19, 2007 |date=November 10, 2007 |work=W3Counter |publisher=Awio Web Services LLC |url-status=live |archive-url=https://archive.today/20120628/http://www.w3counter.com/globalstats.php |archive-date=June 28, 2012}}{{cite web |url=http://www.google.com/press/zeitgeist/zeitgeist-jun04.html |title=June 2004 Zeitgeist |access-date=November 19, 2007 |date=August 12, 2004 |work=Google Press Center |publisher=Google Inc. |url-status=live |archive-url=https://web.archive.org/web/20110711135752/http://www.google.com/press/zeitgeist/zeitgeist-jun04.html |archive-date=July 11, 2011}}
Linux distributions have also become popular in the netbook market, with many devices shipping with customized Linux distributions installed, and Google releasing their own ChromeOS 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 smartphones and very popular on tablets and, more recently, on wearables, and vehicles. Linux gaming is also on the rise with Valve showing its support for Linux and rolling out SteamOS, its own gaming-oriented Linux distribution, which was later implemented in their Steam Deck platform. Linux distributions have also gained popularity with various local and national governments, such as the federal government of Brazil.{{cite web|last1=McMillan|first1=Robert|title=IBM, Brazilian government launch Linux effort|url=http://www.infoworld.com/article/2675550/operating-systems/ibm--brazilian-government-launch-linux-effort.html|website=www.infoworld.com|date=October 10, 2003|publisher=IDG News Service|access-date=February 16, 2015|url-status=live|archive-url=https://web.archive.org/web/20150315055524/http://www.infoworld.com/article/2675550/operating-systems/ibm--brazilian-government-launch-linux-effort.html|archive-date=March 15, 2015}}
= Development =
Linus Torvalds is the lead maintainer for the Linux kernel and guides its development, while Greg Kroah-Hartman is the lead maintainer for the stable branch.{{cite web |url=https://www.linuxfoundation.org/about/ |title=About Us – The Linux Foundation |access-date=2018-10-01 |archive-date=October 28, 2018 |archive-url=https://web.archive.org/web/20181028015400/https://www.linuxfoundation.org/about/ |url-status=live }} Zoë Kooyman is the executive director of the Free Software Foundation,{{Cite web |title=Staff and Board — Free Software Foundation — Working together for free software |url=https://www.fsf.org/about/staff-and-board |archive-url=https://web.archive.org/web/20231121082724/https://www.fsf.org/about/staff-and-board |archive-date=2023-11-21 |access-date=2023-11-22 |website=Free Software Foundation}} which in turn supports the GNU components.{{cite web |url=http://www.fsf.org/about/ |title=Free software is a matter of liberty, not price — Free Software Foundation — working together for free software |publisher=Fsf.org |access-date=July 12, 2012 |url-status=dead |archive-url=https://web.archive.org/web/20120714122536/http://www.fsf.org/about |archive-date=July 14, 2012 }} 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 distributions.
Design
{{See also|Linux kernel#Architecture and features}}
Many developers of open-source software agree that the Linux kernel was not designed but rather evolved through natural selection. 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."Email correspondence on the Linux Kernel development mailing list {{cite web |author1=Linus Torvalds |title=Re: Coding style, a non-issue |url=https://lwn.net/2001/1206/a/no-design.php3 |website=kernel.org |date=November 30, 2001 |access-date=August 10, 2020 |archive-date=August 12, 2021 |archive-url=https://web.archive.org/web/20210812201159/https://lwn.net/2001/1206/a/no-design.php3 |url-status=live }} 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."{{cite book |last1=Raymond |first1=Eric S. |editor1-last=O'Reilly |editor1-first=Tim |title=The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary |date=2001 |publisher=O'Reilly & Associates |isbn=0-596-00108-8 |page=16 |edition=Second}} Bryan Cantrill, 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,"You have to design it you cannot asymptotically reach Security." Cantrill 2017 cannot be evolved into, "this is not a biological system at the end of the day, it's a software system."{{cite AV media |date=November 26, 2015 |url=https://www.youtube.com/watch?v=Ya6h2zKlpaQ |title=The Cantrill Strikes Back {{!}} BSD Now 117 |publisher=Jupiter Broadcasting |via=YouTube |access-date=September 7, 2021 |archive-url=https://web.archive.org/web/20201214063300/https://www.youtube.com/watch?v=Ya6h2zKlpaQ |archive-date=December 14, 2020 |url-status=live}}
A Linux-based system is a modular Unix-like 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, the Linux kernel, which handles process control, networking, access to the peripherals, and file systems. Device drivers are either integrated directly with the kernel or added as modules that are loaded while the system is running.{{cite web | url = https://stackoverflow.com/questions/1806585/why-is-linux-called-a-monolithic-kernel | title = Why is Linux called a monolithic kernel? | year = 2009 | access-date = October 16, 2013 | publisher = stackoverflow.com | url-status=live | archive-url = https://web.archive.org/web/20131017065550/http://stackoverflow.com/questions/1806585/why-is-linux-called-a-monolithic-kernel | archive-date = October 17, 2013 | df = mdy-all }}
The GNU userland is a key part of most systems based on the Linux kernel, with Android being the notable exception. The GNU C library, an implementation of the C standard library, works as a wrapper for the system calls of the Linux kernel necessary to the kernel-userspace interface, the toolchain is a broad collection of programming tools vital to Linux development (including the compilers used to build the Linux kernel itself), and the coreutils implement many basic Unix tools. The GNU Project also develops Bash, a popular CLI shell. The graphical user interface (or GUI) used by most Linux systems is built on top of an implementation of the X Window System.{{cite web|url=https://personalpages.manchester.ac.uk/staff/m.dodge/cybergeography/atlas/linux_anatomy.pdf|title=Anatomy of a Linux System|date=July 23–26, 2001|publisher=O'Reilly|access-date=October 10, 2018|archive-date=September 4, 2019|archive-url=https://web.archive.org/web/20190904023052/https://personalpages.manchester.ac.uk/staff/m.dodge/cybergeography/atlas/linux_anatomy.pdf|url-status=live}} More recently, some of the Linux community has sought to move to using Wayland as the display server protocol, replacing X11.{{Cite web |title=Wayland vs. Xorg: Will Wayland Replace Xorg? |url=https://www.cbtnuggets.com/blog/technology/devops/wayland-vs-xorg-wayland-replace-xorg |access-date=2024-12-26 |website=CBT Nuggets |language=en}}{{Cite web |title=What's the deal with X11 and Wayland? – TUXEDO Computers |url=https://www.tuxedocomputers.com/en/Whats-the-deal-with-X11-and-Wayland-_1.tuxedo |access-date=2024-12-26 |website=www.tuxedocomputers.com}}
Many other open-source software projects contribute to Linux systems.
{{Linux layers}} |
Installed components of a Linux system include the following:{{cite web |url=http://www.ibm.com/developerworks/library/l-linuxboot/ |title=Inside the Linux boot process |last=M. Tim Jones |date=May 31, 2006 |publisher=IBM Developer Works |archive-url=https://web.archive.org/web/20131017052010/http://www.ibm.com/developerworks/library/l-linuxboot/ |archive-date=October 17, 2013 |access-date=October 16, 2013}}
- A bootloader, for example GNU GRUB, LILO, SYSLINUX or systemd-boot. This is a program that loads the Linux kernel into the computer's main memory, by being executed by the computer when it is turned on and after the firmware initialization is performed.
- An init program, such as the traditional sysvinit and the newer systemd, OpenRC and Upstart. This is the first process launched by the Linux kernel, and is at the root of the process tree. It starts processes such as system services and login prompts (whether graphical or in terminal mode).
- Software libraries, which contain code that can be used by running processes. On Linux systems using ELF-format executable files, the dynamic linker 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 files will also be included to describe the programming interface of installed libraries. Besides the most commonly used software library on Linux systems, the GNU C Library (glibc), there are numerous other libraries, such as SDL and Mesa.
- The C standard library is the library necessary to run programs written in C on a computer system, with the GNU C Library being the standard. It provides an implementation of the POSIX API, as well as extensions to that API. For embedded systems, alternatives such as musl, EGLIBC (a glibc fork once used by Debian) and uClibc (which was designed for uClinux) have been developed, although the last two are no longer maintained. Android uses its own C library, Bionic. However, musl can additionally be used as a replacement for glibc on desktop and laptop systems, as seen on certain Linux distributions like Void Linux.
- Basic Unix commands, with GNU coreutils being the standard implementation. Alternatives exist for embedded systems, such as the copyleft BusyBox, and the BSD-licensed Toybox.
- Widget toolkits are the libraries used to build graphical user interfaces (GUIs) for software applications. Numerous widget toolkits are available, including GTK and Clutter developed by the GNOME Project, Qt developed by the Qt Project and led by The Qt Company, and Enlightenment Foundation Libraries (EFL) developed primarily by the Enlightenment team.
- A package management system, such as dpkg 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, also known as the shell, is either a command-line interface (CLI), a graphical user interface (GUI), or controls attached to the associated hardware, which is common for embedded systems. For desktop systems, the default user interface is usually graphical, although the CLI is commonly available through terminal emulator windows or on a separate virtual console.
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), originally developed for the GNU Project; other shells such as Zsh are also used.{{Cite web |title=What are the Different Types of Shells in Linux? {{!}} DigitalOcean |url=https://www.digitalocean.com/community/tutorials/different-types-of-shells-in-linux |access-date=2024-11-17 |website=www.digitalocean.com |language=en}}{{Cite web |title=Understanding Linux Shells |url=https://www.hivelocity.net/kb/understanding-linux-shells/ |access-date=2024-11-17 |website=Hivelocity Hosting |language=en-US}} 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.
File:VirtualBox debian64 XFCE Hebrew.png running the Xfce desktop environment]]
File:Fedora Linux 40 KDE Plasma.png running the Plasma desktop environment]]
On desktop systems, the most popular user interfaces are the GUI shells, packaged together with extensive desktop environments, such as KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon, and Xfce, though a variety of additional user interfaces exist. Most popular user interfaces are based on the X Window System, often simply called "X" or "X11". It provides network transparency 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.{{cite web |url = https://lwn.net/Articles/553415/ |title = The Wayland Situation: Facts About X vs. Wayland (Phoronix) |date = June 8, 2013 |access-date = October 11, 2013 |publisher = LWN.net |author = Jake Edge |url-status=live |archive-url = https://web.archive.org/web/20131022030529/http://lwn.net/Articles/553415/ |archive-date = October 22, 2013 |df = mdy-all }} Several X display servers exist, with the reference implementation, X.Org Server, being the most popular.File:I3 window manager screenshot.png Tiling window manager]]
Several types of window managers exist for X11, including tiling, dynamic, stacking, and compositing. Window managers provide means to control the placement and appearance of individual application windows, and interact with the X Window System. Simpler X window managers such as dwm, ratpoison, or i3wm provide a minimalist functionality, while more elaborate window managers such as FVWM, Enlightenment, or Window Maker provide more features such as a built-in taskbar 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 (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; {{As of|2022|lc=yes}}, it has received relatively wide adoption.{{Cite web | last=Miller | first=Matthew | url=https://fedoramagazine.org/announcing-fedora-36/ | title=Announcing Fedora 36 | access-date=2022-10-28 | date=May 6, 2022 | archive-date=August 2, 2022 | archive-url=https://web.archive.org/web/20220802155254/https://fedoramagazine.org/announcing-fedora-36/ | url-status=live }} 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.{{Cite web |last=Leiva-Gomez |first=Miguel |date=May 18, 2023 |title=What Is Wayland and What Does It Mean for Linux Users? |url=https://www.maketecheasier.com/what-is-wayland/ |access-date=June 18, 2024 |website=www.maketecheasier.com |language=en-US |archive-date=January 27, 2021 |archive-url=https://web.archive.org/web/20210127202354/https://www.maketecheasier.com/what-is-wayland/ |url-status=live }} Additionally, many window managers have been made for Wayland, such as Sway or Hyprland, as well as other graphical utilities such as Waybar or Rofi.
= Video input infrastructure =
{{Main|Video4Linux}}
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.{{cite web | url = http://linuxtv.org/ | title = Linux TV: Television with Linux | access-date = October 16, 2013 | publisher = linuxtv.org | url-status=live | archive-url = https://web.archive.org/web/20131106185814/http://linuxtv.org/ | archive-date = November 6, 2013 | df = mdy-all }}
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 to the success of having userspace applications to be able to work with all formats supported by those devices.{{cite web | url = https://lwn.net/Articles/203924/ | title = The Video4Linux2 API: an introduction | date = October 11, 2006 | access-date = October 16, 2013 | author = Jonathan Corbet | publisher = LWN.net | url-status=live | archive-url = https://web.archive.org/web/20131007115957/http://lwn.net/Articles/203924/ | archive-date = October 7, 2013 | df = mdy-all }}{{cite web | url = http://linuxtv.org/downloads/v4l-dvb-apis/compat.html | title = Part I. Video for Linux Two API Specification | work = Chapter 7. Changes | access-date = October 16, 2013 | publisher = linuxtv.org | url-status=dead | archive-url = https://web.archive.org/web/20131017050817/http://linuxtv.org/downloads/v4l-dvb-apis/compat.html | archive-date = October 17, 2013 | df = mdy-all }}
Development
File:Unix timeline.en.svg standard) but does not share non-free source code with the original Unix or Minix.]]
{{Main|Linux distribution|Free software}}
The primary difference between Linux and many other popular contemporary operating systems is that the Linux kernel and other components are free and open-source software. Linux is not the only such operating system, although it is by far the most widely used.{{cite web|url = http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8|title = Operating System Market Share|access-date = December 11, 2009|last = Operating System Market Share|date = November 2009|url-status=live|archive-url = https://web.archive.org/web/20100125022803/http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8|archive-date = January 25, 2010|df = mdy-all}} Some free and open-source software licenses are based on the principle of copyleft, 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 (GPL), is a form of copyleft and is used for the Linux kernel and many of the components from the GNU Project.{{Cite web |title=What is Copyleft? – GNU Project – Free Software Foundation |url=https://www.gnu.org/licenses/copyleft.en.html |url-status=live |archive-url=https://web.archive.org/web/20151006133153/https://www.gnu.org/licenses/copyleft.en.html |archive-date=October 6, 2015 |access-date=2020-05-12 |website=www.gnu.org |language=en}}
Linux-based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX,{{cite web | url = http://www.ukuug.org/newsletter/linux-newsletter/linux@uk21/posix.shtml | title = POSIX.1 (FIPS 151-2) Certification | url-status=live | archive-url = https://web.archive.org/web/20120226091425/http://www.ukuug.org/newsletter/linux-newsletter/linux@uk21/posix.shtml | archive-date = February 26, 2012 | df = mdy-all }} Single UNIX Specification (SUS),{{cite web | title = How source code compatible is Debian with other Unix systems? | url = http://www.debian.org/doc/FAQ/ch-compat.en.html#s-otherunices | work = Debian FAQ | publisher = the Debian project | url-status=live | archive-url = https://web.archive.org/web/20111016004547/http://www.debian.org/doc/FAQ/ch-compat.en.html#s-otherunices | archive-date = October 16, 2011 | df = mdy-all }} Linux Standard Base (LSB), ISO, and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT.{{cite web |url=http://www.linuxjournal.com/article/0131 |title=Certifying Linux |last=Eissfeldt |first=Heiko |date=August 1, 1996 |publisher=Linux Journal |archive-url=https://web.archive.org/web/20160404122450/http://www.linuxjournal.com/article/0131 |archive-date=April 4, 2016}}{{cite web |url=http://www.debian.org/doc/FAQ/ch-compat.en.html |title=The Debian GNU/Linux FAQ – Compatibility issues |archive-url=https://web.archive.org/web/20111010111215/http://www.debian.org/doc/FAQ/ch-compat.en.html |archive-date=October 10, 2011 |access-date=September 17, 2011}} The Open Group has tested and certified at least two Linux distributions as qualifying for the Unix trademark, EulerOS and Inspur K-UX.{{Cite web |last=Proven |first=Liam |date=2023-01-17 |title=Unix is dead. Long live Unix! |url=https://www.theregister.com/2023/01/17/unix_is_dead/ |archive-url=http://web.archive.org/web/20250505230444/https://www.theregister.com/2023/01/17/unix_is_dead/ |archive-date=2025-05-05 |access-date=2025-05-13 |website=The Register |language=en}}
Free software projects, although developed through collaboration, 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 such as apt, yum, zypper, pacman or portage to install, remove, and update all of a system's software from one central location.{{Cite web|title=The evolution of package managers|url=https://opensource.com/article/18/7/evolution-package-managers|last=comments|first=26 Jul 2018 Steve OvensFeed 151up 9|website=Opensource.com|language=en|access-date=2020-05-12|archive-date=July 26, 2018|archive-url=https://web.archive.org/web/20180726211300/https://opensource.com/article/18/7/evolution-package-managers|url-status=live}}
= Community =
{{See also|Free software movement|Linux user group}}
A distribution is largely driven by its developer and user communities. Some vendors develop and fund their distributions on a volunteer basis, Debian being a well-known example. Others maintain a community version of their commercial distributions, as Red Hat does with Fedora, and SUSE does with openSUSE.{{Cite web|url=http://getfedora.org/|title=Get Fedora|website=getfedora.org|language=en|access-date=2020-02-24|archive-date=July 11, 2020|archive-url=https://web.archive.org/web/20200711030627/https://getfedora.org/|url-status=live}}{{Cite web|url=https://www.opensuse.org/|title=The makers' choice for sysadmins, developers and desktop users.|last=design|first=Cynthia Sanchez: front-end and UI, Zvezdana Marjanovic: graphic|website=openSUSE|access-date=2020-02-24|archive-date=August 5, 2005|archive-url=https://web.archive.org/web/20050805025740/https://www.opensuse.org/|url-status=live}}
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 newsgroups. Online forums are another means of support, with notable examples being Unix & Linux Stack Exchange,{{cite book |last1=Inshanally |first1=Philip |title=CompTIA Linux+ Certification Guide: A comprehensive guide to achieving LX0-103 and LX0-104 certifications with mock exams |date=26 September 2018 |publisher=Packt Publishing Ltd |isbn=978-1-78934-253-6 |page=180 |url=https://books.google.com/books?id=08JwDwAAQBAJ |language=en}}{{cite book |last1=Barrett |first1=Daniel J. |title=Linux kurz & gut: Die wichtigen Befehle |date=27 August 2024 |publisher=O'Reilly |isbn=978-3-96010-868-9 |page=61 |url=https://books.google.com/books?id=6aAXEQAAQBAJ |language=de}} LinuxQuestions.org and the various distribution-specific support and community forums, such as ones for Ubuntu, Fedora, Arch Linux, Gentoo, etc. 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.{{cite web | url=http://www.linuxformat.co.uk/dvd/ | title=Linux Format DVD contents | author=Linux Format | access-date=January 17, 2008 |archive-url = https://web.archive.org/web/20080808113845/http://www.linuxformat.co.uk/dvd/|archive-date=August 8, 2008 }}{{cite web | url=http://www.linux-magazine.com/resources/current_issue | title=Current Issue | author=linux-magazine.com | access-date=January 17, 2008 | author-link=Linux Magazine | url-status=dead | archive-url=https://web.archive.org/web/20080110033853/http://www.linux-magazine.com/resources/current_issue | archive-date=January 10, 2008 | df=mdy-all }}
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 free software. An analysis of the Linux kernel in 2017 showed that well over 85% of the code was developed by programmers who are being paid for their work, leaving about 8.2% to unpaid developers and 4.1% unclassified.{{Cite web|title=State of Linux Kernel Development 2017|url=https://www.linuxfoundation.org/tools/state-of-linux-kernel-development-2017/|access-date=2021-11-14|website=Linux Foundation|language=en-US|archive-date=November 14, 2021|archive-url=https://web.archive.org/web/20211114072617/https://www.linuxfoundation.org/tools/state-of-linux-kernel-development-2017/|url-status=live}} Some of the major corporations that provide contributions include Intel, Samsung, Google, AMD, Oracle, and Facebook. Several corporations, notably Red Hat, Canonical, and SUSE have built a significant business around Linux distributions.
The free software licenses, 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 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.{{Cite web |title=From Freedom to Profit: Red Hat's Latest Move – An In-Depth Review of its Impact on Free Software and Open Source Values |url=https://www.linuxcareers.com/resources/blog/2023/07/from-freedom-to-profit-how-red-hats-latest-move-reveals-a-shift-in-free-software-and-open-source-v/ |access-date=2024-11-16 |website=Linux Careers |language=en}}
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, and versions of the classic Mac OS before 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.{{Cite web |last=Thompson |first=Ben |date=2020-11-11 |title=Apple's Shifting Differentiation |url=https://stratechery.com/2020/apples-shifting-differentiation/ |access-date=2024-12-17 |website=Stratechery by Ben Thompson |language=en-US}}{{Cite web |last=Equity |first=International Brand |date=2024-05-28 |title=Apple Business Model Analysis |url=https://www.internationalbrandequity.com/apple-business-model-analysis/ |access-date=2024-12-17 |website=International Brand Equity (IBE) |language=en-US}}
= Programming on Linux =
Most programming languages support Linux either directly or through third-party community based ports.{{cite web |url=https://gcc.gnu.org/wiki/GFortran |title=gfortran — the GNU Fortran compiler, part of GCC |website=GNU GCC |access-date=3 May 2020 |archive-date=April 18, 2020 |archive-url=https://web.archive.org/web/20200418073603/http://gcc.gnu.org/wiki/GFortran |url-status=live }} The original development tools used for building both Linux applications and operating system programs are found within the GNU toolchain, which includes the GNU Compiler Collection (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, Perl, Ruby, Python, Java, Go, Rust and Haskell. First released in 2003, the LLVM project provides an alternative cross-platform open-source compiler for many languages. Proprietary compilers for Linux include the Intel C++ Compiler, Sun Studio, and IBM XL C/C++ Compiler. BASIC is available in procedural form from QB64, PureBasic, Yabasic, GLBasic, Basic4GL, XBasic, wxBasic, SdlBasic, and Basic-256, as well as object oriented through Gambas, FreeBASIC, B4X, Basic for Qt, Phoenix Object Basic, NS Basic, ProvideX, Chipmunk Basic, RapidQ and Xojo. Pascal is implemented through GNU Pascal, Free Pascal, and Virtual Pascal, as well as graphically via Lazarus, PascalABC.NET, or Delphi using FireMonkey (previously through Borland Kylix).{{Cite web |title=GCC, the GNU Compiler Collection |url=https://www.gnu.org/software/gcc/libstdc++/ |archive-url=https://web.archive.org/web/20240827181824/https://www.gnu.org/software/gcc/libstdc++/ |archive-date=August 27, 2024 |access-date=2024-12-17 |website=www.gnu.org |language=en |url-status=live }}{{Cite web |title=GCC vs. Clang/LLVM: An In-Depth Comparison of C/C++ Compilers |url=https://www.alibabacloud.com/blog/gcc-vs--clangllvm-an-in-depth-comparison-of-cc%2B%2B-compilers_595309}}
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 are supported in programs like grep and locate, the traditional Unix message transfer agent Sendmail contains its own Turing complete scripting system, and the advanced text editor GNU Emacs is built around a general purpose Lisp interpreter.{{Cite web |last=Das |first=Shakti |date=2023-10-01 |title=Understanding Regular Expressions in Shell Scripting |url=https://learnscripting.org/understanding-regular-expressions-in-shell-scripting/ |access-date=2024-12-17 |website=Learn Scripting |language=en-US}}{{Cite web |date=2020-03-11 |title=Regular Expressions in Grep (Regex) |url=https://linuxize.com/post/regular-expressions-in-grep/ |access-date=2024-12-17 |website=linuxize.com |language=en-us |archive-date=January 17, 2025 |archive-url=https://web.archive.org/web/20250117085247/https://linuxize.com/post/regular-expressions-in-grep/ |url-status=live }}{{Cite web |title=Sculpting text with regex, grep, sed and awk |url=https://matt.might.net/articles/sculpting-text/ |access-date=2024-12-17 |website=matt.might.net |archive-date=December 17, 2024 |archive-url=https://web.archive.org/web/20241217044131/https://matt.might.net/articles/sculpting-text/ |url-status=live }}
Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic languages. While not as common, Linux also supports C# and other CLI languages (via Mono), Vala, and Scheme. Guile Scheme acts as an extension language targeting the GNU system utilities, seeking to make the conventionally small, static, compiled C programs of Unix design rapidly and dynamically extensible via an elegant, functional high-level scripting system; many GNU programs can be compiled with optional Guile bindings to this end. A number of Java virtual machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe and Jikes RVM; Kotlin, Scala, Groovy and other JVM languages are also available.
GNOME and KDE are popular desktop environments and provide a framework for developing applications. These projects are based on the GTK and Qt widget toolkits, 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 environments available including Anjuta, Code::Blocks, CodeLite, Eclipse, Geany, ActiveState Komodo, KDevelop, Lazarus, MonoDevelop, NetBeans, and Qt Creator, while the long-established editors Vim, nano and Emacs remain popular.{{cite web | first = Joe | last = Brockmeier | title = A survey of Linux Web development tools | url = http://programming.linux.com/programming/05/10/03/1828224.shtml?tid=63&tid=47 | access-date = December 16, 2006 | url-status=dead | archive-url = https://web.archive.org/web/20061019021449/http://programming.linux.com/programming/05/10/03/1828224.shtml?tid=63&tid=47 | archive-date = October 19, 2006 | df = mdy-all }}
Hardware support
File:Linux kernel ubiquity.svg
{{See also|List of Linux-supported computer architectures}}
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 architectures, including ARM-based Android smartphones and the IBM Z mainframes. Specialized distributions and kernel forks exist for less mainstream architectures; for example, the ELKS kernel fork can run on Intel 8086 or Intel 80286 16-bit microprocessors,{{Cite web |last=Intel |first=Altus |date=2024-09-25 |title=Elks 0.8 Released: Linux for 16-bit Intel CPUs |url=https://www.altusintel.com/public-yycw20/?tt=1727291705 |access-date=2024-11-16 |website=Altus Intel |language=en-AU |archive-date=November 27, 2024 |archive-url=https://web.archive.org/web/20241127114636/https://www.altusintel.com/public-yycw20/?tt=1727291705 |url-status=live }} while the μClinux kernel fork may run on systems without a memory management unit.{{Cite web |date=2019-06-26 |title=UClinux |url=https://community.intel.com/t5/FPGA-Wiki/UClinux/ta-p/735614 |access-date=2024-11-16 |website=community.intel.com |language=en}} The kernel also runs on architectures that were only ever intended to use a proprietary manufacturer-created operating system, such as Macintosh computers{{Cite web|last=Das|first=Ankush|date=2021-01-21|title=Finally! Linux Runs Gracefully On Apple M1 Chip|url=https://news.itsfoss.com/linux-apple-m1/|access-date=2021-11-13|website=It's FOSS News|language=en-US|archive-date=November 13, 2021|archive-url=https://web.archive.org/web/20211113113053/https://news.itsfoss.com/linux-apple-m1/|url-status=live}}{{Cite news|last=Jimenez|first=Jorge|date=2021-10-08|title=Developers finally get Linux running on an Apple M1-powered Mac|language=en|work=PC Gamer|url=https://www.pcgamer.com/developers-finally-get-linux-running-on-an-apple-m1-powered-mac/|access-date=2021-11-13|archive-date=January 11, 2023|archive-url=https://web.archive.org/web/20230111042438/https://www.pcgamer.com/developers-finally-get-linux-running-on-an-apple-m1-powered-mac/|url-status=live}} (with PowerPC, Intel, and Apple silicon processors), PDAs, video game consoles, portable music players, and mobile phones.
Linux has a reputation for supporting old hardware very well by maintaining standardized drivers for a long time.{{Cite web |last=Proven |first=Liam |date=2022-11-10 |title=OpenPrinting keeps old printers working, even on Windows |url=https://www.theregister.com/2022/11/10/openprinting_keeps_old_printers_working/ |access-date=2023-01-07 |website=The Register |language=en |archive-date=January 7, 2023 |archive-url=https://web.archive.org/web/20230107164300/https://www.theregister.com/2022/11/10/openprinting_keeps_old_printers_working/ |url-status=live }} There are several industry associations and hardware conferences devoted to maintaining and improving support for diverse hardware under Linux, such as FreedomHEC. Over time, support for different hardware has improved in Linux, resulting in any off-the-shelf purchase having a "good chance" of being compatible.{{cite web |url=http://www.linux.com/news/hardware/drivers/8203-is-my-hardware-linux-compatible-find-out-here |title=Is my hardware Linux-compatible? Find out here |date=August 14, 2007 |author=Bruce Byfield |website=Linux.com |access-date=September 4, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150905214148/http://www.linux.com/news/hardware/drivers/8203-is-my-hardware-linux-compatible-find-out-here |archive-date=September 5, 2015}}
In 2014, a new initiative was launched to automatically collect a database of all tested hardware configurations.{{cite web | url = https://linux-hardware.org/ | title = Linux Hardware | access-date = 2020-06-26 | publisher = Linux Hardware Project | archive-date = January 26, 2021 | archive-url = https://web.archive.org/web/20210126054431/https://linux-hardware.org/ | url-status = live }}
Uses
{{Main|Linux range of use}}
Copyright, trademark, and naming
{{See also|GNU/Linux naming controversy|SCO–Linux disputes}}
The Linux kernel is licensed under the GNU General Public License (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.{{cite web | url = https://www.gnu.org/licenses/gpl-2.0.html | title = GNU General Public License, version 2 | date = June 2, 1991 | access-date = December 5, 2013 | publisher = GNU Project | url-status=live | archive-url = https://web.archive.org/web/20131207171309/http://www.gnu.org/licenses/gpl-2.0.html | archive-date = December 7, 2013 | df = mdy-all }} 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 (LGPL), a more permissive variant of the GPL, and the X.Org implementation of the X Window System uses the MIT License.
Torvalds states that the Linux kernel will not move from version 2 of the GPL to version 3.{{cite web | url=https://lkml.org/lkml/2006/1/25/273 | title=Re: GPL V3 and Linux ─ Dead Copyright Holders | author=Torvalds, Linus | date=January 26, 2006 | publisher=Linux Kernel Mailing List | url-status=live | archive-url=https://web.archive.org/web/20140709004223/https://lkml.org/lkml/2006/1/25/273 | archive-date=July 9, 2014 | df=mdy-all }}{{cite web | url=https://lkml.org/lkml/2006/9/25/161 | title=Re: GPLv3 Position Statement | author=Torvalds, Linus | date=September 25, 2006 | publisher=Linux Kernel Mailing List | url-status=live | archive-url=https://web.archive.org/web/20140422105221/http://lkml.org/lkml/2006/9/25/161 | archive-date=April 22, 2014 | df=mdy-all }} He specifically dislikes some provisions in the new license which prohibit the use of the software in digital rights management.{{cite web | url = https://gnu.org/licenses/quick-guide-gplv3.html#neutralizing-laws-that-prohibit-free-software-but-not-forbidding-drm | title = Neutralizing Laws That Prohibit Free Software — But Not Forbidding DRM | work = A Quick Guide to GPLv3 | date = July 29, 2013 | access-date = December 5, 2013 | author = Brett Smith | publisher = GNU Project | url-status=live | archive-url = https://web.archive.org/web/20131201091449/http://www.gnu.org/licenses/quick-guide-gplv3.html#neutralizing-laws-that-prohibit-free-software-but-not-forbidding-drm | archive-date = December 1, 2013 | df = mdy-all }} It would also be impractical to obtain permission from all the copyright holders, who number in the thousands.{{cite web |url=http://www.linux-watch.com/news/NS3301105877.html |archive-url=https://archive.today/20130103161648/http://www.linux-watch.com/news/NS3301105877.html |url-status=dead |archive-date=January 3, 2013 |title=Keeping an Eye on the Penguin |publisher=Linux-watch.com |date=February 7, 2006 |access-date=November 9, 2010 }}
A 2001 study of Red Hat Linux 7.1 found that this distribution contained 30 million source lines of code. Using the Constructive Cost Model, the study estimated that this distribution required about eight thousand 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 {{USD}}{{Format price|{{inflation|US-GDP|1080000000|2000}}}}{{Inflation/fn|US-GDP}} to develop in {{Inflation/year|US-GDP}} in the United States.{{cite web | first = David A | last = Wheeler | date = July 29, 2002 | url = http://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.html | title = More Than a Gigabuck: Estimating GNU/Linux's Size | access-date = May 11, 2006 | url-status=dead | archive-url = https://web.archive.org/web/20060421145300/http://dwheeler.com/sloc/redhat71-v1/redhat71sloc.html | archive-date = April 21, 2006 | df = mdy-all }} Most of the source code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Python, Fortran, and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.
In a later study, the same analysis was performed for Debian version 4.0 (etch, which was released in 2007).{{cite web | first1 = Juan José | last1 = Amor | date = June 17, 2007 | url = http://libflow.com/d/8drl8n07/Measuring_Etch%3A_The_Size_of_Debian_4.0 | title = Measuring Etch: the size of Debian 4.0 | access-date = September 16, 2007 | display-authors = etal | url-status=live | archive-url = https://web.archive.org/web/20140728033855/http://libflow.com/d/8drl8n07/Measuring_Etch%3A_The_Size_of_Debian_4.0 | archive-date = July 28, 2014 | df = mdy-all }} 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 {{USD}}{{Format price|{{inflation|US-GDP|7170186240|2007}}}}{{Inflation/fn|US-GDP}} (in {{Inflation/year|US-GDP}} dollars) to develop by conventional means.
{{Anchor|POWDER}}
File:LinuxWasch3.jpg |last=Stahe |first=Sylviu}}]]
In the United States, the name Linux is a trademark registered to Linus Torvalds. Initially, nobody registered it. However, 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.{{cite web | url = http://www.linuxjournal.com/article/9065 | title = Linux Timeline | publisher = Linux Journal | date = May 31, 2006 | url-status=live | archive-url = https://web.archive.org/web/20130203160342/http://www.linuxjournal.com/article/9065 | archive-date = February 3, 2013 | df = mdy-all }} 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,{{cite news |author=Neil McAllister |title=Linus gets tough on Linux trademark |url=http://www.infoworld.com/article/05/09/05/36OPopenent_1.html |work=InfoWorld |date=September 5, 2005 |access-date=February 24, 2008 |archive-url=https://web.archive.org/web/20080412055615/http://www.infoworld.com/article/05/09/05/36OPopenent_1.html |archive-date=April 12, 2008}} but later changed this in favor of offering a free, perpetual worldwide sublicense.{{cite web | url = http://www.linuxmark.org | title = Linux Mark Institute | access-date = February 24, 2008 | quote = LMI has restructured its sublicensing program. Our new sublicense agreement is: Free – approved sublicense holders pay no fees; Perpetual – sublicense terminates only in breach of the agreement or when your organization ceases to use its mark; Worldwide – one sublicense covers your use of the mark anywhere in the world | url-status=live | archive-url = https://web.archive.org/web/20080213024227/http://www.linuxmark.org/ | archive-date = February 13, 2008 | df = mdy-all }}
File:Gnulinux.svg sometimes is stylized with incorporation of the GNU logo]]
The Free Software Foundation (FSF) prefers GNU/Linux as the name when referring to the operating system as a whole, because it considers Linux distributions to be variants of the GNU operating system initiated in 1983 by Richard Stallman, president of the FSF.{{cite web | url = https://www.gnu.org/gnu/gnu-linux-faq.html | title = GNU/Linux FAQ | publisher = Gnu.org | access-date = September 1, 2013 | url-status=live | archive-url = https://web.archive.org/web/20130907132420/http://www.gnu.org/gnu/gnu-linux-faq.html | archive-date = September 7, 2013 | df = mdy-all }} The foundation explicitly takes 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 distributions consisting of only free software, such as Debian (which had been sponsored by the FSF up to 1996),{{cite web |url=http://tech-insider.org/free-software/research/1996/0428.html |title=The FSF is no longer sponsoring Debian |date=April 28, 1996 |access-date=February 8, 2014 |author=Richard Stallman |publisher=tech-insider.org |url-status=live |archive-url=https://web.archive.org/web/20140221230241/http://tech-insider.org/free-software/research/1996/0428.html |archive-date=February 21, 2014}} also use GNU/Linux when referring to the operating system as a whole.{{cite web | url = http://www.tivo.com/linux/linux.asp | title = TiVo ─ GNU/Linux Source Code |access-date=December 12, 2006 |archive-url=https://web.archive.org/web/20070519150730/http://www.tivo.com/linux/linux.asp |archive-date=May 19, 2007}}{{cite web |url=http://www.debian.org/intro/about |title=About Debian |publisher=debian.org |date=December 8, 2013 |access-date=January 30, 2014 |url-status=live |archive-url=https://web.archive.org/web/20140123071309/http://www.debian.org/intro/about |archive-date=January 23, 2014}}{{cite web |url=http://vger.kernel.org/lkml/#s1-1 |title=The linux-kernel mailing list FAQ |author1=Andrew D. Balsa |display-authors=et al|date=October 17, 2009 |website=vger.kernel.org |archive-url=https://web.archive.org/web/20121001231709/http://vger.kernel.org/lkml/ |archive-date=October 1, 2012 |url-status=live |access-date=June 13, 2013 |quote=...we have tried to use the word "Linux" or the expression "Linux kernel" to designate the kernel, and GNU/Linux to designate the entire body of GNU/GPL'ed OS software,... ...many people forget that the linux kernel mailing list is a forum for discussion of kernel-related matters, not GNU/Linux in general...}} 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).
{{As of|2011|May}}, about 8% to 13% of the lines of code 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.{{cite web|url=http://pedrocr.pt/text/how-much-gnu-in-gnu-linux/|title=How much GNU is there in GNU/Linux?|last=Côrte-Real|first=Pedro|date=May 31, 2011|work=Split Perspective|access-date=January 28, 2014|url-status=live|archive-url=https://web.archive.org/web/20140207120339/http://pedrocr.pt/text/how-much-gnu-in-gnu-linux/|archive-date=February 7, 2014}} (self-published data)
See also
{{Portal bar|Free and open-source software|Linux}}
{{Div col|colwidth=25em}}
- Comparison of Linux distributions
- Comparison of open-source and closed-source software
- Comparison of operating systems
- Comparison of X Window System desktop environments
- Criticism of desktop Linux
- Criticism of Linux
- Linux kernel version history
- Linux Documentation Project
- Linux From Scratch
- Linux Software Map
- List of Linux distributions
- List of games released on Linux
- List of operating systems
- Loadable kernel module
- Usage share of operating systems
- Timeline of operating systems
{{div col end}}
Notes
{{Notelist}}
References
{{reflist}}
External links
{{Sister project links}}
- {{usurped|1=[https://web.archive.org/web/20100211130125/http://www.makelinux.net/system/new Graphical map of Linux Internals]}} (archived)
- [https://www.kernel.org/ Linux kernel website and archives]
- [https://archive.org/details/git-history-of-linux The History of Linux in GIT Repository Format 1992–2010] (archived)
{{Linux}}
{{Linux people}}
{{Linux distributions}}
{{Unix}}
{{FOSS}}
{{Operating system}}
{{Authority control}}
Category:Cross-platform software