As an employed software developer today, there's a 96% chance that you're building company software using some sort of open-source technology.
Companies today love using free open source tools and technologies, but very few actually contribute back to the open-source community.
And I guess if you take out any emotions such as guilt or feeling indebted and boil it down to the bottom line – why should they? What is in it for them?
In this article, we'll look at what open-source is and why you or your company should consider making contributions.
How Does Open Source Work?
Open source refers to software where the code is shared publicly and that can be viewed, edited, or added to by anyone.
So for example, if you wanted to, you could view the code to see how VSCode is built right here. Then you could submit pull requests to suggest code changes or feature adds which would get reviewed by someone working on the codebase.
You could also create your own open-source project where you are sharing a tool that might help thousands more developers like you. And your tool might be improved on and mutated along the way by other open source contributors. This will help it grow into a life changing development tool that is freely available to everyone.
But when it comes down to it, how many companies would be happy for you to spend company dollars (and time) contributing to a tool? And not just any tool, one that could potentially help a competitor?
Well, you might be pleased to know that there are genuine business-driven reasons for a company to contribute to open-source, and we'll discuss just a few here.
Contributing to Open Source Helps Retain Top Talent
According to UnlockOpen, Facebook claims that 75% of their new engineering recruits mention their open source program as a key reason for joining the company.
This meant that instead of spending money on recruiters to find good developers, these companies invested that money in open-source. They were both doing something good and letting the good developers come to them.
Contributing to Open Source Attracts Developers to your Products or Services
By creating free open-source products, companies can often attract developers and get those developers to start using them. Then they can offer paid options for the upgraded or scaled versions.
For example, let’s take VSCode again, the free open-source text editor. It also has a paid IDE version called Microsoft Visual Studio for professional use.
As a developer, if you have used VSCode most of your life and know the tool and its UI/UX well, you might be more likely to upgrade to Visual Studio as a result. Not only because the experience is similar in terms of product, but you might feel a certain loyalty to the product after using its free version.
This strategy applies to many other open-source tools as well.
Contributing to Open Source Gives You a Net Competitive Advantage
When working at a particular company, a developer is often working on one codebase. One that they are very familiar with, or have lead in building themselves.
With this comes a sense of comfort but also complacency, as there are no new work styles thrown your way.
By contributing to external open-source projects, developers are building up their problem solving skills by being exposed to new issues and coding styles.
They're also practicing their communication skills, whether it's just by communicating with individuals from other companies, or individuals from different countries with different languages and cultures.
Want to learn more about the advantages of contributing to Open Source?
In this video, Tobie Langel goes into the advantages in more detail, and he shares some statistics and research that you should use to build your own case for contributing to open-source.
This article was written by Ania Kubow on behalf of Tobie Langel, and in support of his video for KubeCon.