Jonathan Hunt

―― jonhunt.uk ――
15 Jun 2022

An introduction to free software

An introduction to free software

What is free software?

The first thing to note is that when people talk about free software they mean free as in freedom, not neccessarily free as in price or noncommercial. More specifically, most agree that to be truly free software, it must allow the following 4 freedoms:

  1. The freedom to run the program as you wish
  2. The freedom to view the source code, and change it as you wish
  3. The freedom to redistribute exact copies
  4. The freedom to redistribute copies with changes

Why does it matter?

A common response to the 4 freedoms above is to think that they sound like a good idea in theory, but serves no practical benefit to people who don't have the knowledge, experience, time or energy to make changes to the code themselves. However, you don't need to personally modify the software yourself to benefit from the work of others who have done so. Not only can others use the 4 freedoms to develop better software for you as a user; it also allows for them to inspect the code for any potential issues, including intentional exploits of the user.

How proprietary software can exploit the user

Proprietary software is the opposite of free software, missing 1 or more of the 4 freedoms. The lack of these freedoms means that the developers of proprietary software are the only ones who have access to the code, or they allow you to access the code but make it illegal to make changes to it. This is usually done so that the proprietary developers can exploit the user, sometimes without their knowledge. Below are examples of potential exploits, and how free software compares to it:

Tracking, spying and sharing your activity

Proprietary software: Laws often require the developers to ask for consent for this, but there's still the possibility of illegal spying, and even when given the option to consent,it's not much of a choice when they'll not let you use the software if you don't, especially in cases where proprietary software is required for work or school. On top of that, companies can make it difficult for the user to reject consent even though the option is technically allowed. For example in the UK (where I'm from), websites currently need to ask for consent before they can add tracking cookies, and rather than having a simple "decline all" option, they may have several (in some cases 30 or more) options which have to be individually declined, and they hide those options under several drop-down menus that also need to be clicked. This is done to make it as inconvinient as possible for the user to decline, in the hopes that they'll give up and just click the "accept all" option which they make easy to do. Most people in the UK will do that, especially if they're just going to a website as a one-off or rare visit. Whilst having 1 website you only briefly visited track you might not seem a big deal, there is overlap of trackers between websites, and they can accumulate data across all the "one-off" visits to create a detailed picture of the user.

Free software: It's not possible to spy, as people can see the code and see where spying is/could be taking place. People with technical expertise can make a modified version of the software that doesn't include spying and share it with others who don't want to be spied on.

It can use the information it tracks to exploit the user even more. For example it can tailor advertisements, suggestions and more based on the user's past behaviour

Proprietary software: It could be a useful feature but it's also potentially psychologically manipulative, persuading people to spend money they would have otherwise saved. Whilst of course the user still has the freedom to ignore advertisements and suggestions, ideally they should be an opt-in feature rather than the default behaviour or worse still having no option to disable at all.

Free software: Those with technical expertise can create a modified version that doesn't include advertisements and suggestions, and share it with those don't want that either. Those who do want it can continue to use the original, unmodified version.

The software can remove things you previously had, even if you paid for it

Proprietary software: Sometimes what it removes may be beneficial to remove, such as bugs, or it's trivial things, but it can also potentially remove siginficant things. For example if you bought a digital e-book from a proprietary store (e.g Amazon) they have the ability to remove that e-book from you. That's something that actually happened.

Free software: Any free software you obtained/purchased is given to you fully with no strings attached. You can use it however you wish and it'll likely be in a format that's compatible with a wide range of other devices and software. As free software is usually a collaborative effort, the worst someone can do is make their own copy/version inaccessible/unsupported, but in those cases you can usually just get someone elses' copy instead. You're also free to make as many personal backup copies of software as you want.

The software may force the user to install unwanted "upgrades" that change the software in ways they don't like

Proprietary software: In some cases it can directly do that, by taking control of the device, or in other cases it can compel the user to do so by no longer supporting features that previously worked fine, unless you install the upgrade. It's even possible that proprietary developers could intentionally share knowledge of bugs of previous versions, so that hackers will exploit it, forcing users to install the update to fix the bug. Another way forced updates can exploit users is by filling up storage and being incompatible with older devices/hardware. Given enough updates that might make a device slow and buggy, or even completely unusable. This is often the intention of proprietary companies as a way of pushing people into buying new devices sooner (and it's also one of the reasons why modern smartphones don't usually include replacable storage).

Free software: Updates are completely optional and you're free to keep using and sharing copies of previous versions, as well as versions with custom modification. If you install and update and regret it, you're also free to go back to a previous version.

Tags: Tech Technology