Before embarking on the development of Opire, I was already an avid supporter of open-source as a developer. The projects I encountered on GitHub instilled a sense of security and trust in me, even without delving deeply into the code. These projects also served as invaluable guides whenever I needed to integrate features similar to those they offered.
As I progressed with the development of Opire, my curiosity about open-source deepened. I began to explore the myriad of companies that embrace the philosophy of open code. Initially, from the perspective of a product creator, this seemed like a wild strategy—something only the tech giants would dare to undertake, presumably because they could afford to be less protective of their products. However, over time, I gained a clearer understanding of how open-source can benefit businesses of all sizes.
Staying ahead of the curve is no easy feat in a rapidly evolving technological landscape. Companies must constantly seek innovative strategies to remain relevant and build trust with their users. This is particularly crucial for startups, which often struggle to attract early adopters due to limited resources and a lack of established reputation. Open source offers a compelling solution, fostering collaboration and transparency to help these fledgling companies gain a foothold in the competitive market.
Why embrace Open Source?
Short Answer: Why not?
Many entrepreneurs fear that their ideas will be copied. Making the code, which you've worked so hard to develop, readily available seems to make it easier for others to replicate your efforts. However, I believe that code is merely a tool to help you achieve your goals; it's not the ultimate goal itself. Your business should offer more than just code. Even if your business is entirely digital (a SaaS, a PaaS, and so on), you still have three significant advantages over your competitors, even if they copy your code:
Knowledge of the Code: You possess all the knowledge about the code, including the architecture, patterns, models, and structures. This translates to a time advantage over competitors who attempt to copy you, keeping them perpetually "behind."
Vision and Roadmap: After spending considerable time building your business with the functionalities you've chosen to implement, you have a roadmap and a vision for your product's future (even if it's not formally documented). You know what new features you want to release, which distinguishes you from your competitors who will always be playing catch-up.
User Trust: If your competitors copy your code but do not open theirs, your users are more likely to trust you. If they do open their code and violate your license, you can take legal action. Even without legal measures, simply exposing this practice on social media can tarnish your competitors' reputations.
In summary, there's no reason to dismiss open source. There are no downsides. But why should you embrace it?
Opening your code to the world offers numerous benefits, including:
- 🚀 Improved Quality and Security: With more developers able to review the code, vulnerabilities and improvements are detected much faster.
- 🌱 Community Growth: If your project attracts developers, you can build a community that helps grow your product, not just by developing it but also by promoting it and suggesting new features.
- ✅ Reputation and Credibility: An open-source product that people use earns respect for your company. Allowing other developers to learn from your code also positions you as a technical leader.
- 🤝 Ease of Hiring: Developers from your community will be eager to work for your company and will already have technical knowledge of your project, reducing the initial learning curve. This also saves you from lengthy selection processes as you've already seen them work on your codebase.
There are more advantages, but these are the most significant from my perspective. However, I don't want to stop at theory. Let's explore examples of open source in various sectors to see the impact it has had.
Examples from Industry Giants
Major companies like Google, Microsoft, and Meta have extensively leveraged the power of the open-source community for their internal projects, such as developer frameworks and tools. Examples include Angular from Google, VSCode from Microsoft, and React from Meta. However, open source goes beyond just these tools. Some large companies have built their business around open source and become highly profitable. Here are a few notable examples:
Grafana Labs: Founded in 2014, Grafana Labs has over 20 million global users and is valued at $6 billion. It has become a leader in the observability sector, competing with proprietary solutions like Datadog and New Relic, which do not have as large a community as Grafana.
Elastic NV: Founded in 2012 and valued at $11.46 billion, Elastic NV is another key player in the observability space with products like Elasticsearch, Kibana, Logstash, and Filebeat.
HashiCorp Inc: Established in 2012, HashiCorp serves more than 4,300 clients, including over 200 Fortune 500 companies and approximately 470 Global 2000 companies. It provides cloud infrastructure and security tools, with popular products such as Terraform and Vault. The company is valued at $6.75 billion.
GitLab Inc: Founded in 2014, GitLab has an estimated 30 million users and a valuation of $8.48 billion. It is a direct competitor to GitHub, offering distinctive features like self-hosting, which makes it a preferred choice for many enterprises over Microsoft's GitHub.
MongoDB Inc: Since its inception in 2007, MongoDB has grown to serve over 47,000 businesses, becoming a leading choice for non-relational database management and competing with services like AWS's DynamoDB. The company is valued at $18.59 billion.
Docker Inc: Docker, established in 2010, has become the leader in application deployment. Although other technologies like Podman (also open-source) attempt to challenge its position, Docker remains dominant. The company is valued at $2.1 billion.
These examples demonstrate that making the core of your business open-source can be highly beneficial and lead to the creation of valuable companies. A common thread among these examples is the strong support from their communities, which helps grow their products and encourages more people to incorporate them into their work.
New Startups Embracing Open Source
The trend of building a business around open source is being adopted by many new companies, and more are joining every day. Some of these innovative startups include:
Daytona: This company aims to simplify development environments for remote team collaboration. Not only is their project open-source, but they also strongly support this strategy by donating money to other open-source projects.
Dub.co: Dub.co offers a simple yet powerful link manager and shortener, competing with Bitly. It provides advanced features like creating subpaths in links and an SDK for integration into your project. Its interface is attractive, simple, and user-friendly.
Resend: Resend addresses the common problem of sending emails with personalized templates. It offers an easy-to-use solution that ensures your emails are delivered perfectly. Their generous pricing plan is quickly being adopted by many businesses.
Cal.com: An open-source competitor to Calendly, Cal.com offers free features that Calendly charges for. It has a large community with over 30k stars on GitHub and has been the top product on Product Hunt for the day, week, and month.
Fonoster: With a small team, Fonoster is achieving great things. They position themselves as the open-source alternative to Twilio, which speaks volumes about their capabilities.
Documenso: As digital signatures become more crucial, Documenso provides a solution for electronic document signing, a highly demanded feature across many sectors.
Appwrite: This platform enables the creation of scalable backends in minutes, offering integrations for authentication, databases, storage, messaging, and AI. It’s a very interesting option for developers.
Replexica: Maintaining documentation, especially in multiple languages, is a common issue. Replexica solves this with their AI-powered text translation service. It supports various formats like JSON, YAML, and Markdown, making it ideal for internationalizing products.
TypeBot: TypeBot offers a service for building conversational chats with just a click, featuring numerous interactions and functionalities. It competes directly with TypeForm.
Each of these startups has enormous potential and is reshaping the rules in many sectors. They demonstrate that there is no need to fear creating a full open-source business.
Open Source in AI: Driving Rapid Evolution
Open source is prevalent across all software sectors, and AI is no exception. The AI field is also harnessing the power of open source, building incredible communities around it.
AI has evolved at an astonishing pace, thanks in large part to open-source contributions. Models like Meta's LLAMA have pushed private code models, such as those from OpenAI, to up their game. Despite this, many prefer Meta's model for the freedom to modify it and run it locally, ensuring their private data remains secure.
Steps to Follow to Embrace the Open Source Culture
After realizing that open source truly works, how do we embrace this culture?
The mindset in open source is to give before you ask. Generally, I believe this philosophy always yields good results. Before asking people to use your product or hire your services, you need to offer something. People need to see value in what you provide, and they will decide, without you asking, whether to help you or not.
First and foremost, offer your code as open source. Ensure there are no vulnerabilities, such as private keys in the code or security flaws. This should already be taken care of, but it's worth mentioning.
Once your code is open, you need to build a community. You can do this by creating posts that provide valuable information to users. If you look at the companies mentioned previously, they all have blogs with lots of information. The information you provide shouldn't just be about your company and your business; people don't want constant product pitches. It should be external information related to your business, such as showing your company's evolution, discussing the challenges you've faced and how you've solved them, or analyzing different tools you use.
Additionally, it's important to create a community. The previous point will help with this, but you also need a way to communicate more directly with your followers. Use Discord or Reddit to create internal forums, be available and visible on Twitter... All these actions make you more approachable to people interested in your project. Keep an open mind and let people contribute new ideas. Remember, your business isn't just the code you have but everything generated around it. So, if there are ideas like self-hosting or specific integrations, don't dismiss them outright. If your community is happy, you'll gain more than by privatizing and closing all options.
Offer a guide on how people can contribute to your code. Good documentation with clear rules is essential. The Linux codebase, for example, would be unmanageable with so many contributors if there wasn't order. A guide makes it much easier for your followers to collaborate on your project, helping your product grow. Make life as easy as possible for others; if they want to contribute but lack the knowledge or face barriers, they will get frustrated and won't try again. Remove any obstacles that hinder others from helping you.
Related to removing barriers and making it easy for people, detail issues as much as possible depending on their needs. A good issue template can help with all of this, but it's a concept that needs to be internalized:
- Add labels like
good first issue
to help newcomers familiarize themselves with your code. - Show images if necessary to clarify the problem or what is desired.
- Specify necessary information like the operating system or the product/browser version.
- Define when the issue is considered closed (definition of done).
Reward your contributors. Value the effort and work of a person who has decided to help improve your software. They did it because they wanted to, in good faith. When we reward good behavior, it tends to repeat itself; this applies to children, animals, and programmers. It's natural for people to gravitate towards happiness and away from pain. If we reward and make those who help us feel good, they will continue to support us. The best way to reward work is through monetary compensation. This can be done using tools that facilitate it, like Opire (😉 😉).
Conclusion
Given all this, it's no surprise that data from sources like Gitnux shows that 78% of companies use open-source code.
Personally, I am convinced that open source is the way forward. This doesn't mean your business can't succeed without leveraging open source, but it certainly starts at a disadvantage compared to those that do seize this opportunity.