Misplaced Pages

Linux

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an accepted version of this page

#755244

129-453: Linux ( / ˈ l ɪ n ʊ k s / , LIN -uuks ) is a family of open-source Unix-like operating systems based on the Linux kernel , an operating system kernel first released on September 17, 1991, by Linus Torvalds . Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries — many of which are provided by

258-529: A Creative Commons license. The resulting cultural product is then available to download free (generally accessible) to anyone with an Internet connection. Older, analog technologies such as the telephone or television have limitations on the kind of interaction users can have. Through various technologies such as peer-to-peer networks and blogs , cultural producers can take advantage of vast social networks to distribute their products. As opposed to traditional media distribution, redistributing digital media on

387-720: A derivative work —such as a copy of a software program modified to fix a bug or add a feature, or a remix of a song—but are unable or unwilling to pay the copyright holder for the right to do so. Being organized as effectively a " consumers' cooperative ", open source eliminates some of the access costs of consumers and creators of derivative works by reducing the restrictions of copyright. Basic economic theory predicts that lower costs would lead to higher consumption and also more frequent creation of derivative works. Organizations such as Creative Commons host websites where individuals can file for alternative "licenses", or levels of restriction, for their works. These self-made protections free

516-468: A high-level language implementation of Unix made its porting to different computer platforms easier. Due to an earlier antitrust case forbidding it from entering the computer business, AT&T licensed the operating system's source code as a trade secret to anyone who asked. As a result, Unix grew quickly and became widely adopted by academic institutions and businesses. In 1984, AT&T divested itself of its regional operating companies , and

645-424: 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

774-501: 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 and is easier than it would be for an operating system such as MacOS or Microsoft Windows . The Linux kernel, for example,

903-462: A source-code editor that can alert the programmer to common errors. Modification often includes code refactoring (improving the structure without changing functionality) and restructuring (improving structure and functionality at the same time). Nearly every change to code will introduce new bugs or unexpected ripple effects , which require another round of fixes. Code reviews by other developers are often used to scrutinize new code added to

1032-430: A trade secret . Proprietary, secret source code and algorithms are widely used for sensitive government applications such as criminal justice , which results in black box behavior with a lack of transparency into the algorithm's methodology. The result is avoidance of public scrutiny of issues such as bias. Access to the source code (not just the object code) is essential to modifying it. Understanding existing code

1161-464: A competing OS, agrees that "Linux wasn't designed, it evolved", but considers this to be a limitation, proposing that some features, especially those related to security, cannot be evolved into, "this is not a biological system at the end of the day, it's a software system." A Linux-based system is a modular Unix-like operating system, deriving much of its basic design from principles established in Unix during

1290-482: A computer program in which the source code is available to the general public for use for any (including commercial) purpose, or modification from its original design. Open-source code is meant to be a collaborative effort, where programmers improve upon the source code and share the changes within the community. Code is released under the terms of a software license . Depending on the license terms, others may then download, modify, and publish their version (fork) back to

1419-431: A computer, at base, only understands machine code , source code must be translated before a computer can execute it. The translation process can be implemented three ways. Source code can be converted into machine code by a compiler or an assembler . The resulting executable is machine code ready for the computer. Alternatively, source code can be executed without conversion via an interpreter . An interpreter loads

SECTION 10

#1732845693756

1548-967: A different window manager if preferred. Wayland is a display server protocol intended as a replacement for the X11 protocol; as of 2022, it has received relatively wide adoption. Unlike X11, Wayland does not need an external window manager and compositing manager. Therefore, a Wayland compositor takes the role of the display server, window manager, and compositing manager. Weston is the reference implementation of Wayland, while GNOME's Mutter and KDE's KWin are being ported to Wayland as standalone display servers. Enlightenment has already been successfully ported since version 19. 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. Linux currently has two modern kernel-userspace APIs for handling video input devices: V4L2 API for video streams and radio, and DVB API for digital TV reception. Due to

1677-515: 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

1806-508: A meeting held at Palo Alto, California , in reaction to Netscape 's announcement in January 1998 of a source code release for Navigator . Linus Torvalds gave his support the following day, and Phil Hughes backed the term in Linux Journal . Richard Stallman , the founder of the free software foundation (FSF) in 1985, quickly decided against endorsing the term. The FSF's goal was to promote

1935-460: A more commercially minded position. In addition, the ambiguity of the term "free software" was seen as discouraging business adoption. However, the ambiguity of the word "free" exists primarily in English as it can refer to cost. The group included Christine Peterson , Todd Anderson, Larry Augustin , Jon Hall , Sam Ockman , Michael Tiemann and Eric S. Raymond . Peterson suggested "open source" at

2064-448: A more nuanced position than corporations have traditionally sought. Instead of seeing intellectual property law as an expression of instrumental rules intended to uphold either natural rights or desirable outcomes, an argument for OSC takes into account diverse goods (as in "the Good life" ) and ends. Sites such as ccMixter offer up free web space for anyone willing to license their work under

2193-417: 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. 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

2322-478: A product (or service) of economic value, which they make available to contributors and noncontributors alike." This definition captures multiple instances, all joined by similar principles. For example, all of the elements – goods of economic value, open access to contribute and consume, interaction and exchange, purposeful yet loosely coordinated work – are present in an open-source software project, in Misplaced Pages, or in

2451-457: A product's design or blueprint, and universal redistribution of that design or blueprint. Before the phrase open source became widely adopted, developers and producers used a variety of other terms. Open source gained hold in part due to the rise of the Internet. The open-source software movement arose to clarify copyright , licensing , domain , and consumer issues. An open-source license

2580-457: A product, movie or CD. By removing the cultural middlemen, messageboards help speed the flow of information and exchange of ideas. OpenDocument is an open document file format for saving and exchanging editable office documents such as text documents (including memos, reports, and books), spreadsheets , charts, and presentations. Organizations and individuals that store their data in an open format such as OpenDocument avoid being locked into

2709-420: A product. Copyright creates a monopoly so that the price charged to consumers can be significantly higher than the marginal cost of production. This allows the author to recoup the cost of making the original work. Copyright thus creates access costs for consumers who value the work more than the marginal cost but less than the initial production cost. Access costs also pose problems for authors who wish to create

SECTION 20

#1732845693756

2838-444: A project. The purpose of this phase is often to verify that the code meets style and maintainability standards and that it is a correct implementation of the software design . According to some estimates, code review dramatically reduce the number of bugs persisting after software testing is complete. Along with software testing that works by executing the code, static program analysis uses automated tools to detect problems with

2967-411: A proprietary license and charge for copies, or an open license. Some goods which require large amounts of professional research and development, such as the pharmaceutical industry (which depends largely on patents, not copyright for intellectual property protection) are almost exclusively proprietary, although increasingly sophisticated technologies are being developed on open-source principles. There

3096-524: A real time conversation online) and image uploading. Some messageboards use phpBB , which is a free open-source package. Where blogs are more about individual expression and tend to revolve around their authors, messageboards are about creating a conversation amongst its users where information can be shared freely and quickly. Messageboards are a way to remove intermediaries from everyday life—for instance, instead of relying on commercials and other forms of advertising, one can ask other users for frank reviews of

3225-474: A requirement to preserve the name of the authors and a copyright statement within the code, or a requirement to redistribute the licensed software only under the same license (as in a copyleft license). One popular set of open-source software licenses are those approved by the Open Source Initiative (OSI) based on their Open Source Definition (OSD). Social and political views have been affected by

3354-481: 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

3483-472: A single software vendor, leaving them free to switch software if their current vendor goes out of business, raises their prices, changes their software, or changes their licensing terms to something less favorable. Open-source movie production is either an open call system in which a changing crew and cast collaborate in movie production, a system in which the result is made available for re-use by others or in which exclusively open-source products are used in

3612-671: A software format, is published and made available to the public, enabling anyone to copy, modify and redistribute the hardware and source code without paying royalties or fees. Open-source hardware evolves through community cooperation. These communities are composed of individual hardware/software developers, hobbyists, as well as very large companies. Examples of open-source hardware initiatives are: Some publishers of open-access journals have argued that data from food science and gastronomy studies should be freely available to aid reproducibility . A number of people have published creative commons licensed recipe books. An open-source robot

3741-492: A specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks. Another business model is to give away the software to sell hardware. This used to be the norm in the computer industry, with operating systems such as CP/M , Apple DOS , and versions of the classic Mac OS before 7.6 freely copyable (but not modifiable). As computer hardware standardized throughout

3870-406: A specific platform, source code can be ported to a different machine and recompiled there. For the same source code, object code can vary significantly—not only based on the machine for which it is compiled, but also based on performance optimization from the compiler. Most programs do not contain all the resources needed to run them and rely on external libraries . Part of the compiler's function

3999-967: A system's software from one central location. 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 . 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 , LinuxQuestions.org and

Linux - Misplaced Pages Continue

4128-416: A technology that makes webpages easily updatable with no understanding of design, code, or file transfer required. While corporations, political campaigns and other formal institutions have begun using these tools to distribute information, many blogs are used by individuals for personal expression, political organizing, and socializing. Some, such as LiveJournal or WordPress , use open-source software that

4257-405: A user forum or community. They can also be present in a commercial website that is based on user-generated content . In all of these instances of open collaboration, anyone can contribute and anyone can freely partake in the fruits of sharing, which are produced by interacting participants who are loosely coordinated. An annual conference dedicated to the research and practice of open collaboration

4386-401: A user may interact with the application; however, certain extensions of the X Window System are not capable of working over the network. Several X display servers exist, with the reference implementation, X.Org Server , being the most popular. Server distributions might provide a command-line interface for developers and administrators, but provide a custom interface for end-users, designed for

4515-453: 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. Many developers of open-source software agree that the Linux kernel was not designed but rather evolved through natural selection . Torvalds considers that although

4644-413: A vote, and the winner was announced at a press conference the same evening. Some economists agree that open-source is an information good or "knowledge good" with original work involving a significant amount of time, money, and effort. The cost of reproducing the work is low enough that additional users may be added at zero or near zero cost – this is referred to as the marginal cost of

4773-401: Is peer production , with products such as source code, blueprints , and documentation freely available to the public. The open-source movement in software began as a response to the limitations of proprietary code. The model is used for projects such as in open-source appropriate technology , and open-source drug discovery. The open-source model for software development inspired the use of

4902-467: Is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open source model is a decentralized software development model that encourages open collaboration . A main principle of open source software development is peer production , with products such as source code, blueprints , and documentation freely available to

5031-409: Is a robot whose blueprints, schematics, or source code are released under an open-source model Free and open-source software (FOSS) or free/libre and open-source software (FLOSS) is openly shared source code that is licensed without any restrictions on usage, modification, or distribution. Confusion persists about this definition because the "free", also known as "libre", refers to the freedom of

5160-414: Is a type of license for computer software and other products that allows the source code , blueprint or design to be used, modified or shared (with or without modification) under defined terms and conditions. This allows end users and commercial companies to review and modify the source code, blueprint or design for their own customization, curiosity or troubleshooting needs. Open-source licensed software

5289-442: Is an overarching term that can refer to a code's correct and efficient behavior, its reusability and portability , or the ease of modification. It is usually more cost-effective to build quality into the product from the beginning rather than try to add it later in the development process. Higher quality code will reduce lifetime cost to both suppliers and customers as it is more reliable and easier to maintain . Maintainability

Linux - Misplaced Pages Continue

5418-412: Is built on top of an implementation of the X Window System . More recently, the Linux community has sought to advance to Wayland as the new display server protocol, in place of X11. Many other open-source software projects contribute to Linux systems. Installed components of a Linux system include the following: The user interface , also known as the shell , is either a command-line interface (CLI),

5547-404: Is evidence that open-source development creates enormous value. For example, in the context of open-source hardware design, digital designs are shared for free and anyone with access to digital manufacturing technologies (e.g. RepRap 3D printers) can replicate the product for the cost of materials. The original sharer may receive feedback and potentially improvements on the original design from

5676-452: Is frequently cited as a contributing factor to the maturation of their programming skills. Some people consider source code an expressive artistic medium . Source code often contains comments —blocks of text marked for the compiler to ignore. This content is not part of the program logic, but is instead intended to help readers understand the program. Companies often keep the source code confidential in order to hide algorithms considered

5805-553: 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. 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 May 2022. Linux is, as of March 2024, used by around 4 percent of desktop computers . The Chromebook , which runs

5934-401: Is mostly available free of charge, though this does not necessarily have to be the case. Licenses which only permit non-commercial redistribution or modification of the source code for personal use only are generally not considered as open-source licenses. However, open-source licenses may have some restrictions, particularly regarding the expression of respect to the origin of software, such as

6063-496: Is necessary to understand how it works and before modifying it. The rate of understanding depends both on the code base as well as the skill of the programmer. Experienced programmers have an easier time understanding what the code does at a high level. Software visualization is sometimes used to speed up this process. Many software programmers use an integrated development environment (IDE) to improve their productivity. IDEs typically have several features built in, including

6192-443: Is open to the public and can be modified by users to fit their own tastes. Whether the code is open or not, this format represents a nimble tool for people to borrow and re-present culture; whereas traditional websites made the illegal reproduction of culture difficult to regulate, the mutability of blogs makes "open sourcing" even more uncontrollable since it allows a larger portion of the population to replicate material more quickly in

6321-478: 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 . 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

6450-711: Is software which source code is published and made available to the public, enabling anyone to copy, modify and redistribute the source code without paying royalties or fees. LibreOffice and the GNU Image Manipulation Program are examples of open source software. As they do with proprietary software, users must accept the terms of a license when they use open source software—but the legal terms of open source licenses differ dramatically from those of proprietary licenses. Open-source code can evolve through community cooperation. These communities are composed of individual programmers as well as large companies. Some of

6579-617: Is that many software engineering courses do not emphasize it. Development engineers who know that they will not be responsible for maintaining the software do not have an incentive to build in maintainability. The situation varies worldwide, but in the United States before 1974, software and its source code was not copyrightable and therefore always public domain software . In 1974, the US Commission on New Technological Uses of Copyrighted Works (CONTU) decided that "computer programs, to

SECTION 50

#1732845693756

6708-402: 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. 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,

6837-529: Is the Bourne-Again Shell (bash), originally developed for the GNU Project, other shells such as Zsh are also used. Most low-level Linux components, including various parts of the userland , use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks and provides very simple inter-process communication . On desktop systems, the most popular user interfaces are

6966-590: Is the International Symposium on Wikis and Open Collaboration (OpenSym, formerly WikiSym). As per its website, the group defines open collaboration as "collaboration that is egalitarian (everyone can join, no principled or artificial barriers to participation exist), meritocratic (decisions and status are merit-based rather than imposed) and self-organizing (processes adapt to people rather than people adapt to pre-defined processes)." Open source promotes universal access via an open-source or free license to

7095-477: Is the quality of software enabling it to be easily modified without breaking existing functionality. Following coding conventions such as using clear function and variable names that correspond to their purpose makes maintenance easier. Use of conditional loop statements only if the code could execute more than once, and eliminating code that will never execute can also increase understandability. Many software development organizations neglect maintainability during

7224-418: Is to link these files in such a way that the program can be executed by the hardware. Software developers often use configuration management to track changes to source code files ( version control ). The configuration management system also keeps track of which object code file corresponds to which version of the source code file. The number of lines of source code is often used as a metric when evaluating

7353-462: 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 ), automobiles (Tesla, Audi, Mercedes-Benz, Hyundai, and Toyota), and spacecraft ( Falcon 9 rocket, Dragon crew capsule, and the Ingenuity Mars helicopter). The Unix operating system

7482-414: 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 . When combined with Android , which is Linux-based and designed for smartphones , they have the largest installed base of all general-purpose operating systems . The Linux kernel

7611-466: 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

7740-486: 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. Minix

7869-647: The GNU Project — to create a complete operating system. 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 . Thousands of distributions exist, many based directly or indirectly on other distributions; popular Linux distributions include Debian , Fedora Linux , Arch Linux , and Ubuntu , while commercial distributions include Red Hat Enterprise Linux and SUSE Linux Enterprise . Other than

SECTION 60

#1732845693756

7998-736: 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

8127-470: 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". It provides network transparency and permits a graphical application running on one system to be displayed on another where

8256-691: 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 ). Open source Open source

8385-458: The compilers needed to translate the source code automatically into machine code that can be directly executed on the computer hardware . Source code is the form of code that is modified directly by humans, typically in a high-level programming language. Object code can be directly executed by the machine and is generated automatically from the source code, often via an intermediate step, assembly language . While object code will only work on

8514-550: The peer production community. Many open-source projects have a high economic value. According to the Battery Open Source Software Index (BOSS), the ten economically most important open-source projects are: The rank given is based on the activity regarding projects in online discussions, on GitHub, on search activity in search engines and on the influence on the labour market. Alternative arrangements have also been shown to result in good creation outside of

8643-538: The source code is available to the general public for use or modification from its original design. Code is released under the terms of a software license . Depending on the license terms, others may then download, modify, and publish their version (fork) back to the community. Many large formal institutions have sprung up to support the development of the open-source movement, including the Apache Software Foundation , which supports community projects such as

8772-480: The "Open Source Summit", the event was attended by the leaders of many of the most important free and open-source projects, including Linus Torvalds, Larry Wall , Brian Behlendorf , Eric Allman , Guido van Rossum , Michael Tiemann , Paul Vixie , Jamie Zawinski , and Eric Raymond. At that meeting, alternatives to the term "free software" were discussed. Tiemann argued for "sourceware" as a new term, while Raymond argued for "open source." The assembled developers took

8901-463: 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. 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

9030-450: 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. Most programming languages support Linux either directly or through third-party community based ports . The original development tools used for building both Linux applications and operating system programs are found within

9159-658: 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. Linux-based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX, SUS , LSB , ISO , and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT. Free software projects, although developed through collaboration , are often produced independently of each other. The fact that

9288-526: The Internet can be virtually costless. Technologies such as BitTorrent and Gnutella take advantage of various characteristics of the Internet protocol ( TCP/IP ) in an attempt to totally decentralize file distribution. Open-source ethics is split into two strands: Irish philosopher Richard Kearney has used the term "open-source Hinduism " to refer to the way historical figures such as Mohandas Gandhi and Swami Vivekananda worked upon this ancient tradition. Open-source journalism formerly referred to

9417-459: The Linux kernel, key components that make up a distribution may include a display server (windowing system) , a package manager , a bootloader and the Bash 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, and

9546-640: The Linux kernel-based ChromeOS , dominates the US K–12 education market and represents nearly 20 percent of sub-$ 300 notebook sales in the US. Linux is the leading operating system on servers (over 96.4% of the top one million web servers' operating systems are Linux), leads other big iron systems such as mainframe computers , and is used on all of the world's 500 fastest supercomputers (as of November 2017, having gradually displaced all competitors). Linux also runs on embedded systems , i.e., devices whose operating system

9675-604: 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 . 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

9804-414: The beginning, it was rather casually hacked on by huge numbers of volunteers coordinating only through the Internet. Quality was maintained not by rigid standards or autocracy but by the naively simple strategy of releasing every week and getting feedback from hundreds of users within days, creating a sort of rapid Darwinian selection on the mutations introduced by developers." Bryan Cantrill , an engineer of

9933-409: The community. The rise of open-source culture in the 20th century resulted from a growing tension between creative practices that involve require access to content that is often copyrighted , and restrictive intellectual property laws and policies governing access to copyrighted content. The two main ways in which intellectual property laws became more restrictive in the 20th century were extensions to

10062-445: 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. The primary difference between Linux and many other popular contemporary operating systems

10191-463: The design of Unix served as a scaffolding, "Linux grew with a lot of mutations – and because the mutations were less than random, they were faster and more directed than alpha-particles in DNA ." Eric S. Raymond considers Linux's revolutionary aspects to be social, not technical: before Linux, complex software was designed carefully by small groups, but "Linux evolved in a completely different way. From nearly

10320-400: The details of the hardware, instead being designed to express algorithms that could be understood more easily by humans. As instructions distinct from the underlying computer hardware , software is therefore relatively recent, dating to these early high-level programming languages such as Fortran , Lisp , and Cobol . The invention of high-level programming languages was simultaneous with

10449-528: The development and use of free software, which they defined as software that grants users the freedom to run, study, share, and modify the code. This concept is similar to open source but places a greater emphasis on the ethical and political aspects of software freedom. Netscape released its source code under the Netscape Public License and later under the Mozilla Public License . Raymond

10578-499: The development of 386BSD , from which NetBSD , OpenBSD and FreeBSD descended, predated that of Linux. Linus Torvalds has stated on separate occasions that if the GNU kernel or 386BSD had been available at the time (1991), he probably would not have created Linux. While attending the University of Helsinki in the fall of 1990, Torvalds enrolled in a Unix course. The course used a MicroVAX minicomputer running Ultrix , and one of

10707-526: The development of the Linux kernel on Minix and applications written for Minix were also used on Linux. Later, Linux matured and further Linux kernel development took place on Linux systems. GNU applications also replaced all Minix components, because it was advantageous to use the freely available code from the GNU Project with the fledgling operating system; code licensed under the GNU GPL can be reused in other computer programs as long as they also are released under

10836-474: 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. 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

10965-426: The development phase, even though it will increase long-term costs. Technical debt is incurred when programmers, often out of laziness or urgency to meet a deadline, choose quick and dirty solutions rather than build maintainability into their code. A common cause is underestimates in software development effort estimation , leading to insufficient resources allocated to development. A challenge with maintainability

11094-493: The exchange of money among all the manufacturers. By the time the US entered World War II , 92 Ford patents and 515 patents from other companies were being shared among these manufacturers, without any exchange of money (or lawsuits). Early instances of the free sharing of source code include IBM 's source releases of its operating systems and other programs in the 1950s and 1960s, and the SHARE user group that formed to facilitate

11223-430: The exchange of software. Beginning in the 1960s, ARPANET researchers used an open " Request for Comments " (RFC) process to encourage feedback in early telecommunication network protocols. This led to the birth of the early Internet in 1969. The sharing of source code on the Internet began when the Internet was relatively primitive, with software distributed via UUCP , Usenet , IRC , and Gopher . BSD , for example,

11352-406: The extent that they embody an author's original creation, are proper subject matter of copyright". Proprietary software is rarely distributed as source code. Although the term open-source software literally refers to public access to the source code , open-source software has additional requirements: free redistribution, permission to modify the source code and release derivative works under

11481-542: The federal government of Brazil . 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. Zoë Kooyman is the executive director of the Free Software Foundation, which in turn supports the GNU components. Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise

11610-464: The first version of the Linux kernel on the Internet . Like GNU and 386BSD, Linux did not have any Unix code and therefore avoided any current legal issues . 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

11739-446: The general society of the costs of policing copyright infringement. Others argue that since consumers do not pay for their copies, creators are unable to recoup the initial cost of production and thus have little economic incentive to create in the first place. By this argument, consumers would lose out because some of the goods they would otherwise purchase would not be available. In practice, content producers can choose whether to adopt

11868-443: The growth of the concept of open source. Advocates in one field often support the expansion of open source in other fields. But Eric Raymond and other founders of the open-source movement have sometimes publicly argued against speculation about applications outside software, saying that strong arguments for software openness should not be weakened by overreaching into areas where the story may be less compelling. The broader impact of

11997-429: The individual programmers who start an open-source project may end up establishing companies offering products or services incorporating open-source programs. Examples of open-source software products are: The Google Summer of Code , often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during

12126-689: The industry and force car manufacturers to adhere to their demands, or risk a lawsuit. In 1911, independent automaker Henry Ford won a challenge to the Selden patent . The result was that the Selden patent became virtually worthless and a new association (which would eventually become the Motor Vehicle Manufacturers Association ) was formed. The new association instituted a cross-licensing agreement among all US automotive manufacturers: although each company would develop technology and file patents, these patents were shared openly and without

12255-475: The instructions can be carried out. After being compiled, the program can be saved as an object file and the loader (part of the operating system) can take this saved file and execute it as a process on the computer hardware. Some programming languages use an interpreter instead of a compiler. An interpreter converts the program into machine code at run time , which makes them 10 to 100 times slower than compiled programming languages. Software quality

12384-513: 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. Today, Linux systems are used throughout computing, from embedded systems to virtually all supercomputers , and have secured

12513-436: The open-source framework Apache Hadoop and the open-source HTTP server Apache HTTP . The sharing of technical information predates the Internet and the personal computer considerably. For instance, in the early years of automobile development a group of capital monopolists owned the rights to a 2-cycle gasoline-engine patent originally filed by George B. Selden . By controlling this patent, they were able to monopolize

12642-468: The open-source movement, and the extent of its role in the development of new information sharing procedures, remain to be seen. The open-source movement has inspired increased transparency and liberty in biotechnology research, for example CAMBIA Even the research methodologies themselves can benefit from the application of open-source principles. It has also given rise to the rapidly-expanding open-source hardware movement. Open-source software

12771-501: 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

12900-404: The phrase open source became widely adopted, developers and producers used a variety of other terms, such as free software , shareware , and public domain software . Open source gained hold with the rise of the Internet. The open-source software movement arose to clarify copyright , licensing , domain , and consumer issues. Generally, open source refers to a computer program in which

13029-426: The processor). Machine language was difficult to debug and was not portable between different computer systems. Initially, hardware resources were scarce and expensive, while human resources were cheaper. As programs grew more complex, programmer productivity became a bottleneck. This led to the introduction of high-level programming languages such as Fortran in the mid-1950s. These languages abstracted away

13158-713: The product, not the price, expense, cost, or charge. For example, "being free to speak" is not the same as "free beer". Conversely, Richard Stallman argues the "obvious meaning" of term "open source" is that the source code is public/accessible for inspection, without necessarily any other rights granted, although the proponents of the term say the conditions in the Open Source Definition must be fulfilled. "Free and open" should not be confused with public ownership ( state ownership ), deprivatization ( nationalization ), anti-privatization ( anti-corporate activism ), or transparent behavior . Generally, open source refers to

13287-404: The production. The 2006 movie Elephants Dream is said to be the "world's first open movie", created entirely using open-source technology. Source code In computing , source code , or simply code or source , is a plain text computer program written in a programming language . A programmer writes the human readable source code to control the behavior of a computer . Since

13416-465: The productivity of computer programmers, the economic value of a code base, effort estimation for projects in development, and the ongoing cost of software maintenance after release. Source code is also used to communicate algorithms between people – e.g., code snippets online or in books. Computer programmers may find it helpful to review existing source code to learn about programming techniques. The sharing of source code between developers

13545-465: The proprietary license model. Examples include: The open-source model is a decentralized software development model that encourages open collaboration , meaning "any system of innovation or production that relies on goal-oriented yet loosely coordinated participants who interact to create a product (or service) of economic value, which they make available to contributors and noncontributors alike." A main principle of open-source software development

13674-482: The protective actions of copyright owners create what some call a " chilling effect " among cultural practitioners. The idea of an "open-source" culture runs parallel to " Free Culture ", but is substantively different. Free culture is a term derived from the free software movement , and in contrast to that vision of culture, proponents of open-source culture (OSC) maintain that some intellectual property law needs to exist to protect cultural producers. Yet they propose

13803-510: The public sphere. Messageboards are another platform for open-source culture. Messageboards (also known as discussion boards or forums), are places online where people with similar interests can congregate and post messages for the community to read and respond to. Messageboards sometimes have moderators who enforce community standards of etiquette such as banning spammers . Other common board features are private messages (where users can send messages to one another) as well as chat (a way to have

13932-409: The public. The open source movement in software began as a response to the limitations of proprietary code . The model is used for projects such as in open source appropriate technology , and open source drug discovery. Open source promotes universal access via an open-source or free license to a product's design or blueprint, and universal redistribution of that design or blueprint. Before

14061-453: The required texts was Operating Systems: Design and Implementation by Andrew S. Tanenbaum . This textbook included a copy of Tanenbaum's Minix operating system. It was with this course that Torvalds first became exposed to Unix. In 1991, he became curious about operating systems. Frustrated by the licensing of Minix, which at the time limited it to educational use only, he began to work on his operating system kernel, which eventually became

14190-410: The same or a compatible license. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, creating a fully functional and free operating system. Linus Torvalds had wanted to call his invention " Freax ", a portmanteau of "free", "freak", and "x" (as an allusion to Unix). During

14319-441: 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

14448-432: The source code into memory. It simultaneously translates and executes each statement . A method that combines compilation and interpretation is to first produce bytecode . Bytecode is an intermediate representation of source code that is quickly interpreted. The first programmable computers, which appeared at the end of the 1940s, were programmed in machine language (simple instructions that could be directly executed by

14577-414: The source code. Many IDEs support code analysis tools, which might provide metrics on the clarity and maintainability of the code. Debuggers are tools that often enable programmers to step through execution while keeping track of which source code corresponds to each change of state. Source code files in a high-level programming language must go through a stage of preprocessing into machine code before

14706-683: The standard journalistic techniques of news gathering and fact checking, reflecting open-source intelligence , a similar term used in military intelligence circles. Now, open-source journalism commonly refers to forms of innovative publishing of online journalism , rather than the sourcing of news stories by a professional journalist. In the 25 December 2006 issue of TIME magazine this is referred to as user created content and listed alongside more traditional open-source projects such as OpenSolaris and Linux . Weblogs , or blogs, are another significant platform for open-source culture. Blogs consist of periodic, reverse chronologically ordered posts, using

14835-568: The start of his work on the system, some of the project's makefiles included the name "Freax" for about half a year. Initially, Torvalds considered the name "Linux" but dismissed it as too egotistical. To facilitate development, the files were uploaded to the FTP server ( ftp.funet.fi ) of FUNET in September 1991. Ari Lemmke, Torvalds' coworker at the Helsinki University of Technology (HUT) who

14964-720: The summer. GSoC is a large scale project with 202 participating organizations in 2021. There are similar smaller scale projects such as the Talawa Project run by the Palisadoes Foundation (a non profit based in California, originally to promote the use of information technology in Jamaica, but now also supporting underprivileged communities in the US) Open-source hardware is hardware which initial specification, usually in

15093-540: The term of copyright (particularly in the United States) and penalties, such as those articulated in the Digital Millennium Copyright Act (DMCA), placed on attempts to circumvent anti-piracy technologies. Although artistic appropriation is often permitted under fair-use doctrines, the complexity and ambiguity of these doctrines creates an atmosphere of uncertainty among cultural practitioners. Also,

15222-1044: The term to refer to other forms of open collaboration, such as in Internet forums , mailing lists and online communities . Open collaboration is also thought to be the operating principle underlining a gamut of diverse ventures, including TEDx and Misplaced Pages. Open collaboration is the principle underlying peer production , mass collaboration , and wikinomics . It was observed initially in open-source software, but can also be found in many other instances, such as in Internet forums , mailing lists , Internet communities, and many instances of open content , such as Creative Commons . It also explains some instances of crowdsourcing , collaborative consumption , and open innovation . Riehle et al. define open collaboration as collaboration based on three principles of egalitarianism , meritocracy , and self-organization . Levine and Prietula define open collaboration as "any system of innovation or production that relies on goal-oriented yet loosely coordinated participants who interact to create

15351-471: The use case of the system. This custom interface is accessed through a client that resides on another system, not necessarily Linux-based. Several types of window 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

15480-557: 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. Although Linux distributions are generally available without charge, several large corporations sell, support, and contribute to

15609-428: The word "Linux" should be pronounced, he included an audio guide with the kernel source code. However, in this recording, he pronounces Linux as /ˈlinʊks/ ( LEEN -uuks ) with a short but close front unrounded vowel , instead of a near-close near-front unrounded vowel as in his newsgroup post. The adoption of Linux in production environments, rather than being used only by hobbyists, started to take off first in

15738-444: Was conceived and implemented in 1969, at AT&T 's Bell Labs , in the United States by Ken Thompson , Dennis Ritchie , Douglas McIlroy , and Joe Ossanna . 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

15867-493: 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. Although not released until 1992, due to legal complications ,

15996-509: 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 . While a separate working Unix-compatible system called Minix was later released, its license was not entirely free at the time. The first entirely free Unix for personal computers, 386BSD , did not appear until 1992, by which time Torvalds had already built and publicly released

16125-477: Was especially active in the effort to popularize the new term. He made the first public call to the free software community to adopt it in February 1998. Shortly after, he founded The Open Source Initiative in collaboration with Bruce Perens . The term gained further visibility through an event organized in April 1998 by technology publisher Tim O'Reilly . Originally titled the "Freeware Summit" and later known as

16254-450: Was first widely distributed by posts to comp.os.linux on the Usenet, which is also where its development was discussed. Linux followed in this model. Open source as a term emerged in the late 1990s by a group of people in the free software movement who were critical of the political agenda and moral philosophy implied in the term "free software" and sought to reframe the discourse to reflect

16383-456: Was later originally developed, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system. With Unix increasingly "locked in" as a proprietary product, the GNU Project , 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. Later, in 1985, Stallman started

16512-507: 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 ( / ˈ l ɪ n ʊ k s / LIN -uuks ) with a short 'i' as in 'print' and 'u' as in 'put'. To further demonstrate how

16641-516: Was released from its obligation not to enter the computer business; freed of that obligation, Bell Labs began selling Unix as a proprietary product, where users were not legally allowed to modify it. Onyx Systems 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

#755244