Everybody likes something for free, but the worry is that if it's 'free' it's either only worth the money you paid for it, or that there's a catch. But in the world of computers - a realm that is baffling to most of the people forced to use them every day - lots of programs and applications are available to all for absolutely no cost. Still, if you're the sort of person who actually understands how programs work, you might already know that the best way to get free software is to build it yourself.
The term 'Open Source' software loosely means that a programmer - or group of programmers - has revealed the code for their software to the world and licensed others to comment on and improve it. In many cases, everyone involved is driven by a belief that what they're doing is for the good of all, and so any contribution is offered freely and without thoughts for monetary gain (sound familiar yet?). In effect, it's 'Communism for Computers', only without the red stars and funny hats.
This collaborative topic hopes to examine what the term 'Open Source software' means, who uses it and what people's experiences of the philosophy are.
In fact, the Open Source concept was the driving force behind one of the major advances in 20th-century technology, and the communication revolution that has changed the lives of millions: the World-Wide Web. Not do most web browsers allow you to view the source code of any web page1, but the majority of web servers run open source web serving applications.
There are many different classes of software. There's freeware, which is, surprisingly enough, software which costs nothing: "Free as in beer", such as Adobe Acrobat Reader, but it is not necessarily open source. The same goes for shareware and nagware - software which costs nothing, but tries to get you to buy a version that does. WinZip is an example.
'Free Software' is 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.
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.
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.
Open Source Software
A looser term, created by a group of software developers who saw many advantages in the collaborative development which arises from sharing the source code to a program, but who lacked the philosophical conviction of the original "Free Software" movement. The aim of the Open Source movement was to make the sharing of source code appeal more to commercial concerns - arguing, as Smiley Ben says, from a position of pragmatism rather than politics. Software may be open source without being copylefted, and even without providing the freedoms espoused by the originators of Free Software (although there is an official "Open Source Definition" which preserves some of them).
Examples include BSD, the original Qt license and others. All Free Software is Open Source, but not all Open Source software is Free (in the sense defined above).
All these terms get muddled up quite frequently and are made to overlap in general usage. See the Free Software Foundation's definitions for more details.
Opinions on the Open Source Concept
So why use Open Source software? What are the benefits? What are the pitfalls? Here we have compiled a wealth of experience from our Researchers. The advantages (and disadvantages) of Open Source software fall into five main categories: affordability, security, reliability, functionality and portability. Let the debate begin!
Open Source software does not have to be free of charge, but the two are usually coupled together anyway, and this often causes confusion. StarOffice, the Open Source office suite from Sun Microsystems, for example, is commercial software, and its Microsoft equivalent can be up to ten times more expensive! Most other Open Source software, however, is free, and so a growing number of businesses, research institutions and other organisations worldwide are reaping the cost-savings, as many Researchers will testify:
Linux is a good thing as many universities are installing it instead of commercial operating systems, saving them a small (or large) fortune.
The Altix range of supercomputer clustering solutions... has linux as its operating system because of the money it saves them in development.
But you don't just save money on software...
The most obvious benefit to open source is the release from the compulsory hardware upgrade cycle, where you need an extra feature of a piece of software, but it only works under the latest Microsoft operating system, which needs better hardware to allow it to run at all. So a minor upgrade to software can end up costing you a couple of thousand pounds per desk. this doesn't really happen under open source.
And the reason it doesn't happen under Open Source is that you will always find software tailor-made to be used on resource-limited hardware. Debian Linux, for example, can be used with 32 times less memory than that required for Windows XP, and its minimum space required on your hard disk drive is nearly 43 times less! If you didn't want to, you wouldn't even need a mouse to use Linux. This makes it all the more efficient for saving those 'ancient' computers from going to the scrap heap, preventing computer obsolescence.
One of the most feared security myths about Open Source software is expressed by this Researcher:
Many people say open source is the future, but it leaves the code open to people who might exploit it to create viruses.
It sounds like a sensible fear, but, in reality, viruses are far more common in Closed Source software. The reason?
The fear that open source may lead to virus attacks is overblown. The "Security by obscurity", which many Closed Source companies adhere to, has long been a joke among the computer industry. Hide the code but the virus writers will find the holes.
The advantage that Linux has is that even when a virus is created it is quickly dealt with, by the legions of code writes that support Linux.
That's it. And this effect is seen in practice: despite the fact that security vulnerabilities, if they exist, are available for all to see in Open Source operating systems, there are virtually no viruses that seriously affect them. Contrast that to the many tens of thousands of viruses that affect Windows, and often bring it down in a frightening devastation. It is common opinion that the sheer vastness and astuteness of the Open Source community has untold advantages that proprietary developers can never hope to match. Even Microsoft, in leaked documents, has complimented the Open Source system on a number of fronts (see The Halloween Documents. This Researcher explains:
Unlike wholly proprietary and Closed Source operating systems, the user can adapt their computer exactly to their own specification [with Open Source software]. If they find a bug, they don't need to wait for the next service pack or the next release; they don't even need to send an e-mail to the technical support of any particular company; if they have the know-how, they can quite simply fix the problem themselves and then submit their fix back to the community for everyone else's use. In this way, bugfixing is a far faster process, and new updates and patches can be released extremely rapidly.
Because of how such software evolved as programmers' hobbies, a lot of the user base consists of people with the programming know-how.
At one time, when Linus Torvalds was working on the Linux kernel full time, he was known to release patches for bugs within hours of their being reported!
It is also worth pointing out that independent studies place the open source BSD operating systems (Unix spin-offs including FreeBSD, NetBSD and OpenBSD) and derivatives, as the most 'secure', and to this end, Apple based their new Mac OS X operating system on FreeBSD, creating Darwin, which remains open source.
My school uses Windows to run its server. It crashes so much very few people can ever get any work done.
Sound familiar? This is a common complaint about Closed Source software - it is often full of annoying bugs. Again, the reason is quite logical, and our particularly logical Researchers are only too quick to point it out:
Microsoft software leaks like a sieve, and is designed and tested to run in a totally Microsoft environment. Because it leaks, you have to add other software, which causes the rest to crash every so often.
Open Source is considered different. Where Windows may be compared to a leaking pipe that only a handful of plumbers are allowed to attend to, Open Source software could be a pipe constantly under the watchful eye of a community of plumbers, who will plug leaks very quickly4.
And if things do go wrong, here is a consoling opinion from one of our Researchers:
The friendliness and vastness of the community of open source users is unsurpassed, making technical support a very quick and easy thing to obtain. And, of course, it's free.
But what can you do with Open Source software? How does it compare to Closed Source software? Here is the experience of one Researcher on this matter:
I'd recommend you get hold of Mandrake 10.05 as it's probably the most user friendly. It's easy to set up a dual boot Windows/Linux machine. My main problem is that the range of printer drivers available is limited. Otherwise I can do just about everything I can do on Windows on Linux.
And that just about sums it up. In most cases, Open Source operating systems can do the same as Closed Source ones (and it is often alleged that they can do more), but you may find that some hardware is not supported. In the main, this is because hardware developers see Open Source developers as too small a segment of the market share, and refuse to develop drivers for them6. But remember, in most cases, software developed for Windows will not work in Linux, and vice versa. There are ways to cross this barrier, though. Nevertheless, many organisations that have already paid a lot of money for Closed Source software find that the instant redundancy of this software when migrating to Linux, for example, is too much to warrant the change.
Another Researcher had this to say about the functionality of Open Source software:
Unlike in a proprietary system, it is possible for anyone sufficiently frustrated to improve the interface of Open Source/Free Software for everyone else. If Internet Explorer had a useful feature that was irritatingly hard to use, there would be nothing I could do about it; if Mozilla had such a feature, however, I would be able to suggest an improvement, and if it seemed important enough, implement it myself.
There are yet more advantages in the functionality of Open Source software, as described here...
Once part of the system gets good enough, people start to build stuff on top of it (because that's the way we do things in Unix), so what happens then is that the new stuff starts growing, bringing in a whole new audience for the software, and the older stuff keeps maturing underneath.
For example, one of my machines still uses one of the old 1.?? kernels, but my programs work the same on that as the latest 2.6.3? kernel, with only the advanced features looking different (until they stabilise).
And in the meantime, my programs have improved as well, occasionally forming the basis for higher level programs.
It all works out eventually.
One other advantage of the Open Source model is that you can use it to learn about how software works. In fact, the Minix operating system, a derivative of Unix, had the sole purpose of educating people on the workings of operating systems.
'Portability' is the ability of software to be 'ported' - that means it can be made to run on a number of different operating systems or hardware configurations. As we find in these discussions, Open Source software leads the way in regard to portability...
I knew a friend who compiled an open source version of UNIX to run on his Commodore Amiga!
Even more surprising is the ability of that same version of Unix to run on a Sony Playstation 2 games console! There are versions for Macintosh computers, of course, 32 and 64-bit processors, SPARC machines and more.
I read an article recently that said Linux was fast taking over in the PDA and smartphone martket due to its open source and flexibility.
You probably don't see many smartphones or PDAs running Linux, but this Researcher thinks they'll make it big in the market soon:
Not only in the pda and smartphone markets, but in the embedded area generally.
Because it supports so many embedded processors, and is free, it [Open Source software] slashes the development cost of embedded software.
So it turns up in set top boxes, personal video recorders like the tivo, pdas, mobile phones, car hi-fi's, in-car entertainmetn systems (like movie players and mp3 players).
It is even used in some of the embedded equipment that is used on space shuttles and space stations. (in fact you seldom find Windows systems in use there, not since an NT laptop crashed and they had to waste most of a day reinstalling via a radio link).
Again, computer obsolescence is no longer justified...
If you have an older any pcs like me you can go to www.damnsmalllinux.org and download the 50MB live OS! I've successfully run it on a 586 laptop with 24MB RAM.
nothing like squeezing every ounce of usefullnes out of an old computer.
And here's an account of the practical real-life uses of Open Source software portability:
Many companies (like my current employer) which have standardized on Windows desktops are using tools such as Cygwin to provide a linux environment for open source tools to run in, rather than buying embedded development tools. I've also seen the case where large companies which have Unix based tools have "ported" them to Windows using a X-window environment simulator - Mentor Graphics for example uses the mks software package in the Windows version of their EDA tools, which were designed for Solaris and HP-UX (originally designed for Apollo / Domain).
As you can see, there is a plethora of advantages to Open Source software. It is all of these things that have, for example, prompted the remarkable growth of the open source Firefox web browser, which continues to rival Microsoft's Internet Explorer.
One researcher said:
All of us [benefit from Open Source software], due to local government or charities not having to waste money on proprietary licensing fees and the mandatory upgrade paths, not to mention the freedom from predatory practices from commercial software companies.
The Disadvantages of Open Source Software
Because of Microsoft's dominance in the desktop operating system market, software and hardware developers are less keen to support operating systems such as Linux and Unix. Certainly you will find a lot of Windows software becomes redundant when migrating to an Open Source system. Thankfully many alternative Open Source software is under development, and most common applications have viable replacements. Gaming under Linux or Unix is not usually practised, since few game developers support anything but Windows; however, the WINE project (WINE Is Not an Emulator) and its counterpart specialising in games, called Cedega (formerly WineX) are attempting to provide compatibility layers for allowing Windows programs to run on Linux. The projects are a long way off from being reliable, however, and there is a very limited collection of Windows software that will run successfully.
For all other uses, there is a profusion of software that will replace all major tasks that Windows performs. Perhaps, it has been argued, too much replacement software. A quick browse on the Open Source software repository, SourceForge, will show that there is a lot of software being developed with the Open Source model, and much of it is actually irrelevant to an everyday desktop user, and some of it is also unfinished, or not of a professional class. This is not really anything to fret over for such an everyday desktop user, since distribution makers such as Mandriva Linux have selected a few thousand of the best applications for a very wide range of uses. The choice is enormous.
One main criticism of Linux and other free software is that it is difficult to use. However this has increasingly proved not to be the case. Mandriva Linux, SuSE, Linspire, Lycoris and others have all be striving to make Linux as user-friendly as it can possibly be. As a general rule, it is worth remembering that Unix and its BSD descendents (except Mac OS X of course) are operating systems that are not designed with ease-of-use in mind, and should probably not be approached by beginners or desktop users. Linux was descended in part from Unix, so it was arguably very difficult to use originally; this no longer has to be the case.
Linux and Unix like to do everything methodically, it can be argued, and to that end, they often take their time when booting up. Perhaps it will only take a few seconds longer than Windows would, but some distributions can be noticeably slower. Many users have dismissed this claim by saying that Windows deceives the user by displaying the desktop before it can actually be used, and then goes on to slow your usage by loading lots of background programs.
However, one of the main threats to the Open Source software movement is patent law: in the USA, it is legal to put a patent (a 20 year monopoly) on software. It is widely seen that the US patent office grants patents too liberally - for example, there are patents on progress bars, web shops, one-click ordering, and tabbed user interfaces. Large software companies like IBM, Microsoft and Apple have thousands of software patents, which means that software development is increasingly becoming the domain of a few elite companies; smaller companies do not have enough patents to counter the licensing demands of these big companies, which often makes it uneconomical to start a software business. Because they have so many, companies like IBM do not even need to prove a patent violation; they often just demand license fees to cover possible violations, knowing that the legal fees of an investigation are too high for small businesses. Microsoft claims that Linux violates over two hundred patents, and has threatened many Asian companies looking to migrate to Linux with a lawsuit, even though few places other than the USA have enforceable laws over US-registered software patents.
The European Union does not yet have software patent law, but the European Commission has been trying to legalise them for some years. There are concerns that free software projects would not survive in the onslaught of patent litigation.
Who Is Using It?
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 had 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' 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.
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. More information about the drink, which is usually only available at computer conventions, can be found at NewScientist's article, which is available under the Design Science Licence.
- 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?
Want to give people freedom in using some of your creations? See the Creative Commons.
A more detailed article introducing the Open Source software movement.