There is a difference exists between free software and open source software, but for my blog context, you can treat them as similar. So whenever I have used “open source” you read them as “open source or free software” or vice verse
What is Open Source or Free software?
If you are clue less about the terms in the above question, lets read about it
Now that you have some background information, lets start the discussions 🙂
Let me give some analogy first. What do you do when you want to know about ” a recipe for a dish”, you ask somebody who knows it. You get the recipe and prepare the dish . After/during you prepare it, you change the dish according to your taste. You can increase/decrease/change the ingredients according to your taste or requirement. Isn’t it awesome?Lets think the other way around. How do you feel if the person who have the knowledge of dish, refuses to give you the recipe or if he/she gives you, it would be on a precondition that you can’t change the recipe at all and you can’t share the recipe with anybody. That means if the dish is little sweet and people like me who don’t like sweet food at all , wont have any choice . My south Indian friends who love spicy food, can’t make that dish more spicy. Also even if your friends and family like the dish, you can’t share the recipe with them. Which is pretty bad. Feels like somebody has restricted our freedom, even if you can buy the dish from that particular person every time you want it but it feels bad when you can’t know how it is prepared, so that you can prepare it at home or you can’t modify it according to your taste. Similar thing happens when you use proprietary software. When you install a proprietary software you can’t modify it according to your need or give to somebody else. If you buy a proprietary software for you , the ownership is only tied to you as a license and even if you like software and want to give it somebody else, it will be illegal. Obviously you can’t see what is inside of the software :P. So if somebody sells you a proprietary software along with a virus/spyware/malware you wont be able to know. Free software is exactly opposite of proprietary software in this context.
When you share a code of a software along with the freedom to modify, redistribute , it starts infinite possibility. We will talk about infinite possibility after a little while because it is not a small topic to discuss :-).
Lets get back to the principle on which we think open source or free software is right thing to do. Our society evolved on knowledge, know-hows passed from our ancestors to us and it is also getting passed to our future generations. Our knowledge grow when we share it and one idea give birth to another . When our knowledge grow, we grow, new ideas born. When you share an idea with others, they also contributes to the idea and it become more stronger and better. Every inventions draw idea or inspiration from past. We wouldn’t have any electric bulb without electricity , no microprocessors without a transistor. When you put these principles on a source code, a free software project or open source project is born :).
Some people argue that even if we have proprietary software, still companies have came up with better software. That’s correct , a software can developed from scratch and may be a better one. But think about the time we could have saved by just enhancing/fixing the existing software, rather recreating it from the scratch. Its like reinventing the wheel .
There is another argument that if we the make the source code available for free then we can’t make money out of it or we can’t have a sustainable business model around it. Do you think it is a strong argument? For first time it looks like a strong argument. But surprisingly lots lots of money can be made out of open source or free software. You want me to give a example 🙂 sure there are many. How many of you have Android cell phones? I am sure you have one. What is interesting is, Android is an open source project and Google makes billions out of it. How many of you use firefox web browser? it is also a open source project and Mozzila makes money out of it. Have you heard about Linux/GNU? It is one of the biggest open source project and companies like IBM, Oracle, Google, Red Hat, Novell and thousands of companies make money out of it and also make our life easier with the help of Linux. Interesting isn’t ? You must be thinking then why companies continue to create proprietary software and people buy them too. It is something for you to think.
Now let’s talk about infinite possibility of a open source project. We can compare open source projects as seeds which can become a huge tree which again can create so many trees. Lets take an example. Linus Torvalds had started a small hubby os project when he can’t(he was not allowed to) modify code of a proprietary operating system called. minix. I would love to quote few lines from his initial mails to his university minix user group.
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
With this mail he also shared the code of his hobby project and rest is my friends, history!! :). You can understand from his mail that he never expected the project to grow this magnitude, where 99% of the supercomputer runs Linux, Biggest datacenters, majority cell phones (Android is based on Linux), web companies like Google, facebook, Linkdin, twitter run their servers using Linux and recently all most all technologies being invented for cloud computing is based on Linux. Amazing isn’t it. But there is more to the story :). As we know Android is based on Linux and it is a open source project. That means anybody can get the source code of worlds most popular mobile operating system. So now all the companies who wanted to create smart phones and they didn’t have resources to create an os, can use Android source code rather reinventing the wheel again. This will intern bring the smart phone price down and people who can’t afford expensive phones like Apple iphones can use cheaper smart phones in developing countries like India. You can imagine the socio economic impact when billions of people are connected to internet. This can’t get better than this ,where technology is helping people to change their life for better. This is just one example and there are many 🙂
Here is a video about Linux to get you more interested in it.
I hope this article has increased your understanding of open source software in general.