Linux /lee'nuhks/ or /li'nuks/, not /li:'nuhks/ /n./
The free Unix workalike created
Torvalds and friends starting about 1990 (the pronunciation /lee'nuhks/
is preferred because the name Linus' has an /ee/ sound in Swedish). This
may be the most remarkable hacker
project in history -- an entire clone of Unix for 386, 486 and Pentium
micros, distributed for free with sources over the net (ports to Alpha
and Sparc-based machines are underway). This is what GNU aimed to be, but
the Free Software Foundation has not (as of early 1996) produced the kernel
to go with its Unix toolset (which Linux uses). Other, similar efforts
like FreeBSD and NetBSD have been much less successful. The secret of Linux's
success seems to be that Linus worked much harder early on to keep the
open and recruit other hackers, creating a snowball effect.
- from _The New Hacker's Dictionary_ by Eric S. Raymond
Anyone who has ever bought a piece of software in a store has had the curiously deflating experience of taking the bright shrink-wrapped box home, tearing it open, finding that it's 95 percent air, throwing away all the little cards, party favors, and bits of trash, and loading the disk into the computer. The end result (after you've lost the disk) is nothing except some images on a computer screen, and some capabilities that weren't there before. Sometimes you don't even have that--you have a string of error messages instead. But your money is definitely gone. Now we are almost accustomed to this, but twenty years ago it was a very dicey business proposition. Bill Gates made it work anyway. He didn't make it work by selling the best software or offering the cheapest price. Instead he somehow got people to believe that they were receiving something in exchange for their money. - Neal Stephenson - _In The Beginning Was The Command Line_
Debian Easter Egg
Requires: Debian GNU/Linux; apt 0.5+
Easter Egg: The Advanced Package Tool (APT) is a part of the software management system for Debian. Analogous to RedHat's RPM, but infinitely more capable, APT features automatic dependency handling and much more. If you're not a Linux type, it's like Windows Update for adults.
1. Login to a shell as root.
2. Type "apt-get moo" and press ENTER.
3a. An ASCII-art drawing of a cow will be displayed, with "Have you mooed today?".
3b. If you use just "apt-get", a help file is shown with the various switches available. At the very end it says "This APT has Super Cow Powers".
"Moo" may have started as an inside joke on kuro5hin.org, and could have carried over to Debian this way. If you look hard enough, you can find such things as news://alt.cows.moo.moo.moo and quotes like "To err is human - to moo, bovine".
Also, some have alluded that the reference to "super cow powers" means APT is able to import packages from newer releases of Debian (such as testing << unstable).
It may refer to a variant of MUDs (Multi-User Domain [Dungeon, Dimension]) called MOOs (MUD, Object Oriented). These are internet accessible, text-mediated virtual reality environments.
Last but not least, I was told in #debian on irc.openprojects.org that it's just geek humor.
Linux strictly refers to the Linux kernel, but the name is also used to describe the entire free Unix-like computer operating systems (also called GNU/Linux) that is formed by combining the Linux kernel with the GNU libraries and tools. The first version of the Linux kernel was written by Linus Torvalds, and released in 1991 combined with essential components from the GNU project (begun in 1983 by Richard Stallman). The kernel is not officially affiliated with GNU, but is independently developed and distributed under the terms of the GNU General Public License (GPL).
The term "Linux" is now even applied to whole Linux distributions, which typically bundle large quantities of software, from web servers like Apache to graphical environments like GNOME and KDE to office suites like OpenOffice.org, using the graphical subsystem of X Window System, with the core operating system.
Since its first release, the Linux operating system has experienced rapid growth in popularity, overtaking proprietary versions of Unix and even beginning to challenge the dominance of Microsoft Windows. It has been deployed in applications ranging from personal computers to supercomputers to embedded devices such as mobile phones, supporting a wide variety of computer hardware.
The 'official' logo and mascot of Linux is Tux the penguin. There are many local Linux User Groups, worldwide; they serve as forums for users of Linux-based operating systems. The Linux trademark (SN: 1916230) is owned by Linus Torvalds, registered for "Computer operating system software to facilitate computer use and operation."
There are many Linux distributions (distros), assembled by individuals, corporations, and other organizations, and each may include any number of additional system software and application programs, as well as a program to install the whole system on a new computer. The core of each distribution includes the Linux kernel, but also various software packages from the GNU project, and elsewhere, including a shell and utilities such as libraries, compilers and editors. Because the GNU facilities (without which the system would not resemble Unix from a user perspective) stem from a longstanding free operating-system project that pre-dates the Linux kernel itself, Richard Stallman of GNU/FSF asks that the combined system (regardless of distribution) be referred to as GNU/Linux. Some people do; most simply call the system "Linux."
Most systems also include non-GNU tools and utilities, although these can be omitted and still leave a Unix-like system; examples include tools and utilities from the BSD and its descendents and the XFree86 open source implementation of the X Window System. The latter provides the most common foundation for a GUI interface on Linux systems.
Applications of Linux-based operating systems
Linux users, who traditionally had to install and configure their own system, have been thus more technologically oriented than Microsoft Windows and Mac OS users, often revelling in the tag of "hacker" or "geek." This stereotype, though often self-imposed, has been undermined in recent years by the increasing user-friendliness and broader adoption of many Linux distributions. Linux has begun to make (slow) inroads into the high volume "desktop" market, and has already made considerable progress in the server and special-purpose (e.g. image rendering and Web services) markets.
Linux is also the cornerstone of the LAMP server-software combination that has achieved widespread popularity among web developers.
Linux is also being used as an embedded operating system. The low cost of Linux makes it possible to use it in devices such as the Simputer, a low-cost computer aimed especially at low-income populations in developing nations.
With desktop environments such as KDE and GNOME, Linux offers a graphical user interface much more like the Xerox Star and Alto, or Mac OS or Windows, than is the traditional Unix command line interface. Many no-cost (though not always open source/free) software packages available for Linux on various hardware offer most (or arguably all) the functionality of common commercial programs available on the other desktop operating systems.
Although difficulty of installation was initially a barrier to adoption, the installation process has been greatly eased in recent years. Also, with the adoption of Linux by several large PC manufacturers, computers with Linux distributions pre-installed have become available. Alternatively, some distributions (such as Knoppix, Gnoppix—the Gnobian version—and Gentoo) allow Linux to be booted directly from a CD (sometimes called a LiveCD), without modifying a hard drive. One can download CD ISO images for these and other distributions from the Internet, burn it to a CD, and execute Linux from the CD. Still other possibilities include booting over a network, or (for a minimal system) from a few floppy disks, or network card NetBoot flash drivers.
The scale of the Linux development effort
One study of the Red Hat Linux 7.1 distribution found that this particular distribution contained 30 million physical source lines of code (SLOC). Using the COCOMO cost model, it could be estimated that this distribution required about 8,000 person-years of development time. Had it been developed by conventional proprietary means, it would have cost over $1.08 billion (1,000 million) to develop in the U.S. (in year 2000 dollars).
The majority of its code (71%) was in C, but many other languages were used including C++, shell scripts, Lisp, assembly language, Perl, Fortran, and Python.
Slightly over half of all its code (counting by line) was licensed under the GPL.
The Linux kernel contained 2.4 million lines of code, or 8% of the total, showing that the vast majority of a Linux operating system is not contained in the Linux kernel.
GNU/Linux is the term promoted by the GNU/FSF project and its supporters, most prominently by its founder and main activist Richard Stallman, to refer to the Linux operating system. Their basic argument is that GNU was an ongoing project to develop a free operating system that pre-dated the Linux kernel by almost a decade, and Torvalds' kernel was only the final missing piece completing that project. GNU's own kernel, the HURD, had been long delayed. Besides failing to credit the GNU project, some additionally argue that naming the whole system after the kernel alone encourages substantial technical confusion among the public. Nevertheless, the historical sequence of events and other factors have resulted in most people continuing to call the whole system Linux.
A popular misconception is that the FSF argues for GNU/Linux purely on the basis of the large number of GNU tools used in Linux. Actually, Stallman writes (in Linux and the GNU Project):
"So if you were going to pick a name for the system based on who wrote the programs in the system, the most appropriate single choice would be GNU. But we don't think that is the right way to consider the question. The GNU Project was not, is not, a project to develop specific software packages. [...] Many people have made major contributions to the free software in the system, and they all deserve credit. But the reason it is an integrated system—and not just a collection of useful programs—is because the GNU Project set out to make it one. We made a list of the programs needed to make a complete free system, and we systematically wrote, or found people to write, everything on the list."
The name "GNU/Linux" was first used by Debian in 1994 as the name of their OS distribution based on the Linux kernel and GNU programs. (In 1992, the Yggdrasil distribution was called Linux/GNU/X). In GNU's 1994-June Bulletin, Linux is referred to as a "free UNIX clone" (with many GNU utilities and libraries). This is of course inaccurate, since the Linux kernel is not a copy of UNIX, but a work-alike. In the 1995-January edition, references to Linux were changed to "GNU/Linux". In May of 1996, Stallman released Emacs 19.31, changing the system target "Linux" to "Lignux". He argued that to give rightful credit to GNU, it is proper to use the terms "Linux-based GNU system", "GNU/Linux system", or "Lignux" to refer to the combination of the Linux kernel and the GNU system. Stallman later stopped using the term "Lignux" and used "GNU/Linux" exclusively.
Requests to call the system "GNU/Linux" have met with mixed success at best. Only a few distributions have followed the lead of Debian in calling their systems "GNU/Linux". The corporate world, including most media outlets, mostly doesn't. Amongst the users and developers in the free software and open source movements, some have used GNU/Linux; many don't. There is even some explicit opposition.
Some consider the term "operating system" to refer to only the kernel, with the rest being simply 'utilities' (regardless of the practical necessity that they be available and despite the large volume of code in such utilities) or 'applications'. In this sense, the operating system is called Linux, and a Linux distribution is based on Linux with the addition of the GNU tools and other software. On the other hand, both the name GNU and the name Linux are intentionally related to the name Unix, and 'Unix' has always notionally included the C library and userland tools as well as the kernel. Kernel-author Torvalds wrote, in the 1991 license statement for version 0.11 of Linux (which was not under the GPL until version 0.12):
Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc. These are separate parts and may be under a stricter (or even looser) copyright. Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren't in the distribution.
Some of the reasons people refer to the system as "Linux" instead of "GNU/Linux" are because the former is shorter and easier to say, because Torvalds has called the combined system Linux since its 1991 release (at the suggestion of a friend), and because Stallman only began asking people to call the system "GNU/Linux" in the mid 1990s after the system had become popular and the name established. And, of course, since "Linux" is the most widespread name, many people simply copy the usage without learning the history or debate behind it.
One practical problem with the use of the word "Linux" to refer to both the kernel, as well as entire distributions, is that it has often led to confusion in the popular media (and hence among the general public). Thus, media sources frequently make erroneous statements such as claims that
* the entire Linux operating system (in the popular sense)
was written from scratch by Torvalds in 1991 (only the first version of the
kernel was; all versions since have been by Linus and hundreds of others),
* that Torvalds directs the development of other components such as graphical interfaces or the file systems or any of the GNU tools (he does not), or
* that new releases of the kernel or the entire GNU/Linux system involve a similar degree of user-visible change as do new versions of proprietary operating systems such as Windows (changes in GNU/Linux are far more backward compatible than is typical for Windows).
A few use the Linux kernel but with few or no components of GNU (because they use BSD or other replacements, or simply run the kernel nearly 'bare'). These are mainly small, embedded, systems such as dedicated firewall products or 'appliances'. Everyone, including the FSF, agrees that GNU/Linux is not an appropriate name in that case.
The Linux kernel was initially written as a hobby by a Finnish university student, Linus Torvalds, who was attending the University of Helsinki, as a free and modifiable Minix-like kernel (Minix was and is a Unix-like teaching project from Andrew Tannenbaum, deliberately made simple enough for teaching and without a 'production perspective'). Subsequently, thousands of volunteer computer designers/programmers throughout the world have participated in the project. (See the first Linux announcement, archived on Google.) Torvalds and other early Linux developers adopted the GNU components to work with the Linux kernel, creating a completely functional operating system.
The history of Linux is closely tied to that of the GNU project, a prominent free-software project led by Stallman. The GNU project was begun in 1983 to develop a complete Unix-like operating system composed entirely of free software. By 1991, when the first version of the Linux kernel was written, the GNU project had produced nearly all of the components of this system, including a shell, a C library, and a C compiler. There was no kernel for the system, however, because the design of the GNU kernel (called the Hurd) was so ambitious that it proved unexpectedly difficult.
Linux, thus, filled the last major gap in the GNU operating system. Although the Linux kernel is now licensed under the GNU General Public License, it is not part of the GNU project. The GNU project has a separate kernel development project, the HURD, whose completion is still eagerly awaited in some circles.
The Linux kernel now presents a major competitive threat to the manufacturers of proprietary operating systems. There have been attempts to spread Fear/Uncertainty/Doubt about Linux -- widely thought to be in all cases, and shown to have been in some cases (including bogus 'research' reports), deliberate actions by commercial competitors.
And there is a possibly major legal problem with Linux. Early in 2003, SCO Group filed a lawsuit against IBM claiming that IBM had included portions of SCOG's intellectual property into the Linux kernel in violation of IBM's license to use UNIX, now claimed to be held by SCOG.
Additionally, SCOG reportedly sent letters to many companies warning them that their use of Linux without a license from SCOG may be actionable. Red Hat has now filed a lawsuit against SCOG, seeking to stop SCOG's intellectual property claims, and seeking legal redress for the harm done to Red Hat by such claims. IBM has counterclaimed as well in the case filed by SCOG. On November 13, 2003 SCO Group served subpoenas on Stallman and Linus Torvalds. Discovery is ongoing and, to the extent that SCOG's specific claims are known (not at all for many months; not very much and that only by accident it seems in more recent months), there is near universal industry opinion -- outside of SCOG -- that they are groundless. In particular, Linus extensively commented on one of SCOG's claims by noting that the source code cited was in fact written by him long before SCO acquired any color of claim to any UNIX source code and was furthermore rather embarrassingly defective; he and others had corrected the design mistakes many years ago. SCOG has announced that IBM's license to use the UNIX code has been cancelled, and more recently it has done the same with respect to SGI for related reasons.
Usability / Market Share
Linux, once viewed as an operating system only computer geeks could appreciate, is today a much more user-friendly system that companies, public and private organizations, and consumers can use as easily as competitive proprietary operating systems (like Microsoft's Windows XP). That's the core finding of a study published by Relevantive, a Berlin-based company specializing in consulting companies on the usability of software and Web services.
On the other hand, Linux has been criticized for having inconsistent and unpredictable development schedules, thus making consumers less confortable with Linux than they might be with another operating system (Marcinkowski, 2003). The fragmentation of Linux distributions creates too many choices for consumers, further confusing them. In practice, this is not necessarily a disadvantage, as the dominant supplier (Microsoft) has hardly been a paragon of reliable release dates or backwards compatibility.
In 2004, however, the question of when Linux would (or had already) experience(d) significant market share on desktops, was debated. During the Linux.Conf.au conference at the University of Adelaide in January 2004 (Linux Australia, n.d.), Torvalds made a statement of his own opinion on the issue (as cited in Gedda, 2004): "This year there will be a lot of desktop users..." On the other hand, later that month he said, "I mean it's going to take literally five to ten years before 'normal users' start seeing [the] Linux desktop" (as cited in Mackenzie, 2004). As with most other things Linux, opinions differ and everyone can contribute.
For people who have always used Microsoft Windows (or the MacOS especially before MacOS X), using Linux can present problems because many things do not work 'exactly' the same. Some things will have to be relearned. It is also usually easier to find local tech-support people who understand some of the technical aspects of Windows (or the MacOS) than it is to find similar folk for Linux. Most non-technical users don't particularly care which operating system they use, so long as it has all of the programs they need and they can sucessfully use it. Unless they find major problems in other operating systems, it's widely believed they're unlikely to switch to Linux. On the other hand, Linux, once installed successfully, is far less likely to crash, lock up, be attacked by a virus or be taken over by an attack 'from the network' than is any version to date of Windows.
At this writing, on personal desktops, Linux is still used mainly by people who 'know more' about computers. As long as computer manufacturers and distributors supply Windows as the default operating system, this is not likely to change rapidly. Microsoft has shown little inclination to modify the terms of its Windows' monopolistic licensing to computer manufacturers.
Linuxconf is a sophisticated administration system for the Linux operating system, written in the C++ and may be operated with your favorite Web browser. Linuxconf works for a.out and ELF systems; it installs currently directly on the majority of Linux distros, including Debian.
gnome-linuxconf is a GTK-based graphical frontend to Linuxconf.
* Gedda. R. (2004). Linux breaks desktop barrier in 2004:
Torvalds. Retrieved January 16, 2004 from http://www.linuxworld.com.au/index.php?id=568003838&fp=16&fpid=0
* Mackenzie, K. (2004). Linux Torvalds Q&A. Retrieved January 19, 2004 from http://australianit.news.com.au/articles/0,7204,8407881%5E15841%5E%5Enbv%5E,00.html
* Marcinkowski, A. (2003). Linux needs reconsideration. Retrieved January 16, 2004 from http://news.com.com/2009-1081_3-5060264.html
Linus Torvalds announcement on Usenet:
From: Linus Benedict Torvalds
Subject: Free minix-like kernel sources for 386-AT
Date: 1991-10-05 08:53:28 PST
Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be just for you :-)
As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.
Sources for this pet project
of mine can be found at nic.funet.fi (22.214.171.124)
in the directory /pub/OS/Linux. The directory also contains some
README-file and a couple of binaries to work under linux (bash, update
and gcc, what more can you ask for :-). Full kernel source is provided,
as no minix code has been used. Library
sources are only partially free, so that cannot be distributed currently.
The system is able to compile "as-is" and has been known to work.
Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu.
ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix.
The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info.
I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have.
I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code.
PS. to PHIL NELSON! I'm unable
to get through to you, and keep getting "forward error - strawberry unknown
domain" or something.