Free Software

I talk about free software a lot, on this website and in life. I therefore created this page to explain what it is, and why it matters to me.

What is Free Software?

Contrary to popular belief, "free software" is not synonymous with "gratis software", even though free software is often gratis. The expression "free software" uses the word "free" as in "free speech", not "free beer".

Free software is software that guarantees four essential freedoms to its users:

  1. The freedom to run the program as you wish, for any purpose.
  2. The freedom to study how the program works, and change it so it does your computing as you wish.
  3. The freedom to redistribute copies so you can help others.
  4. The freedom to distribute copies of your modified versions to others.

Availability of the source code

To properly comprehend the implications of freedoms 1 and 3, one first needs to understand the concepts of source code and compiling.

When a programmer creates a computer program, they write code in a programming language. Such languages are designed to be understandable by human beings, and are not directly understandable by computers. For a computer program to be usable, it first needs to be compiled, that is, converted to a language that can be interpreted by a machine, but not by a human being. When one uses a computer program, they use its compiled version. The version written in a language understandable by humains is what we call the source code of the program.

For one to be able to study how a program works, or even modify it, they need access to its source code. Therefore, the underlying condition to software being free is making its source code available. It is the equivalent of selling you a cake and giving you its recipe at the same time.

When software is not free, it is said to be proprietary software.

What's in it for people who can't program?

If you do not have the ability to read source code, let alone change it, you might wonder why the freedoms to study and change a program's inner workings should matter to you. The thing is, there is a collective dimension to free software: you might not be able to read the source code, but others can.

To put it simply, proprietary software often hides malicious behaviour from its users — behaviour, for example, that violates the user's privacy, or uses their computer to do things that they most probably disagree with, such as mining bitcoins on behalf of the app's developers. Now, free software could theoretically also feature such malicious behaviour, but since the source code is available, it would not take very long for someone to find out and spread the word. Motivated programmers might even create a version of the program stripped of its undesirable behaviour.

This is why we say that with proprietary software, the software controls the users, but with free software, it is the users who control the software — and this control is not only individual, but also collective. Have you ever experienced the frustration of finding out an application you love has been abandoned by its developers? With proprietary software, nothing can be done about it. With free software, though, if the application is still useful to many, a community might gather around a project to keep it alive.

Examples of Free Software

Here are some examples of free software programs that you may be aware of:

  • Firefox is a free web browser
  • LibreOffice is a free software alternative to proprietary productivity suites such as Microsoft Office
  • VLC is a free audio and video player
  • 7-Zip is a free file archiver
  • GIMP is a free software alternative to Photoshop
  • Jitsi is a free videoconferencing and instant messaging solution that can be used in place of proprietary applications such as Zoom
  • WordPress is a free content management system powering over 30% of all websites
  • Android is free at its core (but the versions that come pre-installed on Android phones are bundled with software that is non-free)
  • Linux (or GNU/Linux for purists) is a family of free operating systems (referred to as Linux distributions or GNU/Linux distributions) that can be installed on a computer in place of Windows

How do free software developers make money?

Once again, it is "free" as in "free speech", not "free beer". It is true, though, that consumer-facing free software is often also free as in free beer — but this is also true with consumer-facing proprietary software, by the way — and those specific instances of free software are often maintained by volunteers or non-profit organizations. In the world of software with a business-facing option, however, there are applications that are free software and generate profit as well. All is a question of business model: a company that develops free software that needs to be deployed on a server, for instance, can also sell cloud services allowing to use its software without actually having to deploy it. This is the case with Bitwarden, a free software password management service that competes with proprietary services such as LastPass and 1Password.

At least, with free software, the business model has to be clear. It is not always the case with proprietary applications that are only free as in free beer: with those, a common saying is that if it's free (again, as in free beer), then you are the product.

Free Software vs Open Source

The terms "Free Software" and "Open Source" are sometimes used interchangeably, and might be considered equivalent when strictly considering practical purposes. However, there are important distinctions between the underlying philosophies of the Free Software and Open Source movements. The two movements have their respective organizations: the Free Software Foundation (FSF) and the Open Source Initiative (OSI). For the FSF, the purpose of free software is freedom, and all non-free software is considered unethical, as it "controls" the users instead of the users controlling the software. While for the OSI, open source software is preferred for its technical advantages, with no strong moral position opposing the existence of proprietary software.

Most software development companies nowadays use software packages that are considered free and/or open source, and it is not rare to see a company publish software packages along with their source code even though its main products are proprietary — this is why the corporate world strongly prefers to use the term "Open Source" rather than "Free Software", since "Open Source" does not come with a moral prejudice against proprietary software like "Free Software" does.

The terms "FOSS" (Free and Open Source Software) and "FLOSS" (Free/Libre and Open Source Software) also exist, and are used to refer to software projects that are free (as in freedom) and open source, without taking position in favour of a specific movement.

Where I Stand

I believe in the values of freedom carried by the Free Software movement, and I prefer using free software whenever possible. I do, however, still use some proprietary software in the absence of a free alternative or when the available options are too inconvenient. Therefore, I agree with the free software purists in theory, but am not one of them in practice, as they would tell you that convenience should never be put in front of freedom. That being said, at least 90% of all applications I use on a daily basis are free software, and that feels good.