Science in AfricaLogo Merck: Distributors of fine chemicals and apparatus. Enter here for more information.
January 2004

Article

 


Open vs. Closed Source Software

Andrew Grant


The biggest burning question when choosing software: free or not free? Both classes of software have major advantages and disadvantages. The two have a long and winding relationship dating back over twenty years. A good place to start is defining how they differ.

The term "Operating systems" are mentioned frequently in this article. Most users tend to use applications (i.e. Word), however every computer requires an operating system to function and those who produce the very popular ones are in a great position of power.

Closed source software (i.e. Microsoft Windows and Office) is developed by a single person or company. Only the final product that is run on your computer is made available, while the all important source code or recipe for making the software is kept a secret. This software is normally copyright or patented and is legally protected as intellectual property. The owner of the software distributes the software directly or via vendors to you the end user. You cannot legally give it away, copy it or modify it in any way unless you have a special licence or permission to do so.

Open Source software is almost the opposite (i.e. Redhat Linux, Open Office) and is free to use and distribute provided that certain conditions are met (more on this later).

Why do people create open and closed source software?

To gain a better understanding of some of the strengths and weaknesses of the different types of software, it helps to understand why people or organisations spend time and money creating the software in the first place.

The incentives for producing closed source software are fairly straight forward. The producer creates a product that you can be sold. The buyers are not allowed to distribute it further and the inner workings are kept secret. If someone does anything they are not supposed to, the producer can take legal action against them. Software is intangible, and once you have made your program, you can replicate it as many times as you want. This is a huge leap over building lets say car, where you need more materials for each car you churn out.

The incentives for Open source software are not as straight forward. What you have are developers writing commercial level software and effectively giving it away. The reasons for writing open source software range from those who have a passion for computing and who want to contribute to make a difference to those who do not like having to rely on any single company to produce what is needed. There have been a few cases where open software has been sponsored to act as competition where another company has been seen to abuse its monopoly position.

Open source software and its authors are legally protected by the GPL (General Public Licence). When you use software published under the GPL you can use it for free and give it to as many people as you want - providing that you do not pretend that you wrote it - this stops someone from hijacking your work and benefiting as a result. You can make changes and then even sell the software, provided you make available the modified source code specifying which bits you changed - you're only likely to sell one copy. The person you sell it to can then redistribute it freely. The software is provided without warranty, so a user cannot sue anyone if it breaks.

Which one should I choose?

Unfortunately the decision is not clear cut and comes down to what you, the end user needs. Below is a quick comparison of the strengths and weaknesses of both open and closed software.

Closed Source software is created to satisfy a need in the market. In paying for the software you get some definite perks. You can expect documentation to be provided with whatever your purchase and you can expect the application to perform in the way it was advertised. If the software does not work, you have the option of legal action or some other recourse against the company who sold you the software. As it is in the best interests of the company making the software, you can normally count on being able to obtain help / support for the software that you have paid money for.

On the down side software companies are under great amount of stress to continually upgrade what they are selling. In most cases software is rushed out the door before it is ready. This means that the software may not function correctly in some cases and in the worst case, can compromise the security of your computer. Most companies deal with this by producing patches that fix problems that get discovered, however users have a poor record of applying these patches resulting in thousands of computers around the world being left vulnerable every time a flaw is discovered.

As mentioned above, closed source software companies are the sole people who are allowed to build the products that they sell, so in the world there are relatively few versions of popular software that people use, considering the millions of computers being used today. For example, a security flaw affecting the latest version of windows and in turn millions of computers was discovered in June last year. Most users failed to apply the patch that was issued and within a few weeks a virus was written to exploit this vulnerability. The result was many networks around the world being brought to a crawl, clogged by the traffic produced by this program spreading freely.

Open source software on the other hand is created normally for use by those who want to use it. Many potentially useful programs are normally aimed at the proficient user, making it too complicated and inaccessible to the average end user. This situation has been remedied by organisations who tailor once unfriendly software to suit end users. The big examples are the Linux operating system (alternative to Windows) and Open Office (alternative to Microsoft Office). Unlike closed source software, the software is normally provided without warranty and you have no recourse should the software malfunction or not perform, there is also no guarantee of good documentation or support.

On the positive side, the source code to open software is available by all to read. The code for the bigger projects is therefore scrutinised by more people than even the biggest software companies can hire and software flaws are discovered as opposed to stumbled across. Most open source projects allow anyone to contribute and problems are normally resolved quickly and cleanly.

Open source software packages have had a better security record than closed source software. As open source programs normally originate for use by the experienced people who write them, security takes precedence over convenience. A good example is the way Microsoft's Outlook Express deals with email compared to Linux or Unix equivalents. In Linux, you first have to save an attachment to disk, mark it as executable (i.e. a program you want to run) and then run it. Outlook Express has a preview pane running by default, so when you click on a message, Outlook automatically goes sniffing around whatever's in the message - if there's anything malicious in the message, you're probably going to get infected.

The bottom line

Both open source and closed source software are far from perfect. If you are new to computers then closed source software is probably for you, as the cost of training and getting yourself competent will exceed getting the cost of buying easier to use software. The support offered by closed source companies in Africa tends to be better than its open source competitors. There are companies that offer paid support for open source software, but again this is still relatively small in Africa.

On the other hand, open source software is catching up quickly with its closed source counterparts. Some versions or distributions of Linux can be installed completely without having to touch a keyboard and projects are currently running to improve the documentation available for open source software. Also as overall computer literacy improves as computers become more pervasive, open source software will become more appealing.

In the author's opinion, the abilities and friendliness of open and closed source software are merging, and the real showdown will happen in five to ten years when the only real difference between the two classes will be the cost. This can already be seen by hints of the South African and Nigerian governments considering open source products.


More information:

Andrew Grant is a support consultant in the Information Technology Division at Rhodes University.

Glossary:

Operating System: The software at the heart of your computer. It can be thought of as the soul of your computer and determines much about the way it looks and behaves. It manages the different parts of your computer and allows them to work together and provides a foundation to run the applications (i.e. Word Processor / Games etc) that you want to use.
Source Code: This is the code written by a human being in a computer language. It is the recipe / instructions used to make a program. The source code is compiled into machine language and then used by the computer. Back

Further Reading:

South Africa considers Open Source:
http://news.com.com/2100-1001-983315.html

Nigeria and Others Consider Open Source:
http://www.infoworld.com/article/03/07/08/HNafrolinux_1.html

History of Linux:
http://ragib.hypermart.net/linux/

History of Windows:
http://www.computerhope.com/history/windows.htm

General Public Licence (GPL)
http://www.gnu.org/copyleft/gpl.html


 

Science in Africa - Africa's First On-Line Science Magazine

Return to Home PageReturn to the TopYour FeedbackRegister with "Science in Africa" 

Copyright  2002, Science in Africa, Science magazine for Africa CC. All Rights Reserved

Terms and Conditions