With inputs from Bhavin, Sanket, Prasad & Atul.
At KCD Bengaluru held in June 2023, I presented a talk about 9 lessons from Kubernetes in Enterprise. One of the topics I spoke about in the talk was the need and responsibility of companies to contribute back to open source to make the ecosystem as a whole healthy & sustainable:
(Photo from Vishal’s keynote during KCD Bengaluru 2023 talking on ‘9 lessons from Kubernetes in Enterprise’)
Many people came to me and some of my colleagues and asked about how we contribute to open source and showed an interest in learning more about our journey. In parallel, I had been having a chat with MV Karan (Sr. Manager International DevRel) from GitHub about how some of our customers are trying to adopt innersourcing and eventually open source within their organizations.
Embarking on a journey of contributing to open source, both as an individual and as an organization, has proven to be a remarkable endeavor for me. In this post, I’ll shed light on the compelling reasons why enterprises should actively engage in open source initiatives. We’ll see how we at InfraCloud started with OSS contributions and why open source contribution is not only a noble endeavor but also a strategic move for businesses looking to thrive in the ever-evolving landscape of technology.
InfraCloud started working in cloud native space in the initial days and many cloud native technologies such as Kubernetes, Prometheus, Jaeger, and Rancher were open source. While we were using these technologies for our customers, once in a while we would notice a gap in what we wanted to achieve with these technologies & what was possible. Usually, that meant a bug to be fixed upstream, or a small utility to write for yourself. That was the spark for some of our initial contributions, for example, Bhavin was trying to implement distributed tracing with Jaeger for a customer using a Python client. But the client library did not support 128 bit trace ID. So Bhavin decided to contribute that to the Python client of Jaeger. Similarly, Prasad wrote a small utility called Yaml2Go to convert YAML specs to Go type definitions - this was especially useful if you were new to writing Kubernetes controllers & operators.
The joy of finding a problem worth solving and fixing that upstream was so good that more people wanted to learn it. So hackathons which were done once in 3-4 months were now focused on doing something around OSS - learning to contribute or to build something small and open source it. During one of such hackathons was born BotKube, while we talk more about BotKube’s journey in a later section, some of the anecdotes from the journey are documented here.
Scratch your own itch approach could be a great starting point. In other words, start small, work with the existing community to get unblocked, fix things & go from there!
Not Just Code!
Not all contributions we made as a company were just code. In late 2016, I started the Kubernetes Pune meetup group. We started sharing some of our learnings and did a lot of 101 sessions on technologies we were playing with. This was only possible because of enthusiasm and support from my colleagues back then Harshal, who was the partner in crime in the early days! Another example is I gave a talk on Rancher & Kubernetes at DevOpsDays India in late 2016.
(A screenshot from a meetup held in 2017)
The culture of contributing to the community is deeply imbibed in each Infranaut who are quite involved in community efforts as well. Bhavin and Akshay are part of PythonPune, Bhavin is also an organizer for Emacs APAC while Atul is an organizer at CNCF Hyderabad. On that note, we also have a CNCF Ambassador, AWS Community Builders, and HashiCorp Ambassadors on the team.
Crawl, Walk, and Run
Based on some of our early work, we started working with customers who had some components of their project that were open source. While we continued our tiny but sustained investment in projects such as BotKube or Fission.
In late 2019, Packet (now part of Equinix) reached out to us for potentially open sourcing bare metal provisioning and workflow technology they were using internally. We worked closely with the Packet team to design, develop, and open source the Tinkerbell project to the community. Along similar lines, we worked with Rafay to help open source their multi cluster access management system Paralus and continued building it in the open. Our CNCF know-how also helped Paralus achieve CNCF Sandbox status, underlining our commitment to cloud native evolution.
The long road to success
One thing that many people don’t plan for is that any investment in OSS efforts may not give you immediate results. You will have to be patient and try a few different things before you improvise to what works and scale up on that. We continued our efforts for a fair amount of time and tried different things. Some things worked to our advantage and some didn’t meet our expectations and we kept improvising with the goal of continuing the investment in OSS. The success came only after ~3+ years of sustained effort in the form of BotKube being acquired by Kubeshop. The success could be different for different organizations, but for us, this was a great validation of our efforts.
It is not a short-term game, results won’t come in 2-3 months. The organization will have to give out enough value before they expect anything in return.
WIIFM (What’s In It For Me?)
As much as I would like to be an idealist, I understand that organizations can’t exist in a vacuum. They have to generate profits - whether for hiring the best talent or for shareholders or for other reasons. So it is a fair question to ask as an organization - What Is In It For Me (WIIFM)?
Let’s try to see some ways the OSS can help organizations.
WIIFM: Talent wants to work on OSS
One of the biggest benefits of investing in OSS efforts is a two-fold impact on talent. Some of the best talent would be more than willing to work on OSS efforts. Secondly, it will also increase the quality of talent internally in the organization.
(Screenshot showing a few of our open source project contributions)
One of the ways we used it effectively is to have people on bench/new joiners contribute to OSS as part of their onboarding/bench activity. You can show concrete work with a deep understanding of a problem that is clearly measurable and impactful instead of completing yet another training. This again is not a short-term play but a long-term game that the organization will have to invest in.
WIIFM: OSS Shapes culture
A lot of InfraCloud’s ways of working as a company are inspired by the ways of working in open source. The collaboration, openness of information and organically forming teams behind a specific project which people are passionate about is a net side effect of the open source investments we have done over the years!
Culture eats strategy for breakfast & OSS enables a very collaborative & value based culture.
WIIFM: Unlocking New Business Opportunities
We can talk about many other benefits - people in the community will identify with the company or it may open up collaborations with industry partners, etc. The contributions & sharing things to a larger community has many benefits that work out serendipitously! Contributing to open source serves as a catalyst for forging strategic alliances and expanding market reach. In the longer run, it also helps organizations position themselves as industry leaders eventually attracting customers and partners. In short, contributing to open source unlocks new business opportunities.
Open source has been a great opportunity for us when we started and over time even contributing back to the community actually turned out to be of great value to us. It took time and patience, but we can’t be thankful enough for the kind of impact it had on the organization we are building. We are happy to share more practices & bootstrap your OSS efforts, so don’t hesitate to reach out to me on LinkedIn for specific questions or if you want to chat about OSS strategy in your organization. You can explore more about OSS projects built by InfraCloud and our contributions to projects we support on this page.