Guest post originally published on Traefik Labs’ blog by Tiffany Long, Open Source Community Manager at Traefik Labs
Open source software (OSS) has changed the way the tech industry works forever. In the early years of OSS, the concept was not trusted by many, especially by big companies that considered open source code to be insecure and unreliable, in comparison to proprietary code. But that has changed.
Nowadays, OSS is ubiquitous and modern software could not exist without it. It is very common for proprietary software to rely on open source to fulfill standard functions. For example, open source libraries are commonly used to create proprietary software. Because of this, it’s also possible for big companies to have open source dependencies without even realizing it. According to a report published by the Linux Foundation, “Free and Open Source Software (FOSS) constitutes 70-90% of any given piece of modern software solutions.”
With this in mind, it is not preposterous to argue that every piece of software built in the last decade is made possible by the countless individuals who create and maintain the open source projects that have become vital parts of modern infrastructures.
Volunteering to build software that others use for free might sound thankless, but the rewards are varied and valuable. As an individual, open source contribution provides you with a platform to turn your wildest, most creative ideas into reality, it also allows you to fix broken software or customize it to your needs. There is something wonderful about this creative birth.
But the benefits of contributing to open source do not end here. Being part of a global ever-growing community, improving your coding skills, exploring new technologies, and fast-tracking your career are just a few of the opportunities you can enjoy as an open source contributor.
The benefits of contributing to open source
By becoming an open source contributor, you’ll come across a great number of opportunities, both as an individual and for your company as well. As an OSS community manager, I have been privileged enough to witness the wonders that happen within the open source community, and in this article, I want to explore the impacts I have seen contributing to open source has on countless developers and tech professionals.
Be part of a global community
The open source community is global, which gives you the unique opportunity to get to know developers and individuals from around the world who you would never meet otherwise.
A big part of the open source magic is contributors from every populated continent working together, in compensated and uncompensated roles, to build software. The power of diversity here is that our experiences, our values, and even our languages impact how we understand challenges as well as the pathways we see to solve them. These interactions create great nexuses for creativity and innovation.
For example, did you know that Ruby was created in Japan, and Ruby on Rails was later created in the US? Or that Ubuntu was originally developed in South Africa but is currently maintained in the UK?
By joining an OSS project — and I know this is going to sound cheesy — you get to meet new people and make new friends in places to which you may never travel! You get to create a global network of people that share the same interests as you. Open source communities help you build flexibility of thought, develop and expand your problem-solving skills, and supercharge your creativity without leaving your home. This is an immense opportunity to grow in new ways, and learn hard and soft skills cross-culturally. As the Vulcans would say:
Infinite Diversity in Infinite Combinations
Create software that impacts millions of people
Open source software underpins all modern software development in many ways. If your dream in life is to, directly or indirectly, have a positive impact on other people’s lives, then contributing to open source software is a great opportunity for you. Does it sound far-fetched that you can achieve that via software? Give me a second, and I’ll explain why it is not.
By creating or contributing to open source projects, you can use your coding skills to impact political or social causes that you care about. Organizations in the social sector around the world are notoriously underfunded. In 2020, GitHub, in collaboration with the Case Foundation, released the report Open Source Software in the Social Sector, presenting enlightening research and analysis on the barriers and opportunities of OSS in the social sector.
According to this report, OSS can reduce operational costs for social organizations, increase operational efficiency through better communication and collaboration, as well as provide well-designed systems curated to serve custom needs — a goal not easily achievable with proprietary tools.
OSS is used to help save lives on both the individual scale and the global scale. For example, did you know that many Médecins Sans Frontières projects are still using paper medical records despite running transnational projects in resource-strapped and sometimes conflict-torn areas? The EndTB project finally has the support it needs to create large data sets to fight tuberculosis and also to tell the personal stories of patients because of Bahmni, an OSS EMR that is developed to run without the internet and in low-resource areas. The creators of Bahmni knew that their users would have a wide range of experiences with technology and were able to take that into account when developing it.
Examples like Bahmni, Linux, and Ruby might leave the false impression that OSS only exists to solve large problems on an industrial and impersonal scale. Don’t be misled. OSS helps individuals support other individuals in orgs like Operation Safe Escape. Operation Safe Escape uses OSINT to determine the exposure of survivors of domestic violence, stalking, and human trafficking who have fled their situation and need to stay hidden. Using a site of tools including Theharvester, maltego, recon-NG, and more, volunteers with Operation Safe Escape can help survivors to hide the information that their abuser would use to find them.
But if global social impact is too heavy to handle, why not make the life of your fellow programmers easier? You have been working with an open source tool, and you spotted a bug or missing documentation or figured out a way to improve the tool itself, add more features, etc. By contributing your time to improving this tool, I guarantee you that you’ll make a fellow developer happier, relieving their workload when they didn’t have the time to invest in improving that tool themselves or finding an alternative. This is an endless cycle of reciprocity. The day will come when you won’t have the time to invest in improving or fixing something that’s been bothering you for days (or months!), and you’ll be so relieved that someone else decided to spend their time fixing it for you!
Customize OSS to fit your needs
All software can benefit from that little bit of customization to make it work just the way you need it to. By default, open source allows you to tweak software to fit your specific needs.
With OSS, you can realize your ideas and create that piece of software you need. The birth of Traefik Proxy is a prime example of that. Traefik Proxy was created to fulfill the need for a simple, cloud native reverse proxy. Since then, Traefik has become one of the most popular and downloaded OSS tools, and continues to evolve and improve thanks to its incredible community that tirelessly contributes to new features and enhancements.
And what about that bug that’s been a pain in your neck since ages ago? Forget about submitting tickets with customer support, dealing with long response times, or low prioritization. This is the land of open source, friend — just go ahead and fix it!
Build a tangible portfolio and fast-track your career
If you believe that contributing to open source is a purely selfless and thankless act that requires a lot of your time while providing you with little personal gain, I am pleased to tell you that you are wrong! Yes, there are a number of selfless and social reasons to contribute to OSS, but contributing to OSS is beneficial to you.
Your OSS contributions enrich your resume and provide a tangible portfolio for your potential employers. At the same time, they demonstrate a history of self-improvement and education, as well as an interest in the areas you wish to grow your career. Open source code is by default publicly available, which means that employers can inspect your code and assess your skills. This is especially important for people that are just starting out or for people jumping to a new discipline within the tech industry. Ask any hiring manager and they will tell you that there is a lot that can be taught on the job, but a demonstrated interest — especially when you’re new or changing disciplines — is hiring gold.
Open source contributions don’t only demonstrate your hard skills and growth; working with people from all over the globe also grows your soft skills. Working on projects with a diverse group of maintainers and contributors allows you to practice your communication skills cross-culturally. In fact, it is an easy way to prove you’re a good colleague who communicates respectfully and responds gracefully to constructive criticism, alongside your problem-solving and coding skills.
Finally, as I mentioned before, being part of the open source community allows you to build a global network and by extension, meet people who may provide you with new employment opportunities. According to LinkedIn, 85% of new jobs are filled through networking. Your OSS network is highly motivated to work with people whose work they know and who they have met or befriended in the community.
Build a career in OSS
Last but not least, did you know that you can actually get paid to build open source systems? In 2019, the International Data Corporation (IDC) estimated that there are more than 20 million developers who contributed to open source, many of whom did so in paid positions. Huge global companies — Intel, Microsoft, Google, Samsung, to name a few — have entire departments dedicated to contributing to open source projects. Not to mention that some open source projects are run by passionate people who start a company to allow them to support and grow their open source projects — I don’t need to go far to give you an example here, as Traefik Labs is exactly that kind of company!
People are often hired into these roles directly from the pool of external contributors. And if you don’t believe me, just ask Tom, one of the Traefik Labs engineers working on OSS. Tom’s team won our last Hackaethon. Our Engineering Team liked his work so much that they reached out to Tom immediately after the announcement of the Hackaethon results to offer him a position. And trust me when I say our Tom is only one example — I have several similar stories to share, but we would need a whole other article to cover them!
Long story short, open source rules!
If I haven’t yet made it abundantly clear, open source is a gift to you and the world. Whatever your end game is — fixing an annoying bug, working towards something that has a global social impact, or simply building an impressive CV — I am certain you can achieve it by becoming an open source contributor.
And yes, I know, it can be intimidating to work publicly with code. What if your code is bad? What if you are a beginner and you make silly mistakes? What if you make the wrong change or suggestion? I, personally, invite you to do all that and more! Because we are humans, and this is how we learn and evolve. Don’t be afraid to write bad or inefficient code. Don’t be afraid to make mistakes or make wrong suggestions. It will only help you become better and learn faster.