There are a lot of ways you could define “free software”. For example, you could say Candy Crush or CCleaner is free software, because you can install it for free.
When people say that software is “free as in freedom”, or “libre”, they mean something else. Under these definitions, neither Candy Crush nor CCleaner would be free software. In order to be free by these definitions, software generally needs to fulfil these four criteria:
- The ability to run the software for any reason, without restrictions. This means that the free version of TeamViewer is not libre, as it tells you that you must purchase a license to use it commercially.
- Being able to study and modify the program’s inner workings. This requires the source code being available – just as you can’t make your own version of a store-bought cake without the recipe (or some clever reverse engineering), it’s necessary to have the source code readily available to easily modify a program. Software that doesn’t provide the source code thus cannot fulfil this term, and software like Snapchat, which bans users for running modified versions, is definitely not one of these.
- Being allowed to redistribute the software. If you buy a MacBooks, you can install updates for free, but you certainly aren’t allowed to redistribute these updates.
- Being allowed to distribute modified versions to others. If you’re not allowed to download the app, make some changes, and send that to people, it breaks this rule. The YouTube app is free, but Google doesn’t allow users to make their own changes to it and distribute it to others.
All of the software mentioned in those four basic rules is “free”, but not free. All of the software mentioned goes against every one of the four freedoms. The distinction between “freely available” and “free to do as you please with” is often signified by saying “gratis” or “libre” – gratis software is free as in “free donuts”, but libre software is free as in “freedom”.
As with anything, it’s hard to make clear cut rules to define what is and isn’t an example of libre software. The Cooperative Software License (CSL) prohibits most companies from using the software, but is otherwise entirely libre. This violates the first rule above, because certain people aren’t allowed to use the software, but I would say it’s still a free software license (just a less permissive one), although many – including the Free Software Foundation – would disagree with me on that.
And finally, you might be interested in the Free Software Foundation’s article on what is and isn’t free software. This is where those four rules came from – the FSF calls them the four essential freedoms. It’s worth noting that they again outline here that “Obfuscated ‘source code’ is not real source code and does not count as source code.”
Neither of these links are necessarily an endorsement of the content contained within. Although the CSL page is hosted on my own server, which is an endorsement anyway.