After reading about this, the question arises : What does this 'Free' means? and What is Open Source?
This 'Free' is not 'Free' as 'Free Beer'. Free means Freedom. There is a person called 'RMS'( Richard Stallman) idol of all free software people, who has defined four types of freedoms for softwares.
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study and modify the program.
- Freedom 2: The freedom to copy the program so you can help your neighbor.
- Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Freedoms 1 and 3 require source code to be available because studying and modifying software without its source code is highly impractical.
Freedom 0: The freedom to run the program for any purpose: this means the software could be run for training purpose, educational purpose, commercial purpose or just for R&D purpose. There is no restriction on this.
Freedom 1: The freedom to study and modify the program: this means that, one can study the program flow, can study the logic & can also add some piece of code to make it better. Can add more functionality into the program.
Freedom 2: The freedom to copy the program so you can help your neighbor: this means, we can share the program with our friends, relatives, colleagues, neighbors etc.
Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits: this means, after studying & modifying the program we can release the improvements for other people to make use of it. This will improve the quality of program, also we'll get credit for the piece of code that we have written, at the same time, the person who has written original code will also retain his credits.
Open Source, is business model of Free Software, where we can charge the customer for some service or customization of the software.