If you have stumbled across this page in your search for enlightenment about this strange thing called 'Linux' you keep hearing about, welcome. Over the next few weeks/months I intend to write a series of beginners pieces explaining what Linux is, where it came from, where it's going, how to use it and why you should.
If on the other hand you are a regular Linux user or Linux Forums guru, bear in mind when reading what follows who it is intended for. You will find omissions (you try fitting 40 years of history into 2000 words), simplifications (they are deliberate – mostly) and errors (I'm only human). Please feel free to add helpful comments and clarifications, but remember, you are clarifying Linux for newbies, not seeking to score points over your fellow gurus.
“Simplicate and add lightness” – Colin Chapman, Lotus Cars
In the Beginning
the roots of Open Source Software (OSS) are deep in the 'hacker culture' of early software development in the 1960s and '70s, particularly US universities such as MIT, Berkley, Stanford and Carnegie Mellon and in commercial institutions such as Bell Labs. In those days computers were supplied without an operating system and users had to create their own just to get the thing working. Programmers were few and formed a close knit, collaborative community where code sharing was just the natural thing to do. Once it became apparent that computers had commercial applications things began to change. In commerce knowledge has a price, whereas university computer labs modeled themselves on university science labs, commercial software companies operate on a model more like the pharmaceutical industry where expensive R&D is carried in great secrecy until a valuable product can be released on to the market.
Bell Labs and Unix
During the '60s Bell Labs (then part of AT&T) was involved in developing the Multics computer system. When Bell withdrew from the Multics consortium, computer scientist Ken Thompson was left with some Multics-inspired ideas about computer file systems and without a machine on which to play a game he had written, an early flight sim called Space Travel. Together with Dennis Ritchie, Thompson created Unix in 1969 as a platform for 'Space Travel' and a testbed for his ideas about operating system design. Thanks to a 1958 anti-trust case in the US (they had them then too!) AT&T was forbidden from profiting from non-telephone business, so in 1974 Bell released Unix into the computer science world free of charge, and free of licence restrictions by the simple technique of sending a tape copy to anyone that wanted one.
Unix was taken up by many universities and Berkley in particular grew it's own version of Unix, the Berkley Software Distribution, or BSD. The Unix industry got started in 1978 with the founding of the Santa Cruz Operation (SCO) and by 1980 a little startup in Seattle developed a miniature Unix called Xenix to run on fledgling PCs. In 1982 Sun was founded. Originally 'Stanford University Network' the company combined Stanford designed hardware with BSD and started the Unix workstation industry. By 1983 there were six Unix companies and when another anti-trust case broke up the Bell Labs system that had kept AT&T out of the computer business, AT&T promptly released Unix System V as a commercial product. Each Unix company created different versions that added new features, but locked purchasers into their proprietary system. Technical and commercial squabbles broke out, and no-one in the Unix world paid much attention to the market share being gained by IBM PCs with Intel chips and MS software.
GNU gets Going
Richard Stallman, was a Physics student at Harvard from 1971-74, and also busy hacking in MIT's Artificial Intelligence lab. When most of his fellow AI students left MIT to form commercial software companies, 'Lisp' and 'Symbolics' in the early1980's Stallman remained and for two years singlehandedly matched the output of Symbolics so that the lab wouldn't have to buy software. Eventually he was forced to concede that he couldn't keep it up, but being unwilling to sign up to the proprietary world of non-disclosure agreements he began to look for ways of re-creating the collegiate atmosphere of co-operation. He resigned from MIT in '84 and in 1985 published the GNU Manifesto from which the GNU foundation has grown.
Disgusted by the squabbling around Unix, Stallman deliberately distanced himself from it creating the first of thousands of recursive acronyms that have amused and irritated OSS users ever since, GNU stands for 'Gnu's Not Unix'. Nevertheless Stallman decided to make his operating system Unix compatible, to make the transition from proprietary software as easy as possible. To ensure the continuing freedom of free software, Stallman came up with the idea of Copyleft, using copyright law to ensure material can be freely used, copied, examined, adapted and built upon, and ensuring those freedoms also apply to subsequent users. These freedoms are enshrined in the GNU General Public Licence (GPL).
In 1985, Stallman set up the charitable Free Software Foundation (FSF), to support his work and that of his collaborators. Stallman personally created the GCC compiler, the Emacs text editor, and a number of other tools. Other free software groups were at work too, the X consortium developed the X windowing system for Unix, and Perl, the most commonly used scripting language for web sites, was developed by Larry Wall at Burroughs. The same Larry Wall had previously developed the 'Patch' system used by almost all software developers these days to fix bugs and update an application without replacing the entire code. Without Patch it is hard to see how any complex software could evolve. The original Berkley Software Distribution spawned the open source FreeBSD, NetBSD and OpenBSD.
FSF created a lot of Unix compatible software, but still lacked a replacement kernel, in 1990 Stallman's team began work on HURD, a new OS based on MACH which was first developed at Carnegie Mellon. Work was progressing slowly when Linus Torvalds' Linux burst on the scene.
Linus Torvalds was a 21 year old second year student at the University of Helsinki in 1991 when he wrote a Unix-like kernel based on Minix, a small Unix clone that ran on PCs and was often used as a teaching tool. Torvalds submitted his kernel, called Linux (from Linus and Unix) to various newsgroups and mailing lists for review. Several other programmers began to tweak the code and send their improvements back to Torvalds for inclusion in the next release. Eventually, Linux became the de-facto kernel for the GNU operating system.
These days the Linux kernel is maintained by The Open Source Development Lab, with Torvalds as chief developer. According to Stallman, the combination of Linux kernel and Gnu tools and applications should be referred to as 'Gnu/Linux' but few people bother, 'Linux' is just easier to say. For the rest of this article, when you see 'Linux' read 'Gnu/Linux' if you wish.
Linux was adopted by hackers and by the Internet companies that were just getting started, but initially made very little progress as a desktop operating system. Two things changed this quite suddenly; the Gnome and KDE desktop teams were set up to create powerful and attractive modern GUIs for Linux that could rival Windows 95, then in 1997 Eric Raymond published 'The Cathedral and The Bazaar'. It's not often essays change the world but this one did. Raymond explained why he believed that open source licences resulted in higher quality, less expensive software. The essay spread quickly through the programming community. The popularity of Linux and the free/open source software movement exploded.
Driven by idealism, Stallman is reputedly difficult to get on with, and some fear his left-wing freedom agenda alienates the business community. Several such people led by Eric Raymond, Bruce Perens, and Tim O'Reilly, decided that the the free software community needed better marketing and formed the Open Source Initiative to promote the pragmatic benefits to the business community, and to certify free/open source licenses that meet the Open Source Definition.
Around the same time, Netscape was involved in the 'Browser Wars' with Microsoft. Worried that Microsoft dominance would shift web protocols from open to proprietary standards that only Microsoft's servers would be able to meet, and influenced by Raymond's essay, Netscape were persuaded that the best chance of ensuring continuing open standards on the web would be to 'open source' Netscape. The deal was done in January 1998. If IE was free to Windows users, Netscape would be free to everyone. Their announcement gave the free/open source software community a great credibility boost in the eyes of business community. Firefox, Konqueror and Safari all derive from Netscape's original code.
The general principle of OSS licencing is that the program's source code should be released to the public, and that anyone should be allowed to modify it and re-release it. It is not a requirement to release the software free of charge, many companies create and sell 'distributions' but as the source code is in the public domain and anyone can copy it and compile it and sell it prices tend to stay low.
The GPL is the best known licence, based on the FSF Free Software Definition. FSF define 'Free' as a matter of liberty not price, and the phrase 'Free speech not free beer' is often used to clarify their standpoint. They define four freedoms, numbered in true geek style from 0 to 3:
(0) The freedom to run the program, for any purpose.
(1) The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
(2) The freedom to redistribute copies so you can help your neighbor.
(3) The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
Central to the GPL is the idea of 'Copyleft', which manages to use the rules of copyright to achieve pretty much the opposite effect. When redistributing a program under 'copyleft', you cannot add restrictions to deny other people the central freedoms, which means no code originally released as open source can be used in a product which is then distributed under the closed source model.
The BSDLicence is seen as more 'business friendly' as it allows software released under the licence to be incorporated into commercial products then released under a proprietary license. Some notable examples of this are the use of BSD networking code in Microsoft products, and FreeBSD components in Mac OS X. It is also possible for BSD licenced products to include material released under other licences, a situation not acceptable under the more purist GPL. Early versions of BSD Unix itself included proprietary material from AT&T's version of BSD.
This business friendly approach is helpful to developers trying to get a standard widely adopted; the Ogg Vorbis audio format for example, is released under BSD to encourage companies to embed Ogg Vorbis code into audio players and proprietary audio software.
The MIT Licence is also very liberal, basically allowing anyone to do anything with software released under this licence, providing that the same condition is attached to any copies, or any substantial parts of the software copied into other products.
The Mozilla Public License is derived from the Netscape Public Licence created by Netscape's lawyers when the company open sourced their browser code. To non-legal minds it says much the same as the BSD licence, but at much greater length.
Tracking the growth of Linux is quite impossible, Microsoft know how many licences they have issued*, Apple know how many Macs they have sold, but when software is free no-one knows how many copies have been made. Even if it were possible to estimate the number of copies produced that wouldn't bear much relation to the number of PCs actually using Linux. For what it is worth the Linux Counter project estimates 29 million users worldwide.
As Linux has become more widely known and respected it has become the natural choice for companies replacing Unix servers, and is increasingly attractive to growing companies looking to replace Windows servers. In response to this, IBM has taken a big stake in Red Hat Linux and actively markets Linux servers; Novell after years of adopting small bits of OSS into Netware has bought one of the oldest distros, SuSE lock, stock and barrel and is now marketing SuSE Linux Enterprise Server; and one of the oldest Unix based companies Sun, has recently open sourced its
proprietary Unix, Solaris, apparently as a way of fighting off Linux by getting the OSS community on board. With players this big backing OSS its future in this market is assured.
As for OSS on desktop and laptop PCs, it is growing, but how fast is impossible to tell. Both Firefox and Open Office are available in Linux and Windows versions and quite a few budget PCs are now sold with both pre-installed. Well why not? They cost the supplier nothing and make an attractive 'bundle' for customers. Recent research by XiTi shows Firefox has achieved a market share of more than 20 percent in Europe, based on a sample of 32.5 million Web site visits that took place on Jan. 8th. Millions also use Open Office, by August last year combined downloads of Open Office and Star Office passed 25 million. 'Linux Online' lists 52 companies that supply PCs with Linux pre-installed, and 20 suppliers of Linux laptops, not that many it's true, but a few years ago there were none at all.
The developing world provides an interesting insight into how things are going. On the one hand software companies are trying to clamp down on piracy, without which many of these places would have almost no software at all. On the other hand OSS enthusiasts are encouraging copying and distribution of their software and fostering the growth of real IT industries in countries that need all the development they can get. If you were an entrepreneur or a teacher in Africa, would you rather struggle with MS licencing and authentication issues, or get a free copy of Ubuntu and load it on every PC you can get your hands on?
* Though not how many pirated copies exist!
http://counter.li.org/http://counter.li.org/ http://counter.li.org/ http://counter.li.org/ (The Linux Counter project)
www.bcs.orgwww.bcs.org www.bcs.org (British Computer Society)
www.catb.org/~esr/www.catb.org/~esr/ (Home page for Eric Raymond)