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