Tuesday, December 06, 2005

"Open Source" and "Free Software" - 2


I am back after a long leave. Exams are finally over(almost). What a relief!

Last time we looked at the difference between Proprietary software
and Free software + Open Source software. We will now try to see what the philosophical differences between the terms Free Software and Open Source software are.

Open source generally means just that. The source code is openly available. Anyone can see what it is and modify it if he/she wants. The reason people support Open Source software is that they believe it to be better than propreitary software. This is, they believe, because "Given enough eyeballs, all bugs are shallow" or the famous Linus Law as given by Eric S Raymond. Consider this situation - there is a particular piece of software, say a browser. You have 25 people working on the browser. The source code is only available to these 25 people. This is something like the propreitary model. ( Actually, I suppose it is very unusual to have everyone on the project being able to see the whole code in the propreitary model) . Now consider the Open Source model. Here you have more than the 25 people, in fact thousands, being able to see the code. So if there is a bug, it is more likely to be found in this model of development. You might think otherwise, but that's what the supporters of OSS claim.

The key difference between the term "Free Software" and "Open Source Software" is the question of ethics. The supporters of the term "Free Software" link it to ethics. To them the decision to allow people to view the source code is not a question of making better software. It is a question of ethics. They link software and society. They belive that it is the right of society to use a piece of software for its good. For this to happen the users of software should have the following rights:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
This is a qoute from http://www.gnu.org/philosophy/free-sw.html .Basically, it is all "help your neighbour" stuff. The stress is on the ethics.

A point to note is that more often than not, "Free Software" and "Open Source Software" are terms. What I mean is that different people call the same thing different names. Linux is both Free Software as well as Open Source. So is Mozilla Firefox.

For more information check these links

Disclaimer : Note that I am not an expert on these stuff. Also, these stuff are pretty controversial. It all depends on how you look at it. So please don't blame me for any inaccuracies or differences in opinion

No comments: