You probably heard of the viruses “Code Red” and “Nimda”. These worms have infected several thousands of computers and web servers in 2001. But not every site was affected. Major sites like the search engine google.com were not severely harmed. What made them safer than from web sites?
While we are talking of google.com, let us have a deeper look. According to their web site, google.com makes 150 million searches per day in its 2 billion web page index. This index is created by a so called “cluster”, a network of several computers doing the same thing, consisting of more than 10,000 single servers. What software can be so customizable, that you can run it on 10,000 computers?
A totally other thing is the internet access for a school. Nowadays its standard, but not so in 1994, when at my school in Germany a teacher built up a internet room without any government money – just with donated hardware. How could he do that, if Operating Systems cost more than $500 in the shop?
The solution to these questions is Free Software. Before I explain, why this is so, I will tell you a bit about the idea of Free Software. But first I have to explain the expression “free”. “Free” can mean two things in English. There is free meaning “It does not cost anything.”, and there is free like freedom. The community around Free Software usually sais: “Free as in Free Speech, not as in Free Beer.”
To understand this whole topic, you have to know a bit about software development. If I would show you a computer program in the way the computer sees it, you would see thousands or millions of numbers. On the other hand, the computer cannot understand the source code of the program, which is a human readable text expressing the computer's operations in an abstract way. A computer program called “compiler” can translate the human readable to the computer readable form.
Another explanation is due. What is a Hacker? A Hacker is a positive expression for someone who enjoys exploring the way computers, computer systems or other computer related things work or who is a passionate or quick programmer. Most free time programmer and Free Software developer consider themselves as hackers. Somebody that tries to steal information or destroys something is not a “Hacker” it is a “Cracker”.
In 1984, Richard M. Stallman, also known by his initials and login name RMS, dedicated his life to the development of a complete free operating system and he called it GNU, which is a recursive acronym for “Gnu's not Unix”. Unix is a family of operating systems often used in servers. GNU was technically like them, but most other Unixes were proprietary. He also defined Free Software as referring to 4 freedoms.
Sometimes the expression “Open Source” is used instead of “Free Software”. This is done to avoid the ambiguous “free” and express the main part, the availability of the source code, although the people around RMS deprecate this.
By 1991, he and thousands of other hackers had created a complete operating system. The only thing missing was the kernel. The kernel ist the part that connects the software to the hardware and the network protocols. In the early 1990s, other proprietary Unixes were so different from each other, that the whole Unix tradition died away. RMS could not help it – he had a good free operating system, but no working kernel. This is where Linus Thorvalds and Linux came in just in time. By the way, the penguin on my poster is called Tux and is the Linux mascot.
Linus Thorvalds started developing a Unix kernel called Linux at the age of 21 more or less for fun in his semester brake. He published his first results in the internet and gladly accepted contributions from others. Linux grew fast because of the special way it was developed. Until then, all big projects, and a kernel is a big project, were developed and coordinated in a very small and tightly-knit group of people. Linux evolved completely different. It was developed by a huge number of hackers all over the internet. Two years later, Linux was stable and reliable enough to compete with other Unixes and killing most small Unixes.
Today, companies selling Linux distributions like Red Hat or SuSE take Linux, the GNU-System and other mostly free software, put them on one (or more likely up to 6) CDs and distributed them through computer and book shops. The software on the CD still remained free, and you pay only for the effort of collecting, burning and printing a book; you can use one copy in 10,000 servers if you like.
Not only Linux was commercialized, commercial products have been “freed”. The most famous example is Netscape. Once the most spread internet browser, after the massive attack of Microsoft and it's free (as in beer) Internet Explorer, Netscape was nearly wiped off the Windows and Macintosh computers, and it's development could not keep up to the Internet Explorer. In 1998 the company behind Netscape announced that they will also give away the browser suit for free and also will open the source. This stunned the industry. This is a big step, for they did not own the code anymore; it was free. By now, Netscape 6.2 is a state of the art browser again. Others followed later. Sun Microsystems for example gave their full sized office suite “Star Office” to the Free Software community.
Now I will have a shorter look at the advantages of Free Software.
Free Software is safer. If a software has a weak spot that could be exploited by a Cracker, and no kind of software is perfect, it is so long insecure until the vendor fixes the problem. With traditional software, someone has to tell the vendor, he has to reproduce the problem, trace it down in the source code, fix it, build a new version and distribute it – maybe for extra money. This takes at least some days. With free software, the one that finds the problem can have a look at the source code himself, tell everybody about the problem, and soon somebody will have a solution. The maintainer of the projects has a look at it, builds a new version and distributes it. This can be done within some hours.
Free Software gives you what you need. Since the users themselves can actually be involved in the development process, the can easily add new features, improve the code and search for errors. Or you could just kindly ask the developers, who are usually much closer to the users than big anonymous companies.
Free Software supports a variety of choices. Since Free Software projects can take code from other projects and use it for their own, two projects of one kind will actually improve from each other, instead of fighting each other.
Free Software is the only way to real security. Only when you know what's going on you can be sure there are no backdoors or security holes. This is why more and more governments move to Free Software in critical areas.
And last but not least, Free Software is also free as in beer, or at least very cheap. You can build an IT infrastructure for a whole institution without paying for software, and you have everything you need. Workstations with internet browsers, office programs, graphic design, games, software development tools, servers acting as web servers, file servers, print server and so on.
I hope I have given you a deeper view in a movement that has the potential to change the computer world as we know it. My goal was to inform you about the existence of the whole thing, and if you come into a situation where you have to decide about what software to use, I want you to know that there is also Free Software.
By the way, although I prefer free speech, I don't mind free beer at all. Thank you for your attention.