What does FOSS in It’s FOSS mean? What is FOSS?
I have been asked this question numerous times in the past. It was about time that I explained what is FOSS in Linux and the software world.
The distinction is important because FOSS is a generic world and it could mean different depending on the context. Here, I am discussing the FOSS principle in software.
What is FOSS?
FOSS means Free and Open Source Software. It doesn’t mean the software is free of cost. It means that the software's source code is open for all and anyone is free to use, study and modify the code. This principle allows others to contribute to developing and improving a software like a community.
The origin of FOSS
In the 60s and 70s, computers were hardware focused and the hardware was expensive. They were mainly used by academics in universities or researchers in labs. The limited amount of software used to come for free or with their source code and the users were allowed to modify the source code to suit their needs.
In the late 70s and early 80s, the manufacturer’s stopped distributing source code in an attempt to not let their software run on their competitor’s computers.
This restrictive licensing led to the inconvenience and dislike of people who were used to and fond of modifying software. In the mid-80s, Richard Stallman started the Free Software Movement.
Stallman specified four essential fundamental freedom for software to be Free and Open Source Software.
I am rephrasing them for easier understanding:
- Any user should be able to run the software for any purpose.
- Users should be free to see the source code of the software and if need be, users should be allowed to modify the code as well.
- Users should be free to distribute copies of the software to others.
- If a user modifies the code, she/he should be free to distribute the modified code to others. The modified code must have the source code open.
If interested, I would advise reading this article on the history of FOSS.
Free in Free and Open Source Software DOES NOT mean free of cost
As you may have noticed, the ‘free’ in Free and Open Source Software doesn’t mean it is free of cost. It means freedom to run, modify and distribute the software.
People often wrongly think that FOSS or Open Source software cannot have a price tag. This is not correct.
Most Free and Open Source Software are available free of cost because of several reasons:
- The source code is already available to the public so some developers see no point in putting a price tag on the downloads.
- Some projects are contributed by a number of volunteers for free. So, the main developer(s) find it unethical to charge for something that has been contributed freely by so many people.
- Some projects are supported and/or developed by bigger corporate or non-profit organizations that employ developers to work on their open source projects.
- Some developers create open source projects as hobby or out of their passion for contributing to the world with their code. Things like the number of downloads, contributions, and words of appreciation matter more than money for them.
To avoid the emphasis on ‘free’ some people use the term FLOSS. FLOSS stands for Free and Libre Open Source Software. The world libre (freedom) is different from gratuit/gratis (free of cost).
Free as in free speech, not free as in free beer.
How do FOSS projects make money?
It is a myth that open source projects don’t make money. Red Hat was the first open source company to reach the billion dollars mark. IBM bought Red Hat for $34 billion. There are many such examples.
Many open source projects, especially the ones in the enterprise sectors, offer support and enterprise-oriented features for a fee. This is main business model for Red Hat, SUSE Linux and more such projects.
Some open source projects like Discourse, and WordPress offer hosted instances of their software for a premium fee.
Many open source projects, especially desktop applications, rely on donations. VLC, GIMP, Inkscape and other such open source software fell in this category. There are ways to fund open-source programs but usually, you’ll find donation links on project websites.
Making money with open source software may be difficult but it is not entirely impossible.
But I am not a programmer. Why should I care if software is open source or not?
This is a valid question. You are not a software developer, just a regular computer user. Even if the source code of the software is available, you won’t understand how the program works.
That’s fine. You won’t understand it but someone with the necessary skill sets will and that’s what matters.
Think of it this way. Perhaps you won’t understand a complicated legal document. But if you have the freedom to look at the document and keep a copy of it, you can consult someone who can check it for legal pitfalls.
In other words, open source software has transparency.
What is the difference between FOSS and Open Source?
You’ll often come across the terms FOSS and open source. They are often used interchangeably.
Are they the same thing? It is difficult to answer yes and no.
The term ‘free’ in FOSS is confusing for many as people incorrectly assume that it as free of cost. Enterprise executives, higher-ups and decision makers tend to focus on ‘free’ in Free and Open Source. Since they are business people focused on making money for their company, the term ‘free’ works as deterrence in adopting the FOSS principles.
This is why a new organization named Open Source Initiative was created in the mid 90s. They removed the ‘Free’ from Free and Open Source Software and created their own definition of open source. and their own set of licenses.
The term ‘open source’ got quite popular specially in the software industry. The executives are more comfortable with Open Source. The adoption of open source snowballed and I believe the removal of the ‘free’ term did play a role here.
As I explained in the article, what is Linux Distribution, the FOSS/open source concept played a big role in the development and popularity of Linux.
I explained the concept of FOSS and open source more straightforwardly in this jargon buster article. I have tried to avoid going into too much in detail or technical accuracies.
💬 I do hope you have a better understanding of this topic now. If you have questions or suggestions, feel free to comment and continue the discussion there.