Product-centric organizations rely heavily on open-source tools to accelerate our time-to-market and gain access to capabilities that would be otherwise impossible to develop in-house. However, as our usage of these tools grows, so do the costs associated with maintaining them.
My Formbricks Experiment
I recently had the opportunity to experiment with using Formbricks, a popular open-source tool for collecting user feedback. The initial setup was seamless (I first set it up on my personal computer at home in less than 10 minutes!), and we were able to gather valuable insights from our users right away.
However, as usage grew, so did the load on our infrastructure. We quickly found ourselves dealing with “growing pains,” including constant monitoring, rebooting and scaling of our virtual machine.
Growing pains
Formbricks allowed us to prove that the idea of collecting feedback in the product is a good one. So good, in fact, that we wanted to use it more and more. This meant that my little VM quickly became unable to handle the load. So I moved it to a bigger one, and handed it off to my platform team who moved it to an even bigger one after that. Then came the question: do we continue to invest in even larger VMs to keep up with our growing needs?
In hindsight, this would have been a costly and unsustainable approach. Instead, we realized that investing in Formbricks’ SaaS offering would not only provide us with the scalability and reliability we needed but also create value for the people who wrote the software in the first place. By paying for their service, we are able to support the developers directly and contribute to the ecosystem that has given us so much.
This marks our approach to using open-source tools, and it’s an example of how we can deliberately choose how to use our investment to both improve our operations and benefit the communities that drive innovation.
The Self-Hosting Conundrum
While self-hosting open-source tools can be cost-effective in the short term, it’s essential to consider the long-term implications for the community that created these tools. As we scale up our usage, we may find ourselves paying thousands of dollars to cloud hyperscalers while contributing nothing to the developers who built the software.
I Believe in Giving Back
I am a big supporter of open source. I got my computer engineering degree thanks in part to community contributions to my final year project, which built on open-source components and was released as open-source as well. To this day, I maintain a few pieces of open-source code on my Github page.
I am very well aware that when we self-host open-source software, we take without giving anything back to the community. This can be problematic if we’re growing our investment in running these tools and not sharing the value with their creators.
To ensure the continued availability of great software, we must find ways to share value more equitably.
The Contributor Way
At Wall Street English, one of our core principles is “Be Decent.” In this context, being decent means acknowledging the value that open-source communities bring to our organization and finding ways to give back. When we rely on open-source software, we must find ways to maximise the contribution of value with the makers.
Best Practices for Supporting Open-Source Communities
- Evaluate SaaS offerings: If the creators of the software offer a SaaS version, and it’s comparable in cost and features to self-hosting alternatives, consider buying the SaaS offering.
- Consider community impact: Always think about the broader implications of your investment choices on the open-source community. Are you maximising ways to create value for the people who built the software you use?
Final Thoughts
As we continue to rely on open-source tools, it’s essential that we balance our business needs with a sense of responsibility towards the communities that created these resources. By being decent and giving back to the open-source community, we can ensure that this incredible resource continues to thrive and support us in return.
Leave a Reply