In this article, we will explore the world of open source, focusing on the what, how, and why. Through the experience of four Xebia consultants, Bruno Schaatsbergen, Mark van Holsteijn, Jacco Kulman, and Daniël Heres, we will dive into how open source enables cloud engineers to deliver better solutions faster while being part of a community.
Before diving into the use and benefits of open source, what is open source exactly?
Introduction to Open Source
Well, open source refers to software that’s being developed publicly using an open collaboration format (anyone can jump aboard a software project). Often large companies such as Google or Meta open source their software to get a faster feedback cycle and to gain input from their users.
In recent years, software projects have become so big that companies often prefer not to build, maintain and expand a full platform on their own. Choosing mostly open-source components means that companies can move faster, build more reliable products and benefit from the community's knowledge and further development of the projects.
"Many engineers use open-source software daily, making our lives easier. I do not have to pay any money for it, and contributing myself and helping people is the best way for me to express my gratitude towards the community," said Mark van Holsteijn, CTO at Xebia Solutions.
The nice thing about this is that engineers can contribute to the tools and products they use every day; can you imagine how amazing it would be if a restaurant chef had the ability to propose/make changes to his knives, pans, and other kitchenware?
Open Source in Cloud and Data Engineering
Whilst open-source tools and products are increasingly popular in any part of technology, it is the Cloud/DevOps ecosystem where open source really is the standard. Think of Terraform, Docker, and Kubernetes just to give you some examples. Similar to Cloud, the Data Engineering and Machine Learning tools are mostly open source, for example, Apache Spark and Apache Airflow.
“What got me into open source was two things: confidence and authority,” said Bruno Schaatsbergen.
Generally, It takes a certain level of confidence and skills to write code that other contributors can look at and comment on. Contributing to open source often enough is also a display of one’s technical knowledge and professionality.
“I figured that the best way forward was to contribute to both my most used and favorite piece of software, Terraform. I believe I can proudly say that I’m heading in the right direction, by now I’ve managed to help hundreds of thousands of users of AWS and GCP using Terraform through my contributions. I simply strive to be the best and I want to make an impact. ” said Bruno.
Currently, there is a large open-source community, where people from all over the world make contributions, help with code reviews, and discuss future plans or directions. In the last couple of years, GitHub grew to be the most popular platform that facilitates this.
“One of my previous clients required Terraform support for Athena, which wasn't there at the time, so as an active contributor to the Terraform AWS Provider, I decided to implement some new resources for Athena. A week later we started using these Terraform resources at my client,” said Bruno. “It feels great to be part of such a fantastic community that acts as a fundamental pillar in both the cloud as well as the open source ecosystem,” he added.
Benefits of Open Source
Open source is a great way to learn more about a product you might use in your daily work life. Having consultants and/or engineers contribute to open-source projects is a great way to give back to the community, it shows that you care about the products and tools you work with.
Jacco Kulman, Cloud Engineer at Xebia commented on the benefits of Open Source; “I personally think the biggest benefit is how much you can learn from just being in the Open Source community, not just learning through your own projects but also through the contribution of others.”
According to Daniël Heres, an active Arrow PMC member in the open source community, there are many benefits of open source contribution, both for the companies and for the individual.
“Contributing to open source projects is an investment in your own knowledge and skill set. Colleagues and clients benefit from this knowledge,” said Daniël. “Having knowledge and contributing to those underlying technologies will help you understand what choices to make and what’s coming next. Open source engagement also can really help in terms of attracting talent, promoting the company, and finding new ways to help our clients,” he added.
Future of Open Source at Xebia
As Xebia is expanding, more and more of our consultants are joining and contributing to the open-source community. A few Xebians that actively contribute to open-source projects for cloud engineering are Bruno Schaatsbergen, Daniël Heres, Jacco Kulman, and Mark van Holsteijn. Xebia also partakes in and has contributed to PyData in Amsterdam, an educational program that aims to promote open practices in research, data, and scientific computing.