What is Open Source?



What is Source Code?
Suppose you have some dish of food. Say, a cake for example. In order to make a cake, one has to follow some given recipe. Given that one follows this recipie correctly, one would yeild the delightful result of a cake as expected. In this process, there are two items, namely the cake and the recipie.

In regards to software, we can use this analogy. Any piece of software, we can liken to a cake. The source code of the software we can liken to the recipie. Thus, the source code of software is inifinitely more significant than the actual software. With the recipie, you not only possess the cake, but the method in which to bake the cake. With the source code, you not only have the software, but the method in which it works, ie the internals. Given a cake, it's difficult to derive the recipie, but given the recipie, its trivial to bake the cake.
What's wrong with simply having the cake?
Let's assume that the whole world doesn't really care about having the recipie. Then what will happen eventually? The people in possession of the recipie would keep manipulating the ingredients to make something that looks like a cake, but clearly, something that's purely junk food. There wouldn't be any scrutiny of the ingredients, no quality control, because no one would complain about what would go into the cake. This analogy is identical to that of software. Propietary software is slow and buggy. The reason is that not much effort has gone into making the software properly. A proper cake takes time to bake. Proper software takes time to write. Moreover, propietary software is like junk cake, and junk cake may cause heart disease!

What is Open Source?

Open Source is a movement to make software free. But free not simply in terms of money, but in terms of intellectual property. With Open Source software, the source code is accessible to the public. For this reason, this type of software has also been called Public Domain. The favourite quote here is: "Software for use, not for profit." Generally, software is written and the source code is made available to the public. If someone finds some use for this software, he or she may use it freely. Furthermore, if someone sees that they can extend this software to use it for themselves, they will often modify/extend the software and re-release it back to the public domain. The constraints of the use of public domain users are often determined by the liscence (often called a Copyleft). For example, the GNU Public Liscence allows users of the software to do anything they wish, but with the constraint that any modification to the software has to be given back to the public. This makes sure that software and derived software remains truely free.

You can find out more about open source philosophy from the Free Software Foundation (www.fsf.org).
And you should also pay a visit to the GNU site (www.gnu.org)
Who uses Open Source software?
Many of the world's ISP's, NASA, Universities, Telecommunication providers, and even some of Hollywood (for Ice Age film) all use Open Source software. The American Defence force also created an ultra-secure Linux called seLinux to incorporate Open Source software for their purposes.

The main reasons for the popularity of open source software is that it is free, and secondly and more importantly, is of better quality than the propietary equivilant. Due to the "open" nature of Open Source software, changes occur daily and even sometimes hourly to the software. Thus, bugs are fixed quicker, and there are no "side-effects" which are proiminent in the binary patches (think about changing the cake after its baked - this is what a binary patch is!)  that propietary software makers often issue for bugs. As a result of this rapid development, it is often nonsense to talk about a distribution of an open source operating system that has aged six months. The converse of this is true for its propietary counterpart.

How can Open Source software be secure?

Suppose that we have two ingredients in our cake, call it A and B. If B is mixed with A for more than 5 minutes, then the cake will become poisionous. But both these ingredients are neccessary. This is often called a bug in the software. It may or may not cause a problem. But when it does cause a problem, it is often serious. There are two approaches to solving this problem. The simply approach is often taken by propietary software solutions - remove one of the ingriedients, and substitute it with a lower-quality equivilant. The more expensive approach is to re-write the recipie so that the two ingriendients will not be in contact for more than 5 minutes. This latter approach is taken by Open Source.

So, the source code is relevealed to everybody. Even crackers who love breaking software. The open source model forces the software to be more robust, because the security of the software has to be intellectually suprior to that of the crackers. For instance, some encryption method may take a million years to break with the world's fastest computers. The propietary appraoch is often to "hide" the mistakes. But when a mistake is found by someone with too much time on their hands, then all hell breaks lose. Open Source software is often much more secure than propietary software.

What pray, is Linux?

Linux(TM) is a full POSIX compliant Unix(TM) workalike. It is void of all original AT&T source unlike BSD. It provides most functionality of Unices, and supports a multitude of platforms, ranging from the x86 to the MIPS64. The latest kernel, 2.6.0 features preemptibility in system mode, O(1) time scheduler, and the integration of the world's fastest filesystem XFS (see oss.sgi.com).

For more information about Linux, see:
You should also search the web, you'll find lots of interesting things!


Back | Home