Become a fan of h2g2
Computer programs are written in code - languages that allow programmers to give instructions to a computer1 - which usually has to be built up, or 'compiled', into the language computers really understand - binary. Chances are that you are never shown the original code that the programmers wrote - that's the 'source' - you only use the end result.
Open source software is software where this source code is open for your perusal, although the official definition is somewhat longer.
The open source concept is driving the technology you're using now: the World-Wide Web. Depending on your browser, you can 'view source' on any web page.
The open source movement is often confused with the Free Software movement, a concept created by Richard Stallman and the GNU2 project to represent the idea that the development of computer software should be treated in the same way as traditional scientific research and developed 'for the good of all'. It should be available 'free as in beer', but more importantly, it should be 'free as in freedom' - the freedom to run, study, redistribute and improve it in any way you see fit. There is nothing wrong with charging money for 'Free Software', but it should also be available for no money, as should anything you add to it.
All these terms get muddled up quite frequently and are made to overlap in general usage; simply put, all Free Software is Open Source, but not all Open Source software is Free (in the sense defined above). In the vast majority of cases, however, Open Source software and Free Software go hand in hand, which means that not only can you get the program for free and then look at how it was made, you can also modify the program to your own needs, redistribute the program or your modified version, and even resell the program, under certain conditions stipulated in the licence agreement.
Share And Enjoy
True Free Software is 'Copylefted' - it uses copyright law to make it a breach of licence to make a derivative which is not also copyleft, and therefore free. In other words, if you modify the program, your modifications cannot be fully copyrighted - you cannot reserve all rights - because the licence states that you must continue to develop the program in the same way as it was originally made.
The Free Software concept is akin to scientific development. One scientist might compose a theory, they will publish it including all of their workings, and then other scientists will read it, improve it and collaboratively share their knowledge to produce a working model of a scientific principle. This method is common sense for science: if a limited number of scientists came up with theories and never told anyone how they did it, science would get nowhere.
Examples of Free Software include anything licensed under the GPL3, including the free Linux operating system and the many GNU tools that make it usable. The GPL is probably the most popular free licence for software, but there are many others. Examples include BSD, the original Qt license and the X11 and Apache licences. The Free Software Foundation also has a comprehensive list of software licences.
The Mozilla Firefox web browser, which has recently been taking market share from Microsoft's Internet Explorer, is both free and open source.
History of Open Source Software
Birth of BSD
Unix is what's known as an operating system, the software that drives the core processes of a computer, allowing hardware and application software to work together. It was initially written on a spare PDP-7 minicomputer in the Assembly language by Ken Thompson in 1969. It was intended as a system for doing research into writing operating systems, a function it is still fulfilling.
It stayed almost totally in his lab at AT&T Corporation until 1973, when Dennis Richie created the language called 'C' for research into mixed level4 languages. It proved to tie in so well with the philosophy of Unix that Unix was quickly re-written in C. C is what you'd call an 'architecture independent' or 'portable' language, which means that programs written in C can be compiled on a whole range of different types of computer - anything you can write a C compiler for, in fact.
At this time, it was not considered as anything more than a curiosity by AT&T, so Thompson and Richie would take the tapes storing Unix's source code when they went to universities to work on the AT&T operating systems that their computers were using, and often ended up copying the tapes for the university researchers to use.
This resulted in the Berkeley Software Distribution (BSD), and it was only later that AT&T got interested in Unix, when it started spreading through AT&T and their customers started hearing about it.
Later, in the early 1980s, the situation became complicated: a lot of modifications had been done at Berkeley, with a lot of them being sent in to AT&T and ending up being included in AT&T Unix. AT&T got interested in selling Unix as a product, and as it took off, they took Berkeley to court for copyright infringement.
The resulting judgement caused 6 files to need re-writing, and the BSD licence was formalised near the same time. Hence, the BSD operating system became freely available.
GNU's Not Unix
In 1983, the GNU project was started, which aimed to create a complete open source operating system that was also Free Software. To this end, Richard Stallman also founded the non-profit Free Software Foundation in 1985, to provide funding and management to the free software community. The GNU project ended up creating a great deal of free open source tools that would go with their operating system, such as the GNU C Compiler and the Emacs text editor, but at this stage they didn't make a kernel - the core system needed for an operating system.
At around the same time, there were multiple incompatible versions of Unix from different vendors (under licence to AT&T). When IBM PCs were starting out, there were problems with getting the versions of BSD completed and available, which resulted in the splitting of the project into the three main BSD variants: OpenBSD, FreeBSD and NetBSD.
Because of this, when the student Linus Torvalds got a 386 PC, the situation was as follows: the BSD community was split, non of them producing something usable. The GNU project's kernel, called Hurd, was not available (and even now it is not ready for anything but experimental use). The other versions were both proprietary and expensive. The GNU tools, however, were generally available. This meant that he was able to start coding a minimal monolithic kernel which he called Linux, for use on his own PC, and he made it generally available under the GNU Public License for others to extend for their machines.
After a while, it grew enough to be able to host the GNU tools in its own right, and thus GNU/Linux was born. Later on, the Slackware project took a whole host of .tgz files (the standard archive format for Unix5), and produced the first 'distribution', or 'distro', which is a complete operating system package.
The freedom of the code has allowed over three hundred other 'distributions' of Linux to be created, with Red Hat Linux and Debian spawning from Slackware, Mandrake (now Mandriva) and SuSE being spawned from Red Hat, and Lycoris, Caldera and later Lindows (now Linspire) were all spawned from Debian. But all these different distributions are still, effectively, GNU/Linux.
The liberal licence of the BSD operating systems also allowed Apple to use FreeBSD as the basis for Darwin, the core of their new Mac OS X operating system, released in 2001.
Open Source Today
Forging the Source
It was the Internet that really made the Open Source philosophy take off. The web provides the ideal collaboration grounds for sharing and distributing free software, and a vast online community has been established. Since web hosting is not free, in a monetary sense, you might wonder how such developers afford to keep their online presence necessary to the continuation of their project.
Hence the popularity of SourceForge, a free-of-charge online repository made specifically for open source developers, providing a number of useful development tools such as web hosting, a version control system and a donations interface. SourceForge is made by a commercial company called VA Software, and as such, has the funding necessary to pay for the services it provides for free.
Notable Uses of Open Source
Most of the Internet is! Chances are that the sites you're browsing are hosted on Linux webservers, using the open source Apache web server software, which claims nearly 70% of the market. Google, one of the most popular search engines, uses Linux.
Munich's City Council has recently decided to migrate 14,000 computers from Windows to Linux, after realising the benefits described in detail above. Even the UK government is finally realising the potential and has plans to give the Sun Java Desktop System to over 500,000 civil servants. Also, China and many East Asian countries are about to go open source as far as their governments' computers are concerned. The BBC has also reported on the potential of Linux to help rebuild Iraq.
Self-evidently, the benefits are becoming clear to governments. The US Department of Defense actually advocated the use of a web browser other than Microsoft Internet Explorer as a solution to security issues. Even more promisingly for the future of Open Source software, the UN recently wrote a section in one of their legal documents, given to all members, concerning the advantages of Open Source software over proprietary software.
A very popular move in schools and colleges nowadays is to save on the notorious upgrade cycle inherent in commercial software by converting old computer hardware into thin-client machines running off a Linux server. News reports announce the advent of Open Source software in UK schools. It has already taken off in Brazil.
IBM has recently been backing Linux quite extensively. The MareNostrum supercomputer in Barcelona, used for computation-intensive scientific research, runs Linux.
So Why Use It?
Apart from the fact that you don't have to pay for it (in the majority of cases), you might wonder why open source software is getting so much attention. Proponents of the concept cite increased security, reliability, portability and innovation as reasons to get excited about open source. How, though, can it be more secure, if anybody can contribute to it?
Well, you have probably heard of Wikipedia, which is basically the open source concept applied to an online encyclopaedia - anyone can edit an article, and the articles update in real time6. One of its major criticisms is that articles can very easily be vandalised, and this is true - vandalism on Wikipedia is abundant. So how can it be useful? It is precisely because anyone can edit it, coupled with the fact that it has so many loyal users, that it retains its usefulness - the vigilance of the community very quickly spots vandalism and puts it back as soon as possible.
The same applies to open source software. If a security vulnerability were put into the software, the community would very rapidly iron it out before it ended up being put into a public (or 'stable') release.
For all its advantages and the rapidity with which respectable organisations are seeing its potential, the open source model does have its drawbacks. SourceForge has over 100,000 projects. There are huge numbers of different approaches to the same type of software - search for a text editor, a window manager or a mail client, for example, and you'll be inundated with hits. And there's the problem, because open source projects are created mainly by hobbyists in their spare time, the number of projects that fall out of development (so called 'vapourware'), or just never reach a stable point, is high.
Even so, a great number of open source projects have been successful, with Linux and Mozilla Firefox being the most prominent examples. Others include OpenOffice.org, a free office suite, which is slowly gaining popularity, and Audacity, a simple audio editing suite, as well as Mozilla Thunderbird, the e-mail client accompaniment to Firefox, and the GNU Image Manipulation Program (the GIMP), which is even rivalling Adobe's Photoshop in some aspects7.
Other Open Source Products
It's not just software that can follow the Open Source principle, originally conceived by Richard Stallman, pioneer of the Free Software Foundation. The idea is catching on, and other markets are beginning to see its potential. Here are some examples:
OpenCola - It sounds like an odd idea at first, but Open Source cola is a real product, and you can see a picture of the can if you want proof. The basic idea is that anybody can view the 'source code' - ie, the recipe - for the cola in the can, and OpenCola encourage you to make the drink yourself and make modifications to the recipe.
OpenLaw - This is an experiment undertaken by Harvard University that allows Internet users to contribute to open discussions, from which legal documents, draft legal proposals and arguments to be submitted to governments are constructed.
Magnatune - Magnatune is a music recording industry. Magnatune's aim is to provide musicians with an Internet service comparable to everyday recording industries, but where the contract does not take away all their rights to their music. Additionally, Magnatune provides the right to the consumer (the listener in this case) to sample and share the music in accordance with a license. This is almost 'Free Music' - where again, the 'Free' means liberty (you still have to pay).
Open Source Beer - Well, why not?