On October 4, 1985, the day after I was born, Richard Stallman founded the Free Software Foundation. If I believed in any esoteric nonsense, I’d say this marked me for life 😀.
On October 5, 1991, Linus Torvalds released the first version of the Linux Kernel, which became the flagship product of Open Source.
Linus Torvalds and Richard Stallman are two of the most important figures in the history of free and open-source software (FOSS). Later on, they will also help us understand the difference between Free Software and Open Source.
Free Software and Open Source
Free Software and Open Source are two concepts often used interchangeably, but in reality, there are some differences between them.
Free Software is software that gives users the freedom to use, copy, distribute, study, change, and improve it. It is software that primarily respects the freedom and community of users.
For software to be considered free, it must meet a few basic requirements, which are included in the definition of free software published by the Free Software Foundation:
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study the program and adapt it to your needs.
- Freedom 2: The freedom to distribute copies of the program.
- Freedom 3: The freedom to improve the program and publicly share your improvements so the whole community can benefit.
Open Source Software is software whose source code is publicly available and can be freely downloaded, modified, and distributed. Open source software can meet all four freedoms defined by the FSF, but it is not required to. Open source software can be free, but it doesn’t have to be. It is usually free, but charges can be applied for services related to the software, such as consulting, installation, or configuration. Free software is often supported by donations or by selling products and services related to the software. Open source software can be supported by donations, the sale of products and services related to the software, or through commercial licenses.
Examples of Free Software:
- Linux
- Firefox
- LibreOffice
- GIMP
- WordPress
Examples of Open Source Software:
- Android
- Chromium
- Git
- Kubernetes
- MySQL
This distinction is clearly illustrated by the stances of Richard and Linus, who represent each of these movements.
Richard is an idealist who strongly believes in fundamental freedoms and wants software that respects them. He created GNU and FSF when he noticed that the software industry was systematically undermining software freedom.
Linus, on the other hand, realistically assesses the situation. He chose the GPL license for pragmatic engineering reasons. His goal was to spread knowledge so that it could develop for the benefit of all. He aligns more with the Open Source Initiative, a non-profit organization that defines the principles of open-source software.
For Linus, the taste of the dish matters more, while for Stallman, it’s more important whether the dish is fully healthy and made from natural ingredients.
Big Ideas, Big Money
Free and Open Source Software (FOSS) has undergone significant changes since its inception in the 1980s. In the capitalist world, a pragmatic approach that promotes the commercialization of open-source software began to dominate. Today, most producers create software under free licenses with the goal of generating the greatest financial growth from the benefits that open source and the community around their projects offer. Despite this, many still struggle to understand why companies choose this model. Here are some of the main reasons companies adopt it:
- Community and Innovation: Publishing software under an open-source license allows companies to collaborate with a wide programming community. Developers from around the world can contribute, improve the software, report bugs, and accelerate its development. This can lead to faster innovation and product improvement.
- Utilizing Free Resources: Through the open-source model, companies can tap into free labor and knowledge from the community, helping reduce the costs of software development and maintenance.
- Accelerating Software Development: By making the source code available, companies don’t have to build everything from scratch. They can use existing open-source projects and technologies, saving time and resources.
- Building Trust and a Positive Reputation: Developing open-source software can help companies gain trust and a positive reputation among users and other companies. Due to the availability of source code and transparency, users can be more confident that the software doesn’t contain hidden security threats or hidden business motives.
- Expanding Market Reach: Releasing software under an open-source license can help companies reach a broader audience. People and organizations using this software can become potential buyers of other products or services offered by the company.
- Network Effects: Open source often relies on network effects, meaning that the more people use the software, the more valuable it becomes for everyone. Companies can benefit from this growing user and developer base.
Of course, releasing open-source products can also come with certain challenges, such as:
- Loss of Control: Corporations releasing open-source products lose control over the source code. This means others can modify or distribute the code in any way they see fit.
- Intellectual Property Issues: Corporations may have issues protecting the intellectual property of their open-source products because the source code is available to anyone who wants to use it.
Despite these challenges, the benefits of releasing open-source products often outweigh the costs. That’s why more and more producers are opting for this strategy.
And speaking of benefits, there is still a belief in the community that releasing software under free licenses doesn’t generate income. However, depending on the business model a company chooses, open-license projects earn in various ways. Here are some of the main revenue sources:
- Consulting Services: Companies can offer consulting services related to open-source software, such as advice on implementation, customization, and management of the software. Clients who use free open-source software often need support in adapting it to their needs.
- Technical Support: Companies can offer paid technical support services for open-source software users. This way, users can get help resolving issues, fixing bugs, and optimizing the software.
- Hosting and Management: Companies can provide hosting and management services for open-source software, especially important for server-based software like databases, web servers, and cloud solutions.
- Extensions and Plugins: Companies can create extensions, plugins, or add-on modules for existing open-source software and sell them as paid add-ons. For example, WordPress, a popular website platform, has many paid plugins developed by various companies.
- Premium Software Versions: Companies often offer premium versions of their open-source software with additional features or services. For clients needing more complete and advanced versions of the software, this can be an attractive option.
- Training and Certification: Companies can provide paid training and certification related to open-source software. These courses can help users better understand and use the software.
- Added Value: Companies can offer added value services, such as security monitoring and management, data analytics, migration and integration support, and access to project management tools.
Companies like GitLab, HashiCorp, PostgreSQL, and Red Hat, which create or offer products or services based on open-source software, all generate significant revenue. Here’s a look at some of their financials:
- GitLab: In the fiscal year 2023, GitLab generated $424 million in revenue.
- HashiCorp: In the fiscal year 2023, HashiCorp generated $475 million in revenue.
- Red Hat: In 2022, Red Hat’s revenue was estimated at $3.4 billion.
- Redis Labs: In 2023, the estimated annual revenue was $309 million.
- EnterpriseDB: Estimated revenue in 2022 was around $70 million.
The revenue of open-source companies is substantial, mainly because they offer commercial versions of their software that provide several benefits:
- Technical Support: Commercial versions often provide access to technical support, which can help solve software issues. This is particularly important for critical software, like operating systems or databases.
- Features and Capabilities: Commercial versions often offer additional features and capabilities not available in the open-source versions.
- Customization: Commercial versions offer more flexibility in customizing the software to meet specific needs.
As seen, companies offer support for their products, which corrects a common misconception that using open-source software means you’re left to fend for yourself or rely only on community support.
From the Customer’s Perspective
In many cases, open-source software is available in a commercial version. The community version is usually limited in terms of features or support. This version often serves as the core application engine. The commercial version offers additional features, technical support, and other benefits. Companies needing full functionality or support for open-source software are forced to purchase the commercial version. This is how open-source software vendors make money from their products.
Using open-source software can also come with indirect costs, such as:
- Skills: A company may need to hire or train employees to handle open-source software.
- Time: A company may need more time to configure and maintain open-source software.
- Risk: A company may face risks related to the stability or security of open-source software.
Generally, open-source software is cheaper than commercial software. However, it’s important to consider all the costs associated with using open-source software, both direct and indirect.
Conclusions
Open source is a software development model that allows everyone to access and modify the source code. The origins of the free and open-source software movement date back to the 1980s when Richard Stallman initiated the GNU project to create a free operating system. Soon after, Linus Torvalds created Linux, and many other free software projects emerged.
Today, open-source software is highly commercialized. Many companies, like Google, Facebook, and Amazon, use open-source software in their products and services. Open-source software is increasingly utilized in business.
The popularity of open source and the fact that it is now the leading software publishing model means that everyone interacts with it, and every company uses it. While it is not without its flaws, no better model has been invented that offers so many benefits to both producers and customers. However, it is essential to remember that companies creating open-source software want to profit from it, and community versions of the software are often stripped down to encourage users to purchase commercial versions.
Sources
https://www.datamation.com/open-source/35-top-open-source-companies/
https://www.geeksforgeeks.org/difference-between-free-software-and-open-source-software