History of Linux


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, 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.

Events leading to creation

After AT&T had dropped out of the Multics project, the Unix operating system was conceived and implemented by Ken Thompson and Dennis Ritchie 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 was developed by the Computer Systems Research Group from UC Berkeley, based on the 6th edition of Unix and UNIX/32V from AT&T. Since BSD contained Unix code that AT&T owned, AT&T filed a lawsuit in the early 1990s against the University of California. This strongly limited the development and adoption of BSD.
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 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.
In 1981 IBM entered the personal computer market with the IBM PC. Powered by an x86-architecture Intel 8088 processor, the machine was based on open architecture and third-party peripheral.
In 1983, Richard Stallman started the GNU Project with the goal of creating a free UNIX-like operating system. As part of this work, he wrote the GNU General Public License. By the early 1990s, there was almost enough available software to create a full operating system. However, the GNU kernel, called Hurd, had issues with its design and project management, and progress slowed significantly after the development of Linux.
In 1985, Intel released the 80386, the first x86 microprocessor with a 32-bit instruction set, a memory management unit with paging, and capable of addressing up to 4 GB of RAM with a flat memory model and 64 TB of virtual memory.
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, Operating Systems: Design and Implementation. 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.
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.

The creation of Linux

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 3 July 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. 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, he eventually ended up writing an operating system kernel. On 25 August 1991, he announced this system in another posting to the comp.os.minix newsgroup:
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.

Naming

Linus Torvalds had wanted to call his invention Freax, a portmanteau of "free", "freak", and "x". 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 of FUNET in September 1991. Ari Lemmke at Helsinki University of Technology, who was one of the volunteer administrators for the FTP server at the time, did not think that "Freax" was a good name. Therefore, 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, Torvalds included an audio guide with the kernel source code.

Linux under the GNU GPL

Torvalds first published the Linux kernel under its own licence, which had a restriction on commercial activity:

2. Copyrights etc
This kernel is 1991 Linus Torvalds, but all or part of it may be
redistributed provided you do the following:
- Full source must be available, if not with the
distribution then at least on asking for it.
- Copyright notices must be intact. Small partial excerpts may be copied
without bothering with copyrights.
- You may not distibute this for a fee, not even "handling"
costs.
Mail me at "torvalds kruuna.helsinki.fi" if you have any questions.

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.
In the "Notes for linux release 0.01", Torvalds lists the GNU software that is required to run Linux:
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. GPL took effect as of 1 February 1992. On 7 March 1992 he published version 0.95 using the GNU GPL. Linux and GNU developers worked to integrate GNU components with Linux to make a fully functional and free operating system. Torvalds has stated, "making Linux GPLed was definitely the best thing I ever did."
Around 2000, Torvalds clarified that the Linux kernel uses the GPLv2 license, without the common "or later clause".
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.

GNU/Linux naming controversy

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".
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.

Official mascot

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 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.

New development

Linux Community

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.