History of the Linux kernel
From Wikipedia, the free encyclopedia
The 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 its current state of about 40 megabytes of source under the GNU General Public License.
Contents |
[edit] Early history
[edit] Emergence of Linux
In 1991, in Helsinki, Linus Torvalds began a project that later became the Linux kernel. It was initially a terminal emulator, which Torvalds used to access the large UNIX servers of the university. 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 a 80386 processor. This is still among the standard today, optimally. The operating system he used during development was Minix, and the initial compiler was the GNU C compiler, which is still the main choice for compiling Linux today (although Linux will compile under other compilers, such as the Intel C Compiler).
As Torvalds wrote in his book Just for Fun[1], he eventually realized that he had written an operating system kernel. On 25 August 1991, he announced this system in a Usenet posting to the newsgroup "comp.os.minix.":
- "Hello everybody out there using minix -
- I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
- I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
- Linus (torvalds@kruuna.helsinki.fi)
- PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(." [2]
[edit] The name
Linus Torvalds had wanted to call his invention Freax, a portmanteau of "freak," "free," and "x," an allusion to Unix. During the start of his work on the system, he stored the files under the name "Freax" for about a half year. Torvalds had already considered the name "Linux," but initially dismissed it as too egotistical.
In order to give other people the ability to cooperate in the system or to suggest improvements, the files were placed on the ftp server (ftp.funet.fi) of the Helsinki University of Technology (HUT) in September 1991. Ari Lemmke, Torvald's coworker at the HUT who was responsible for the servers at the time, did not agree with the name Freax, preferring the name Linux. He simply named the files placed on the server "Linux" without consulting Torvalds. Later, however, Torvalds consented to "Linux": "After many arguments, he finally admitted that Linux was simply the better name. In the source code of version 0.01 of Linux, the name 'Freax' was still used in the makefile. Only later was the name Linux used. Thus the name actually not planned at all became generally accepted world-wide."
[edit] Linux under the GNU GPL
Torvalds first published Linux under its own license, which was almost a free software licence but which had a restriction on commercial activity. In 1992, he decided to use the GNU General Public License. He first announced this change in the release notes of version 0.12 of the kernel [3]. In the middle of December 1992 he published version 0.99 using the GNU GPL[4].
Later, Torvalds said in an interview that the decision to place Linux under the GNU GPL was his best decision ever. “Making Linux GPL'd was definitely the best thing I ever did.”[5].
[edit] GNU/Linux
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 GNU variant quickly became the most popular variant of GNU, since there was no other functioning free kernel at this time. When people started referring to this collection as "Linux", Richard Stallman, the founder of the GNU project, requested the name GNU/Linux be used, in order to recognize the role of GNU software.[6]. In June 1994 in the GNU' s bulletin, Linux was referred to as a "free UNIX clone", and the Debian project began calling it's product 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. While the GNU and Debian projects accepted the name, most developers and other Linux distributors rejected it. This was justified on the one hand with comfort, because the name Linux was regarded as simpler, and on the other hand with the fact that a considerable quantity of non-GNU software is delivered with Linux.
The finished product is most often referred to simply as "Linux", as the simpler, original name. Stallman announced his demand for a name change only after the system had already become popular.
- For more details on this topic, see GNU/Linux naming controversy.
[edit] Official mascot
Torvalds announced in 1996 that there would be a mascot for Linux, a penguin, and his desired appearance for the penguin is discussed in his biography Just For Fun: "However Linus did not want an x-arbitrary penguin. Its penguin should look lucky, so as if it would have enjoyed degrees measure beer and would have had the best sex of its life."(Lit.: Torvalds, P. 151)
Larry Ewing provided the original draft of the today's well known mascot based on this. The name Tux was suggested by James Hughes as derivative of Torvalds's UniX; a further reason was probably that the black and white penguin resembles someone wearing a tuxedo.[7]
[edit] New development
[edit] Kernel
There are other people who are responsible for the Linux kernel beside Torvalds such as Alan Cox and Marcelo Tosatti. Cox maintained version 2.2 of the kernel until it was discontinued at the end of 2003. Likewise, Tosatti maintained version 2.4 of the kernel until the middle of 2006. Andrew Morton steers the development and administration of the new version 2.6 kernel, which was released on 18 December 2003 in its first stable incarnation. Also the older branches are still constantly improved.
The success of Linux in many areas of application is mostly due to the lack of licensing costs and the characteristics of free software concerning stability, security, expandability and maintenance of leading back.
[edit] Community
The largest part of the work on Linux is performed by the Community, the programmers 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.
It is released both by organized projects such as Debian, and by projects connected directly with companies such as Fedora Core 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 Karlsruhe (starting from 2006 in Wiesbaden), where more than 10,000 people assemble annually, in order to discuss Linux and the projects associated with it.
[edit] Open Source Development Lab
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 gesponsorte working premises for Linus Torvalds and also for Andrew Morton, until the middle of 2006 when he transferred to Google, which runs on the Linux kernel. Torvalds works full time on behalf the OSDL, developing the Linux Kernels. The noncommercial mechanism of several major companies is financed as Red Hat, Novell, Mitsubishi, Intel, IBM, Dell and HP.
[edit] Companies
Meanwhile a set of companies make money with Linux. These companies, most of which are also members of the Open Source Development Lab, 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 IBM and HP, which use Linux first of all on their own servers, and Red Hat, which maintains its own distribution. Likewise Trolltech supports Linux by the development and GPL licensing of Qt, which makes the development of KDE possible, and by the employment of some X and KDE developers.
[edit] Controversy over Linux
Linux has been surrounded by controversy repeatedly since its inception.
[edit] Andrew Tanenbaum
[edit] Linux is obsolete
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", starting a famous debate about the structure of the then-recent Linux kernel. His most important criticisms were:
- The design of the kernel was monolithic and thus old-fashioned.
- The lack of portability, due to the use of exclusive features of the Intel 386 processor, was poor design in Tanenbaum's eyes. "Writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong."
- The methods of open distribution and development of the software lacked strict control of the source code by any individual person.
- The operating system installed a set of features which were useless from Tanenbaum's point of view. (he judged the file system, one that permitted parallel access from several programs, as a redundant "performance chop").[8]
Tanenbaum's prediction that Linux would become outdated within a few years and replaced by GNU Hurd (which he considered to be more modern) was incorrect. Linux has been ported to all of the 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.[citation needed]
[edit] Book Samizdat
Years later Andrew Tanenbaum would again discuss the defects of Linux. When Ken Brown in his book Samizdat interviewed Tanenbaum, the latter explained that Torvalds had not copied the design of MINIX. Brown wrote a section documenting its relationship to Linux well. Naturally Torvalds knew his book and Minix.
- But the code was his. The proof of this is that he messed the design up. MINIX is a nice, modular microkernel system […] Linus rewrote the whole thing as a big monolithic kernel, complete with inline assembly code :-(. The first version of Linux was like a time machine. It went back to a system worse than what he already had on his desk. Of course, he was just a kid and didn’t know better (although if he had paid better attention in class he should have), but producing a system that was fundamentally different from the base he started with seems pretty good proof that it was a redesign. I don’t think he could have copied UNIX because he didn’t have access to the UNIX source code, except maybe John Lions’ book, which is about an earlier version of UNIX that does not resemble Linux so much.
[edit] Competitor of Microsoft
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.
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 unfavourably to the use of Windows in terms of reliability, security, and total cost of ownership.[9]
The commercial Linux distributors put effort into producing their own studies, questionnaires 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 publicised legal liabilities of Linux deployment. 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" that aimed not to advertise the product on the basis of studies, but to let the performance of the product speak for itself. Most members of the Linux Community took however left and stichelten the topic with jokes like "Linux - and your PC makes never again blue" or "sooner or later migrates we to you". Among other things the magazine did not publish LinuxUser, a completely seriously meant review of Windows XP under the points of criticism of a typical Linux distribution.
In the autumn of 2006, however, Novell and Microsoft announced an agreement to co-operate in future on the topics of interoperability and patent protection [10] . In the context of the Virtualisierung was agreed upon to improve the exchange from Office documents and to simplify the Virtualisierung of the Enterprise solutions in each case under the competition product as well as the integration of Linux and Windows machines into a common directory structure to simplify. The patent protection planned at the same time that customers of an offerer for the use its software of in each case different the offerer may not be sued because of infringement of a patent. This patent protection was expanded also since non-commercial free software developers. The straight last step harvested also criticism, since it included only non-commercial developers with.
[edit] SCO
In March 2003 SCO 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 countersued and SCO has since filed other related lawsuits. At the same time as their lawsuit, SCO began selling Linux licenses to users who do not want to risk a possible complaint on the part of SCO. Since Novell also claims the copyrights to UNIX, it opened a procedure against SCO.
[edit] Trademark of the name
The name linux is a trade mark of the "Open Source Development Lab"
[edit] Trademark rights
In 1994 and 1995 several people in 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 Linux, 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 attained 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 smooth the waves and 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:
- "[...] And let’s repeat: somebody who doesn’t want to _protect_ that name would never do this. You can call anything "MyLinux", but the downside is that you may have somebody else who _did_ protect himself come along and send you a cease-and-desist letter. Or, if the name ends up showing up in a trademark search that LMI needs to do every once in a while just to protect the trademark (another legal requirement for trademarks), LMI itself might have to send you a cease-and-desist-or-sublicense it letter."
- "At which point you either rename it to something else, or you sublicense it. See? It’s all about whether _you_ need the protection or not, not about whether LMI wants the money or not."
- "[...] Finally, just to make it clear: not only do I not get a cent of the trademark money, but even LMI (who actually administers the mark) has so far historically always lost money on it. That’s not a way to sustain a trademark, so they’re trying to at least become self-sufficient, but so far I can tell that lawyers fees to _give_ that protection that commercial companies want have been higher than the license fees. Even pro bono lawyers charge for the time of their costs and paralegals etc." [11]
[edit] Chronology
- 1983: Richard Stallman creates the GNU project with the goal of creating a free operating system.
- 1989: Richard Stallman writes the first version of the GNU general Public License.
- 1991: The Linux Kernel is publicly announced on 25 August by the 21 year old Finnish student Linus Benedict Torvalds. On 17 September the first public version appears on an ftp server. Some developers are interested in the project and contribute improvements and extensions.
- 1992: The Linux Kernel is relicensed under the GNU GPL. The first Linux distributions are created.
- 1993: Over 100 developers work on the Linux Kernel. With their assistance the Kernel is adapted to the GNU environment, which creates a large spectrum of application types for Linux. In this year also the WINE project begins its development. Also, the oldest currently existing Linux distribution, Slackware, is released for the first time. Later in the same year, the Debian project is established. Today it is the largest community distribution.
- 1994: In March of this year, Torvalds judges all components of the kernel to be fully matured: he releases version 1.0 of Linux. This version of the kernel is, for the first time, networkable. The XFree86 project contributes a graphic user interface (GUI). In this year the companies Red Hat and SuSE publish version 1.0 of their Linux distributions.
- 1995: In March the next stable branch of Linux appears, the 1.2 series. Later in the year Linux is ported to the DEC and to the Sun SPARC. Over the following years it is ported to an ever greater number of platforms.
- 1996: Version 2.0 of the kernel is released. The kernel can now serve several processors at the same time, and thereby becomes a serious alternative for many companies.
- 1997: Various proprietary programs are released for Linux on the market, such as the data base Adabas D, the browser Netscape and the office suites Applixware and StarOffice.
- 1998: Many major companies such as IBM, Compaq and Oracle announce their support for Linux. In addition a group of programmers begins developing the graphic user interface KDE, first of its class for Linux, with the goal of improving user friendliness.
- 1999: The 2.2 series appears in January with improved network code and improved SMP support. At the same time a group of developers begin work on the graphic environment GNOME, which will compete with KDE for user friendliness and efficiency. During the year IBM announces an extensive project for the support of Linux.
- 2000: The Office-Suite StarOffice is offered under the terms of the GNU LGPL, thereby opening the way for an advanced, free Office-Suite under Linux
- 2001: The 2.4 series is released in January. The Kernel now supports up to 64 GBytes of RAM, 64-Bit Datasystems, USB and a Journaling Filesystems.
- 2002: The OpenOffice.org community releases version 1.0 of the Office-Suite. The free Mozilla webbrowser is also released. And in september the Slapper-worm is the first linux worm.
- 2003: At the end of the year the 2.6 kernel is released, after which Linus Torvalds is exchanged for the OSDL. Linux sees an increase in the use of it on embedded systems.
- 2004: The XFree86 team splits up and forms the X.Org foundation, which results in a clearly faster development of the X-Server for Linux.
- 2005: The OpenSuSe project is started as a free Novell community-distribution. Additionally the OpenOffice.org project releases version 2.0 which supports the OASIS OpenDocument standard in october.
- 2006: The Xgl from Novell and the AIGLX from RedHat enables the use of hardware-accelerated effects on the Linux desktop. Oracle publishes its own Red Hat distribution. Novell and Microsoft announce a co-operation for better interoperability
[edit] References
- ^ Just for Fun,Linus Torvalds and David Diamond, 2001
- ^ Torvalds, Linux. What would you like to see most in minix? Usenet group comp.os.minix, August 25, 1991.
- ^ Linus Torvalds in the release notes of Linux 0.12: The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. I propose that the copyright be changed so that it confirms to GNU - pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise The GNU copyleft takes effect as of the first of February.
- ^ Linux-Kernel, Version 0.99 (Z-kompimiert, 830 kB) auf dem kernel.org-FTP-Server. Dezember 1992
- ^ Hiroo Yamagata: The Pragmatist of Free Software Linus Torvalds Interview, 05.08.1997
- ^ http://www.gnu.org/gnu/linux-and-gnu.html
- ^
- ^ Andrew Tanenbaum, Linus Torvalds and others: Linux is obsolete Usenet post, 29.01.1992
- ^ Get the Facts. Microsoft (2004). Retrieved on 2006-11-24.
- ^ Open Letter to Community from Novell. Novell (2006). Retrieved on 2007-03-23.
- ^ Linus Torvalds: Linus trademarks Linux?!! from the linux-Kernel mailing list, 21.08.2005
[edit] See also