On the importance of Free/Libre Open Source Software
First of all, Merry Christmas, everyone. In the midst of the holiday season, I decided to give whoever is reading this my opinion on how important FLOSS is and why it should be endorsed and celebrated by everyone.
Definition of FLOSS
To formalize FLOSS bluntly, one may use the definition from Richard Stallman’s essays - “Free Software, Free Society”. According to him, free software as such gives the user the following:
- Freedom 0: The freedom to run the program, for any purpose.
- Freedom 1: The freedom to study how the program works, and adapt it to your needs. (Access to the source code is a precondition for this.)
- Freedom 2: The freedom to redistribute copies so you can help your neighbor.
- Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (Access to the source code is a precondition for this.)
From my point of view, software is written to solve diverse problems. When you have a solution to a problem, you should make it readily available to other people who may have the same or a similar problem. In turn, they may also improve your solution and in turn the state of the art as well. This would make FLOSS to software similar to what Open Access is for academics. I also want to note that making a solution to a problem readily available does not mean giving software away for free. As Stallman notes in his essays, many companies have been successful selling advanced support and hand-holding for FLOSS (Red Hat comes first to mind).
Proprietary software vendors and FLOSS
There have been examples of companies whose whole business model focuses on selling proprietary software that condemn and demonize FLOSS (Oracle and Microsoft in the Ballmer era, for example). I argue that this is because Freedom 1 and Freedom 3 combined introduce another addition to the list: the freedom from vendor lock-in. As an ex-Atlassian consultant, I cannot stress how important this is: most of the large and proprietary software vendors depend on injecting themselves in the company, starting small, and then spreading themselves inside the company so much so that you cannot work without them. When that happens, they can milk your business for however money they want and you receive whatever quality of service and support they offer, without having much say in the matter.
FLOSS does not come with such predatory practices, as there is no single vendor for a product: the source code is there, it is (ideally) dependent only on other free components and you can fork the project and adjust it to your needs. If you don’t have the skill to modify the project, you can always hire a developer to do it for you.
FLOSS considered harmful
Convenience of use and support for software has always been an important factor for large corporations. Traditionally, free software has always been seen as more unreliable than proprietary solutions in the enterprise. This is because a number of factors: history of different companies, past controversies, licensing and even the age of the executives may play a part. The reality is that FLOSS alternatives may be just as good, if not better than proprietary software. Tired of audits for Oracle DB and Virtualbox in your company? No problem, you can switch to (objectively) better FLOSS alternatives like PostgreSQL and Qemu. Microsoft is pushing that Windows 11 update a little too much and you are not ready to upgrade or do not want your data constantly sold to third parties? Switch to one of the numerous Linux distributions out there! Your cloud business has expanded so much that the proprietary hypervisor you’ve been using cannot scale as well as it used to? Fork something like Xen or OpenStack!
You can even find companies that offer dedicated support for most of the FLOSS products out there.
Pick up an initiative!
FLOSS thrives thanks to the community and because of this, all help is welcome. If you have the time and interest, please consider contributing to a FLOSS initiative of your choosing - something you are passionate about and want to see succeeding. You can even start your own initiative for that cool idea you have or that always-occurring problem you want to solve! Scratching a personal itch can bring out the best ideas.
It is important to know that programming knowledge is not a must. You’re a regular user that used the “Getting started” guide but ran into an error halfway through? File a bug report - this is incredibly useful as it may lower entry barriers for other new users! You use a software that you love, but is not available in your own language? Submit a translation - internationalization of software and documentation is something that a lot of developers cannot or simply do not want to do!
Stand against proprietary software and against the limitations it tries to set. Software freedom and privacy should be the norm, not the exception and FLOSS is the way to achieve them.
Useful resources
- Free Software Foundation
- Open Source Initiative
- Hashi-tributor 101: How to Contribute to HashiCorp Open Source - the presentation is held for the HashiCorp suite of products, but is useful for FLOSS overall
Some contribution lists:
- Electronic Frontier Foundation Coding Opportunities
- FSF High Priority Projects
- Become a Tor volunteer!
The image is courtesy of Alan Levine.