People usually think both are the same. At least I used to. Until recently when I found out that it wasn’t so. Let me try to make it clear for you.
Open source is a development methodology where the source code of the product is made available to the public. The ideology behind this is that as more people get to look at the code, better codes will be written and as such better products will be made. As I said, it is an approach to the development of a product.
Whereas, free software is a moral code to follow. Under this, a user is granted with four freedoms. Richard Stallman, the founder of the free software movement, puts them down as follows:
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
- Freedom 2: The freedom to redistribute copies so you can help your neighbor.
- Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits
Thus free software is just the decision you personally take that “My code is free”.
Now the very interesting point is that if a closed source product is better than a corresponding open source one, the open source ideology will have failed. But whatever happens, the free software mantra never fails as long as you decide your code is free because the four rules hold always. 🙂