‘Tis the season to be jolly, and many people around the world are getting those warm, fuzzy holiday feels. One of the things that makes us programmers feel warm and fuzzy is open source software. With open source, you can easily see the code and documentation, and better yet, you can use it too. A lot of companies support open source as well, providing funding, labor power, and code for free.
Why give something away for free? A lot of individuals contribute open source code out of a genuine sense of altruism. Yet when it comes to companies, it’s often a strategic choice, and one they expect to benefit from.
Companies don’t give away code out of a sense of holiday cheer or pure altruism, they believe (and I’d argue are often right) that the benefits for supporting open source outweigh the costs or drawbacks. Yes, your code will end up in the hands of competition. Sure, other companies can use your hard work to advance their cause. Yet in the long run, you still come out ahead.
Some big brands and companies, such as Google, are well known for (almost) wholeheartedly supporting open source projects. Google has even set up a process for employees to turn their company developed code into open source.
Why go through all the trouble? Let’s take a look at the tangible benefits of supporting open source, especially from the perspective of tech giants like Google. Let’s start by looking at how companies support open source.
Google is what we can call a "committer," they’ve bought into open source in a big way. There are some big, flashy open source projects, like Chromium, but Google’s impact goes well beyond that. Surf through Github and other sites that support open source development and you’ll find plenty of contributors from Google working on projects. Look closely, and you’ll see that many are contributors on the company’s dime.
Microsoft, IBM, Adobe, and various other companies also support open source projects to some extent or another. Besides providing labor power and code, many companies host open source events, like Microsoft Ignite. But let’s face it, these events are promotional and companies often care as much about the positive publicity as they do about the resulting code.
Beyond events, many companies support foundations, which in turn provide resources and labor for various projects. Apache, Linux, GNOME, OSI, and various other projects are backed up by a variety of foundations. These foundations, in turn, are supported by Google, Microsoft, Huawei, IBM, and more.
Then there are acquisitions. Did you know that Red Hat, which supplies a variety of Linux systems, server technology, and the like, was acquired by IBM to the tune of $32 billion? Red Hat supports a range of open source projects and they generate over $3 billion in revenues per year. Yes, open source can be a big money maker.
Companies don’t provide all this support out of (just) the goodness of their heart. Self-interest drives support too.
Okay, so what benefits do companies get from supporting open source?
First, there’s plain, old selling, the heart of many businesses. If you gather a large community of users, whether at an event or on a project on Github, you’re in a good position to sell to them. If other users and companies are using your code and working with your staff on open source projects, you’ve already established a relationship.
Take Google’s Container Engine, which is a hosted version of Kubernetes, itself an open source product. If you’re a kubernetes user and need a hosted version, you probably already know and trust Google. That makes for an easier sale.
Then there’s influence, something that’s hard to overestimate. Think of the biggest brands in the software business. Many software programmers get started and continue to hone their skills through open source development. Open source projects offer a great way to learn new skills, make positive contributions, and network with fellow programmers.
By attaching themselves to open source projects, Google, Microsoft, and others can hop on the bandwagon and enjoy some of the good publicity and branding. And while many programmers might be wary of big companies, a lot of folks would also love to work for said companies. And at the end of the day, supporting open source projects allows companies to build out their brand and increase trust among programmers and end users alike.
All the above develops human talent inside and outside of the company. Many of your best software engineers will work on open source passion projects. Passion, in turn, can help ensure contentment and loyalty, thus increasing retainment.
Open source projects also provide training opportunities inside and outside of companies. Internal team members will hone their skills and acquire knowledge as they work on open source projects. Often, open source projects are the best technologies these days, so your team members are learning from the best, to be the best.
Software companies, and especially large brands like Google, benefit as overall talent increases. It’s easier to find talented software developers. And through open source projects, companies and managers can identify potential candidates to bring on as paid staff. Instead of interviews and resumes, the proof of their skills lies in their code and project success.
So what’s the take away for all of this? Open source is a great resource for the community, sure, but it’s also a valuable resource for companies. Open source provides sales, influence, branding, retaining and training opportunities, among others, for companies. And for individual programmers, open source projects offer a way to build skills, increase knowledge, and make connections.
2021 is fast approaching. As we usher in the new year, you should consider how open source might benefit you, as an individual, or your company. Start an open source project in January, who knows, by next December you might be cashing big checks from Google, working on cutting-edge technologies.
Yegor Bugayenko is founder and CEO of software engineering and management platform Zerocracy.