Linux began in 1991 as a personal project by Finnish student Linus Torvalds to create a new free operating system kernel. The resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.15 version in 2018 with more than 23.3 million lines of source code, not counting comments,[1] under the GNU General Public License v2 with a syscall exception meaning anything that uses the kernel via system calls are not subject to the GNU GPL.[2]
After AT&T had dropped out of the Multics project, the Unix operating system was conceived and implemented by Ken Thompson and Dennis Ritchie (both of AT&T Bell Laboratories) in 1969 and first released in 1970. Later they rewrote it in a new programming language, C, to make it portable. The availability and portability of Unix caused it to be widely adopted, copied and modified by academic institutions and businesses.
In 1977, the Berkeley Software Distribution (BSD) was developed by the Computer Systems Research Group (CSRG) from UC Berkeley, based on the 6th edition of Unix from AT&T. Since BSD contained Unix code that AT&T owned, AT&T filed a lawsuit (USL v. BSDi) in the early 1990s against the University of California. This strongly limited the development and adoption of BSD.[3] [4]
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 didn't utilize commodity PC hardware like Linux was later developed for, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system.[5] [6]
In 1983, Richard Stallman started the GNU Project with the goal of creating a free UNIX-like operating system.[7] As part of this work, he wrote the GNU General Public License (GPL). By the early 1990s, there was almost enough available software to create a full operating system. However, the GNU kernel, called Hurd, failed to attract enough development effort, leaving GNU incomplete.
In 1985, Intel released the 80386, the first x86 microprocessor with a 32-bit instruction set and a memory management unit with paging.[8]
In 1986, Maurice J. Bach, of AT&T Bell Labs, published The Design of the UNIX Operating System. This definitive description principally covered the System V Release 2 kernel, with some new features from Release 3 and BSD.
In 1987, MINIX, a Unix-like system intended for academic use, was released by Andrew S. Tanenbaum to exemplify the principles conveyed in his textbook, . While source code for the system was available, modification and redistribution were restricted. In addition, MINIX's 16-bit design was not well adapted to the 32-bit features of the increasingly cheap and popular Intel 386 architecture for personal computers. In the early nineties a commercial UNIX operating system for Intel 386 PCs was too expensive for private users.[9]
These factors and the lack of a widely adopted, free kernel provided the impetus for Torvalds' starting his project. He has stated that if either the GNU Hurd or 386BSD kernels had been available at the time, he likely would not have written his own.[10] [11]
In 1991, while studying computer science at University of Helsinki, Linus Torvalds began a project that later became the Linux kernel. He wrote the program specifically for the hardware he was using and independent of an operating system because he wanted to use the functions of his new PC with an 80386 processor. Development was done on MINIX using the GNU C Compiler.
On July 3, 1991, in an effort to implement Unix system calls in his project, Linus Torvalds attempted to obtain a digital copy of the POSIX standards documentation with a request to the comp.os.minix newsgroup.[12] He was not successful in finding the POSIX documentation, so 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 that was a part of the Unix course.
As Torvalds wrote in his book Just for Fun,[13] he eventually ended up writing an operating system kernel. On 25 August 1991, he (at age) announced this system in another posting to the comp.os.minix newsgroup:[14]
According to Torvalds, Linux began to gain importance in 1992 after the X Window System was ported to Linux by Orest Zborowski, which allowed Linux to support a GUI for the first time.
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, he stored the files under the name "Freax" for about half of a year. Torvalds had already considered the name "Linux", but initially dismissed it as too egotistical.
In order to facilitate development, the files were uploaded to the FTP server (ftp.funet.fi) of FUNET in September 1991. Ari Lemmke at 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".
To demonstrate how the word "Linux" should be pronounced (pronounced as /[ˈliːnɵks]/), Torvalds included an audio guide with the kernel source code.[15]
Torvalds first published the Linux kernel under its own licence,[16] which had a restriction on commercial activity.
The software to use with the kernel was software developed as part of the GNU project licensed under the GNU General Public License, a free software license. The first release of the Linux kernel, Linux 0.01, included a binary of GNU's Bash shell.[17]
In the "Notes for linux release 0.01", Torvalds lists the GNU software that is required to run Linux:[17]
In 1992, he suggested releasing the kernel under the GNU General Public License. He first announced this decision in the release notes of version 0.12.[18] In the middle of December 1992 he published version 0.99 using the GNU GPL.[19] Linux and GNU developers worked to integrate GNU components with Linux to make a fully functional and free operating system.[20] Torvalds has stated, "making Linux GPLed was definitely the best thing I ever did."[21]
Around 2000, Torvalds clarified that the Linux kernel uses the GPLv2 license, without the common "or later clause".[22] [23]
After years of draft discussions, the GPLv3 was released in 2007; however, Torvalds and the majority of kernel developers decided against adopting the new license.[24] [25] [26]
The designation "Linux" was initially used by Torvalds only for the Linux kernel. The kernel was, however, frequently used together with other software, especially that of the GNU project. This quickly became the most popular adoption of GNU software. In June 1994 in GNU's Bulletin, Linux was referred to as a "free UNIX clone", and the Debian project began calling its product Debian GNU/Linux. In May 1996, Richard Stallman published the editor Emacs 19.31, in which the type of system was renamed from Linux to Lignux. This spelling was intended to refer specifically to the combination of GNU and Linux, but this was soon abandoned in favor of "GNU/Linux".[27]
This name garnered varying reactions. The GNU and Debian projects use the name, although most people simply use the term "Linux" to refer to the combination.[28]
Torvalds announced in 1996 that there would be a mascot for Linux, a penguin. This was because when they were about to select the mascot, Torvalds mentioned he was bitten by a little penguin (Eudyptula minor) on a visit to the National Zoo & Aquarium in Canberra, Australia. Larry Ewing provided the original draft of today's well known mascot based on this description. The name Tux was suggested by James Hughes as derivative of Torvalds' UniX, along with being short for tuxedo, a type of suit with color similar to that of a penguin.
The largest part of the work on Linux is performed by the community: the thousands of programmers around the world that use Linux and send their suggested improvements to the maintainers. Various companies have also helped not only with the development of the kernels, but also with the writing of the body of auxiliary software, which is distributed with Linux. As of February 2015, over 80% of Linux kernel developers are paid.
It is released both by organized projects such as Debian, and by projects connected directly with companies such as Fedora and openSUSE. The members of the respective projects meet at various conferences and fairs, in order to exchange ideas. One of the largest of these fairs is the LinuxTag in Germany, where about 10,000 people assemble annually to discuss Linux and the projects associated with it.
The Open Source Development Lab (OSDL) was created in the year 2000, and is an independent nonprofit organization which pursues the goal of optimizing Linux for employment in data centers and in the carrier range. It served as sponsored working premises for Linus Torvalds and also for Andrew Morton (until the middle of 2006 when Morton transferred to Google). Torvalds worked full-time on behalf of OSDL, developing the Linux kernels.
On 22 January 2007, OSDL and the Free Standards Group merged to form The Linux Foundation, narrowing their respective focuses to that of promoting Linux in competition with Microsoft Windows.[29] [30] As of 2015, Torvalds remains with the Linux Foundation as a Fellow.[31]
Despite being freely available, companies profit from Linux. These companies, many of which are also members of the Linux Foundation, invest substantial resources into the advancement and development of Linux, in order to make it suited for various application areas. This includes hardware donations for driver developers, cash donations for people who develop Linux software, and the employment of Linux programmers at the company. Some examples are Dell, IBM, and Hewlett-Packard, which validate, use and sell Linux on their own servers, and Red Hat (now part of IBM) and SUSE, which maintain their own enterprise distributions. Likewise, Digia supports Linux by the development and LGPL licensing of the Qt toolkit, which makes the development of KDE possible, and by employing some of the X and KDE developers.
KDE was the first advanced desktop environment (version 1.0 released in July 1998), but it was controversial due to the then-proprietary Qt toolkit used.[32] GNOME was developed as an alternative due to licensing questions.[32] The two use a different underlying toolkit and thus involve different programming, and are sponsored by two different groups, German nonprofit KDE e.V. and the United States nonprofit GNOME Foundation.
As of April 2007, one journalist estimated that KDE had 65% of market share versus 26% for GNOME.[32] In January 2008, KDE 4 was released prematurely with bugs, driving some users to GNOME.[33] GNOME 3, released in April 2011, was called an "unholy mess" by Linus Torvalds due to its controversial design changes.[34]
Dissatisfaction with GNOME 3 led to a fork, Cinnamon, which is developed primarily by Linux Mint developer Clement LeFebvre. This restores the more traditional desktop environment with marginal improvements.
The relatively well-funded distribution, Ubuntu, designed (and released in June 2011) another user interface called Unity which is radically different from the conventional desktop environment and has been criticized as having various flaws[35] and lacking configurability.[36] The motivation was a single desktop environment for desktops and tablets, although as of November 2012 Unity has yet to be used widely in tablets. However, the smartphone and tablet version of Ubuntu and its Unity interface was unveiled by Canonical Ltd in January 2013. In April 2017, Canonical canceled the phone-based Ubuntu Touch project entirely in order to focus on IoT projects such as Ubuntu Core.[37] In April 2017, Canonical dropped Unity and began to use GNOME for the Ubuntu releases from 17.10 onward.[38]
See main article: article and Tanenbaum–Torvalds debate. In 1992, Andrew S. Tanenbaum, recognized computer scientist and author of the Minix microkernel system, wrote a Usenet article on the newsgroup comp.os.minix with the title "Linux is obsolete",[39] which marked the beginning of a famous debate about the structure of the then-recent Linux kernel. Among the most significant criticisms were that:
Tanenbaum's prediction that Linux would become outdated within a few years and replaced by GNU Hurd (which he considered to be more modern) proved incorrect. Linux has been ported to all major platforms and its open development model has led to an exemplary pace of development. In contrast, GNU Hurd has not yet reached the level of stability that would allow it to be used on a production server.[43] His dismissal of the Intel line of 386 processors as 'weird' has also proven short-sighted, as the x86 series of processors and the Intel Corporation would later become near ubiquitous in personal computers and servers.
In his unpublished book Samizdat, Kenneth Brown claims that Torvalds illegally copied code from MINIX. In May 2004, these claims were refuted by Tanenbaum, the author of MINIX:[44]
The book's claims, methodology and references were seriously questioned and in the end it was never released and was delisted from the distributor's site.
Although Torvalds has said that Microsoft's feeling threatened by Linux in the past was of no consequence to him, the Microsoft and Linux camps had a number of antagonistic interactions between 1997 and 2001. This became quite clear for the first time in 1998, when the first Halloween document was brought to light by Eric S. Raymond. This was a short essay by a Microsoft developer that sought to lay out the threats posed to Microsoft by free software and identified strategies to counter these perceived threats.[45] It went on to include a comparison between Windows NT Server and Linux called "Linux Myths" on Microsoft's website in October 1999.[46]
Competition entered a new phase in the beginning of 2004, when Microsoft published results from customer case studies evaluating the use of Windows vs. Linux under the name "Get the Facts" on its own web page. Based on inquiries, research analysts, and some Microsoft sponsored investigations, the case studies claimed that enterprise use of Linux on servers compared unfavorably to the use of Windows in terms of reliability, security, and total cost of ownership.[47]
In response, commercial Linux distributors produced their own studies, surveys and testimonials to counter Microsoft's campaign. Novell's web-based campaign at the end of 2004 was entitled "Unbending the truth" and sought to outline the advantages as well as dispelling the widely publicized legal liabilities of Linux deployment (particularly in light of the SCO v IBM case). Novell particularly referenced the Microsoft studies in many points. IBM also published a series of studies under the title "The Linux at IBM competitive advantage" to again parry Microsoft's campaign. Red Hat had a campaign called "Truth Happens" aimed at letting the performance of the product speak for itself, rather than advertising the product by studies.
In the autumn of 2006, Novell and Microsoft announced an agreement to co-operate on software interoperability and patent protection.[48] This included an agreement that customers of either Novell or Microsoft may not be sued by the other company for patent infringement. This patent protection was also expanded to non-commercial free software developers. The last part was criticized because it only included non-commercial free software developers.
In July 2009, Microsoft submitted 22,000 lines of source code to the Linux kernel under the GPLV2 license, which were subsequently accepted. Although this has been referred to as "a historic move" and as a possible bellwether of an improvement in Microsoft's corporate attitudes toward Linux and open-source software, the decision was not altogether altruistic, as it promised to lead to significant competitive advantages for Microsoft and avoided legal action against Microsoft. Microsoft was actually compelled to make the code contribution when Vyatta principal engineer and Linux contributor Stephen Hemminger discovered that Microsoft had incorporated a Hyper-V network driver, with GPL-licensed open source components, statically linked to closed-source binaries in contravention of the GPL licence. Microsoft contributed the drivers to rectify the licence violation, although the company attempted to portray it as a charitable act, rather than one to avoid legal action against it. In the past Microsoft had termed Linux a "cancer" and "communist".[49] [50] [51] [52] [53]
By 2011, Microsoft had become the 17th largest contributor to the Linux kernel.[54] As of February 2015, Microsoft was no longer among the top 30 contributing sponsor companies.
The Windows Azure project was announced in 2008 and renamed to Microsoft Azure. It incorporates Linux as part of its suite of server-based software applications. In August 2018, SUSE created a Linux kernel specifically tailored to the cloud computing applications under the Microsoft Azure project umbrella. Speaking about the kernel port, a Microsoft representative said "The new Azure-tuned kernel allows those customers to quickly take advantage of new Azure services such as Accelerated Networking with SR-IOV."[55]
In recent years, Torvalds has expressed a neutral to friendly attitude towards Microsoft following the company's new embrace of open source software and collaboration with the Linux community. "The whole anti-Microsoft thing was sometimes funny as a joke, but not really." said Torvalds in an interview with ZDNet. "Today, they're actually much friendlier. I talk to Microsoft engineers at various conferences, and I feel like, yes, they have changed, and the engineers are happy. And they're like really happy working on Linux. So I completely dismissed all the anti-Microsoft stuff."[56]
In May 2023, Microsoft publicly released their Azure Linux distribution.[57]
See main article: article and SCO–Linux disputes. In March 2003, the SCO Group accused IBM of violating their copyright on UNIX by transferring code from UNIX to Linux. SCO claims ownership of the copyrights on UNIX and a lawsuit was filed against IBM. Red Hat has counter-sued and SCO has since filed other related lawsuits. At the same time as their lawsuit, SCO began selling Linux licenses to users who did not want to risk a possible complaint on the part of SCO. Since Novell also claimed the copyrights to UNIX, it filed suit against SCO.
In early 2007, SCO filed the specific details of a purported copyright infringement. Despite previous claims that SCO was the rightful copyright holder of 1 million lines of code, they specified only 326 lines of code, most of which were uncopyrightable.[58] In August 2007, the court in the Novell case ruled that SCO did not actually hold the Unix copyrights, to begin with,[59] though the Tenth Circuit Court of Appeals ruled in August 2009 that the question of who held the copyright properly remained for a jury to answer.[60] The jury case was decided on 30 March 2010 in Novell's favour.[61]
SCO has since filed for bankruptcy.[62]
In 1994 and 1995, several people from different countries attempted to register the name "Linux" as a trademark. Thereupon requests for royalty payments were issued to several Linux companies, a step with which many developers and users of Linux did not agree. Linus Torvalds clamped down on these companies with help from Linux International and was granted the trademark to the name, which he transferred to Linux International. Protection of the trademark was later administered by a dedicated foundation, the non-profit Linux Mark Institute. In 2000, Linus Torvalds specified the basic rules for the assignment of the licenses. This means that anyone who offers a product or a service with the name Linux must possess a license for it, which can be obtained through a unique purchase.
In June 2005, a new controversy developed over the use of royalties generated from the use of the Linux trademark. The Linux Mark Institute, which represents Linus Torvalds' rights, announced a price increase from 500 to 5,000 dollars for the use of the name. This step was justified as being needed to cover the rising costs of trademark protection.
In response to this increase, the community became displeased, which is why Linus Torvalds made an announcement on 21 August 2005, in order to dissolve the misunderstandings. In an e-mail he described the current situation as well as the background in detail and also dealt with the question of who had to pay license costs:
The Linux Mark Institute has since begun to offer a free, perpetual worldwide sublicense.[63]
See also: Linux adoption.
Video 0:50 min.