title | description | date | author | tags | ||||
---|---|---|---|---|---|---|---|---|
Surviving as Open Source These Days: Harder Than You Think |
Why has it become so hard for open-source giants to survive, with many now moving away from it? Read on as we discuss the common failures in OSS models and how to avoid making those mistakes. |
2024-08-21 |
Hunain Ahmed |
|
A well-considered open-source software model, paired with a dedicated and responsible community, can create the products that shape our world.
Open-source software has been hailed as a force that brings people together in innovation and democratizes access to powerful tools. However, recent trends show companies shifting away from full open licenses toward more restrictive, enterprise-focused models. The questions we should ask are:
- What exactly has driven changes in previously beloved open-source companies like Cockroach Labs and HashiCorp?
- What does this mean for the future of open-source software?
- What should tech startups learn from this?
This article explores the licensing changes in prominent OSS projects, focusing on CockroachDB’s recent shift. We’ll discuss the motivations behind these decisions, identify common patterns, and provide insights into what constitutes a robust and sustainable OSS model.
CockroachDB was successful under the Apache 2.0 License from the very beginning, which meant widespread adoption and a very lively ecosystem. The flip side of this coin is that the openness of that license allowed CockroachDB to be exploited by cloud providers—commercializing the software without contributing back.
To that, Cockroach Labs decided in 2019 to switch to the Business Source License, which had allowed the labs to continue to keep open access because the license had a mechanism of control to balance out commercial viability. More recently, Cockroach Labs has taken another step with its proprietary model through the CockroachDB Software License.
This was a contentious strategic move since it was very much a critical divergence from the project's initially open-source spirit, which had questioned the trust of the community and the future direction of the project.
Elasticsearch—a powerful search and analytics engine—faced similar challenges in generating revenue and protecting its trademark. The parent company, Elastic, even had to file a lawsuit to protect the software from being abused by cloud providers. To make matters worse, Amazon falsely claimed a collaboration between the two companies, according to Elastic's founder. Ultimately, Elastic made the tough decision to change the license, adopting a dual license based on Apache 2.0 and SSPL, which compromised some open-source values. Read more.
When examining both companies, a common theme emerges: insufficient attention was given to the type of license at launch time. This oversight leads to surprises and unexpected challenges, forcing companies to make quick, decisive actions that inevitably upset part of the open-source community.
-
Protection from Cloud Providers: This is by far the most important and unfortunate reason. Most cloud provider giants abuse the open-source nature of these companies, profiting without giving anything in return. This leaves companies with few options: become proprietary or lose some part of open-source.
-
Sustainability and Revenue Generation: Most open-source projects lack a sustainable business model. For example, compare MySQL to MongoDB. Both are databases, and both are almost open-source, but MongoDB knows how to generate revenue while MySQL does not. This is evident in MongoDB's annual revenue of $154 M compared to MySQL's $37 M. This financial disparity often leads to companies either dying, getting acquired by a tech giant, or opting for an enterprise license.
-
Maintaining Competitive Advantage: While open-source licenses foster innovation, they can also erode a company’s competitive edge. Your competitor might claim to have built a service independently, but you know it's just your code running behind the scenes with some modifications—a tactic cloud providers are notorious for. By restricting certain commercial uses, companies can retain control over how their software is used, ensuring they remain competitive in the market.
-
Community and Ecosystem Management: A more restrictive license can help manage the ecosystem that develops around the software. Enterprises can set clear boundaries on how their software should be used, aligning development and usage with the company's long-term objectives.
By now, you should realize how crucial it is to have a well-planned open-source software model. Let's discuss how you can lead your OSS to greatness:
Have the Perfect License
The licensing model should support the company’s overall business strategy, whether that’s driving adoption, generating revenue, or maintaining control over the software’s evolution. For example, consider Red Hat, which uses a dual-licensing approach. They offer their software under the GPL for community use while maintaining a separate commercial license for enterprises needing support and additional features. This model allows them to balance community engagement with a solid revenue stream. Deciding Open-source or not
Similarly, MongoDB transitioned to the Server Side Public License (SSPL) to prevent cloud providers from exploiting their software without contributing back. Your license choice should align with your business goals, whether it’s to maximize adoption like with Apache 2.0 or protect commercial interests as in SSPL.
Adapt to Market Dynamics and Trends
The software industry is constantly evolving, and so should your licensing model. Be prepared to adapt your strategy as new challenges and opportunities arise.
For example, Redis Labs initially released Redis under the BSD license, a very permissive license that facilitated rapid adoption. However, as the company grew and faced competition from cloud providers offering Redis as a service, they introduced the Redis Source Available License (RSAL). This change helped them protect their business while still fostering community use.
Remember, staying engaged in hackathons, dev programs, and publishing content on the latest trends not only keeps your project relevant but also attracts sponsors and funding—which you really need as a startup. For instance, Docker frequently updates its licensing and monetization strategies in response to market needs, ensuring it remains a key player in containerization.
Ensure Long-term Sustainability
The goal of any licensing strategy should be to ensure the long-term sustainability of the project. This includes financial viability, continued innovation, and market relevance.
Take the example of MySQL, which was acquired by Sun Microsystems and later Oracle. The dual-licensing model allowed MySQL to be freely available while generating revenue from enterprises needing commercial support. However, Oracle’s focus shifted more toward enterprise licensing, leading to forks like MariaDB by the original MySQL developers.
This situation underscores the importance of a licensing strategy that adapts to changes in ownership and market conditions to maintain project vitality. As the famous Linus Torvalds likes to say:
In real open source, you have the right to control your own destiny.
You don’t want to discover that companies are abusing your product and making a fortune while you, as a startup, struggle to generate a penny.
Promote Community Engagement
Even with more restrictive licenses, maintaining a vibrant and engaged community is crucial. Open-source projects thrive on community contributions, which drive innovation and improve the software. Start with a creative and skilled team of maintainers and contributors who understand quality code. Building a vibrant community.
Offer Clarity and Fairness
The terms of the license should be clear, fair, and easy to understand. Ambiguity can lead to mistrust or misuse, which can harm the project in the long run. It would be a nightmare to find people exploiting loopholes that no one on your team even noticed. Here are some Open Source Licenses to Avoid, which you don't want for your startup.
In the end, it's easy to be drawn toward the security of proprietary software, but let's not forget the unparalleled power of open-source. When an entire community rallies behind a project, incredible things happen—think Linux, Firefox, Blender, or Python. These aren't just tools; they're the backbone of innovation, built on the collective effort of people who believe in something bigger than themselves. Linus Torvalds highlights this:
I think, fundamentally, open source does tend to be more stable software. It's the right way to do things.
The key takeaway? A well-considered open-source software model, paired with a dedicated and responsible community, can create the products that shape our world. If you're building your next startup, remember that open-source isn't just a license—it's a philosophy that, when done right, can take your project to heights you never imagined.
Looking forward to diving into the next big topic with you!