If you work in technology, then you’ve likely heard the term open source software thrown around in your field. But what does this phrase mean? Many people think it refers to free software, but that’s not quite right—not all open source software is free.
In fact, open source software can be defined as software that meets four freedoms: freedom to use the software however you want, freedom to study how the software works and change it to suit your needs, freedom to share the software with others and freedom to redistribute your own version of the software. If anyone wants to take a peek into the history of open source software, read the previous post.
Freedom 0: The freedom to run the program, for any purpose
The freedom to run an open source program for any purpose means that you are free to modify and redistribute it. You are also free to make a modified version available only under a different license, as long as that new license is compatible with open source licenses. Freedom 0 is a key element of what makes open source software different from proprietary software.
The freedoms that define open source software have been recognized internationally by organizations such as UNESCO and have been enshrined in law in countries including India, Brazil, Argentina, and Ecuador. A United Nations report calls on all countries to create public policies and regulations based on these freedoms.
Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish
Freedom 1: According to the four freedoms of open source software, Freedom 1 gives freedom to study the program and how it works. If we have the source code (usually we get the source code in open source software) then we can modify and change it only if we know how the program works.
Freedom 2: The freedom to redistribute copies so you can help your neighbor
The freedoms to use, study, share and improve Linux don’t just apply to you: you can freely redistribute copies so your neighbor can do these things too. In fact, under The GNU General Public License (GPL), it’s required! This is what’s known as freedom 2.
Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits
Anyone is free to study the source code, modify it and release improvements. Freedom 3: Freedom to improve the program and release your improvements to the public, so that the community as a whole can benefit from your contributions.