 | Linux kernel: Encyclopedia II - Linux kernel - History
Linux kernel - History
The project was launched in 1991 with a famous post to the Usenet newsgroup comp.os.minix that includes this sentence:
"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones..." [1]
At the time, the GNU project had created many of the components required for a free operating system, but its own kernel, the GNU Hurd, was incomplete and unavailable. The BSD operating system had not yet freed itself from legal encumbrances. This left a space for the Linux kernel to fill, and despite the limited functionality of the early versions it rapidly accumulated developers and users. Early on, Minix hackers contributed code and ideas to the Linux kernel, and today it has received contributions from thousands of programmers.
Originally, "Linux" was only the name of the kernel. The term "kernel" properly refers to the low-level system software that provides a hardware abstraction layer, disk and filesystem control, multi-tasking, load-balancing, networking and security enforcement. A kernel is not a complete operating system (as the term is usually understood). A complete system built around the Linux kernel is commonly known as the Linux operating system, although some prefer to call the system GNU/Linux and there is some controversy on the point. People often confuse the kernel with the operating system, leading to many mistaken notions, e.g. the idea that Torvalds wrote or coordinates other parts of the system than the kernel.
Linux kernel - Timeline
- Apr 1991 - Linus Torvalds, then 21, starts working on some simple ideas for an operating system. He starts with a task switcher in 386 assembly and a terminal driver.
- 25 August 1991 - Linus posts to comp.os.minix: [2]
"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 [...] 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 :-(.
[...] It's mostly in C, but most people wouldn't call what I write C. It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and segmentation. It's the segmentation that makes it REALLY 386 dependent (every task has a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody who needs more than 64Mb/task - tough cookies). [...] Some of my "C"-files (specifically mm.c) are almost as much assembler as C. [...] Unlike minix, I also happen to LIKE interrupts, so interrupts are handled without trying to hide the reason behind them"
- September 1991 - Linux version 0.01 is released. (10,239 lines of code.)
- October 1991 - Linux version 0.02 is released. [3]
- December 1991 - Linux 0.11 is released. This version is the first that is self-hosted. (that is: you can compile Linux 0.11 under Linux 0.11)
- 19 January 1992 - First post to alt.os.linux newsgroup. [4]
- 31 March 1992 - The newsgroup comp.os.linux is created. [5]
- March 1992 - Linux version 0.95 is the first to be capable of running the X Window System.
- During the whole of 1993, and early 1994 - 15 development versions 0.99.*, with 0.99.11 (July 1993) introducing BogoMips into the kernel
- 14 March 1994 - Linux 1.0.0 is released. (176,250 lines of code.)
- March 1995 - Linux 1.2.0 is released (310,950 lines of code.)
- 9 May 1996 - Tux the penguin is suggested as mascot for Linux
- 9 June 1996 - Linux 2.0.0 is released. (777,956 lines of code.)
- 25 January 1999 - Linux 2.2.0 is released, very buggy at first. (1,800,847 lines of code.)
- 18 December 1999 - IBM mainframe patches for 2.2.13 published, bringing Linux into the biggest enterprises.
- 4 January 2001 - Linux 2.4.0 is released. (3,377,902 lines of code.)
- 17 December 2003 - Linux 2.6.0 is released. (5,929,913 lines of code.)
- 17 June 2005 - Linux 2.6.12 is released.
- 29 August 2005 - Linux 2.6.13 is released. [6]
- 28 October 2005 - Linux 2.6.14 is released with these changes. [7]
- 3 January 2006 - Linux 2.6.15 is released. [8].
Linux kernel - Mascot
The Linux mascot is a penguin named Tux, created by Larry Ewing. Many variants of the Tux graphic exist. The mascot is a penguin because as Torvalds put it, "Linus likes penguins. That's it." The name Tux was suggested to represent (T)orvalds (U)ni(X), and it stuck. [9]
Linux kernel - Licensing terms
Initially, Torvalds released Linux under a license which forbade any commercial exploitation. This was soon changed to the GNU General Public License (version 2 exclusively). This license allows distribution and even sale of possibly modified versions of Linux but requires that all those copies be released under the same license and be accompanied by source code.
Torvalds has described licensing Linux under the GPL as the "best thing I ever did." [10]
One general question about the application of the GPL to Linux involves whether loadable kernel modules are considered "derived works" under copyright law, and thereby fall under the terms of the GPL. Torvalds has stated his belief that modules using only a limited, "public" subset of the kernel interfaces can sometimes be non-derived works, thus allowing some binary-only drivers and other modules not obeying the GPL. Not all kernel contributors agree with this interpretation, however, and even Torvalds agrees that many kernel modules are clearly derived works, and indeed he states that kernel modules ARE derivative "by default"; ultimately, such questions can only be resolved by a court.
Linux is a registered trademark of Linus Torvalds.
Linux kernel - Litigation
For more details on this topic, see SCO-Linux controversies.
In March 2003, the SCO Group (SCO) filed a lawsuit against IBM claiming that IBM had contributed some portions of SCO's copyrighted Unix source code to the Linux kernel project in violation of IBM's license to use that Unix source code. Additionally, SCO sent letters to a number of companies warning that their use of Linux without a license from SCO may be a violation of copyright law, and claimed in the press that they would be suing individual Linux users. This controversy has generated lawsuits by SCO against Novell, DaimlerChrysler (partially dismissed in July, 2004), and AutoZone, and retaliatory lawsuits by Red Hat and others against SCO.
To date, no proof of SCO's claims of copied code in Linux has been provided and SCO's claims have varied widely. A few of Novell's press releases seem to demonstrate serious problems with SCO's claims:
- 2003-May-15 Novell Statement on SCO Contract Amendment (good news for Linux users)
- 2003-May-28 Novell Challenges SCO Position, Reiterates Support for Linux
- 2003-May-30 Novell Statement re: SCO press conference allegations
- 2003-Jun-06 Novell Statement on SCO Contract Amendment
- 2003-Nov-18 Novell Statement on SCO claims regarding a non-compete clause in Novell-SCO contracts
The most comprehensive coverage of this suit is given by Groklaw.
Other related archives14 March, 17 December, 17 June, 18 December, 19 January, 1991, 1992, 1994, 1996, 1999, 2001, 2003, 2004, 2005, 2006, 25 August, 25 January, 28 October, 29 August, 3 January, 31 March, 31-bit, 386, 4 January, 486, 64-bit, 68020, 6x86, 80186, 80188, 80286, 80386, 80486, 8086, 8088, 9 June, 9 May, A1200, A2500, A3000, A4000, ALSA, AMD, AMD64, APIC, ARM, Acorn, Alpha, Amigas, Andy Tanenbaum, Apple, Apple computers, Apple's, Archimedes, Athlon, AutoZone, Axis Communications, BSD, Blue Gene, Bluetooth, BogoMips, C, C programming language, C++, Centris, Cobalt Qube, Cyrix, DECstation, DS, DaimlerChrysler, December 17, Device drivers, Dreamcast, Duron, ETRAX CRIS, Even numbers, FR-V, FUSE, Fortran, Fujitsu, GCC, GNU, GNU Assembler, GNU C, GNU General Public License, GNU Hurd, GNU/Linux, GNU/Linux distributions, GPLed, Groklaw, H8/300, HP's, Hewlett Packard's, Hewlett-Packard, Hitachi, IA-64, IBM, IBM PCs, IBM POWER, IBM mainframe, IBM's, IPodLinux, ISA, Infiniband, Ingo Molnar, Intel, Intel 80386, InterMezzo, July, K5, K6, Kernel panic, LC, LVM, Larry Ewing, Linus Torvalds, Linux, Logical Volume Manager, M32R, MIPS, Macintosh II, March, MediaGX, Microsoft, Minix, Motorola, NCR, NEC, NFS, NPTL, NUMA, Native POSIX Thread Library, NetBSD, Nintendo's, Novell, NuBus, Odd numbers, PA-RISC, PAE, PC Card, PMMU, PS2 Linux, Palm's, Pegasos, Pentium, Performa, Perl, PlayStation 2, Plug-and-Play, Power Computing, Power Macintoshes, PowerPC, Python, Quadra, RAID, RS/6000, Red Hat, Renesas, Risc PC, Robert Love, S/390, SCO Group, SCO-Linux controversies, SEGA, SGI, SGI Visual Workstation, SMP, SPARC, Sempron, Silicon Graphics, Inc., Slackware, Sony, StrongARM, Sun Microsystems, SuperH, System z9, TCP/IP, TI, Tatung, Tux, UMAX, USB, UltraSparc, Unix, Unix-like, Usenet, User Mode Linux, VIA C3, VIA Technologies, Voyager, X Window System, XFS, XScale, Xbox, Xbox Linux, assembly language, bug, build, compile, copy-on-write, disk, exceptions, filesystem, filesystems, flame war, free software, futexes, gnu, hackers, hardware interrupts, hyperthreading, iPAQ, iPod, iSCSI, iSeries, inotify, kernel, lawsuit, load-balancing, m68k, mainframe, memory management, microcontrollers, microkernel, modules, monolithic kernel, multi-tasking, networking, open source, operating system, pSeries, portable, pre-emptible, processor, processor bug, procfs, production use, ring 0, security, shared libraries, shell scripting, software, some controversy on the point, supercomputer, symmetric multiprocessing, sysfs, terabytes, uClinux, user space, v850, v850e, virtual memory, zSeries
 Adapted from the Wikipedia article "History", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki |