What is Free and Open Source Software (FOSS)?

| 719 words | ~4 mins

You will hear the terms Free and Open Source software (FOSS) and Libre software thrown around everywhere nowadays. Open source is everywhere, from Firefox to Android to even the software that this website uses to function. The philosophy behind free software has been the driving force for much of our current technology, but what does it even mean?

Proprietary and FOSS Software

Software falls under two different categories: proprietary and FOSS. Proprietary software gives the user minimal freedoms to use an application under a license agreement. Users of FOSS software are granted liberties to use the software as they see fit.

Most software nowadays is built upon the code of FOSS software. Some of the big names, like Firefox and Node.js, are open source. Even proprietary apps, like Chrome and Google’s Android, are built upon the open source chromium and AOSP projects.

The Four Essential Freedoms of Free Software

Image: Free software foundation logo.

The Free Software Foundation (FSF) states that free software must adhere to these 4 freedoms for the software to be considered FOSS:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help others (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this, you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

These freedoms are essential to the software we use today.

You can get more information on these freedoms at the GUN website.

FOSS Software Protects You

Why is FOSS so important? Free and open source software protects your privacy and freedom. You are able to see what the code does, modify it if it does something you don’t like, and share it with your friends. You know when an open source program is attempting to violate your freedoms, because the code is publicly available.

Many proprietary programs don’t let you know what they’re doing. Microsoft Windows and Apple’s iOS are always watching you. The big tech companies try to keep you locked into their ecosystems. They have no accountability as no one can look at their code and tell you what it does.

Free software is the only software you can truly trust. This is why we try to recommend FOSS applications whenever possible.

Limitations of Free Software

Image: Heartbleed was a security vulnerability in the FOSS OpenSSL software.

Do you remember Heartbleed? This was a security vulnerability in OpenSSL that compromised a large part of the internet. OpenSSL is used by many companies, but the project had little money and only two full-time developers. These two developers had to maintain, test, and audit all the code. Naturally, they missed something.

Money is often a problem in FOSS. Developers need to eat and can’t spend all their time working on a free project for little reward. This leads to smaller projects having worse user experience, more bugs, and every so often, undiscovered security vulnerabilities.

The larger FOSS projects have corporate sponsors and Heartbleed has shown the world why we need to fund these projects, but the smaller ones are still left behind.

Please consider donating, buying commercial versions of FOSS projects, and contributing code to free software so we can make it better.

FOSS at Random Thoughts

Here at Random Thoughts we try to use FOSS software as much as possible. We use:

We are still looking for an affordable FOSS alternative to MailChimp for our email marketing, but we are getting closer to a fully open source and self-hosted ecosystem.

Get Involved in Free Software

As we mentioned before, FOSS software needs people and money. The best ways to support software is to donate time and money to the projects you use and love. Consider donating to the FSF, Mozilla, and other organizations that support a free future. Also share these projects with your friends. The more people who use them, the more likely a project will get the support it needs.