This is a mobile version, full one is here.
5 May 2020
Open Source Arms Race
Some companies massively invest in open source software projects, while others still remain skeptical and stay away from this trend. What’s in it for those philanthropists, like Google, IBM or Microsoft? Why spend money on something that doesn’t belong to them and is shared among all of us developers? Don’t they understand that the code they write may be used by their competitors? It seems they do understand, but can’t do anything about it.
As David Mytton noted, individuals release open source projects out of altruism, while companies have real, strategic reasons hidden behind the warm and fuzzy glow of open source. We don’t mean just using open source products, which is what every business does nowadays, but building them so that everybody can use them, for free.
First, let’s see exactly how, among other methods, companies invest in open source:
Committers. Google, for example, encourages its employees to open their code, and even has an approval procedure for it. It seems that others do something similar. Some recently published research demonstrates that thousands (!) of employees from Microsoft (4.3k visible GitHub contributors), IBM (2.3k), Google (1.2k), and others actively contribute to their GitHub-hosted repositories. In other words, being paid by Google these people write code that doesn’t belong to Google.
Events. Aside from Google Cloud Next, AWS re:Invent, and Microsoft Ignite, which are pure promotional events, tech giants sponsor community-driven conferences, like DockerCon, KubeCon, FOSDEM, and so on.
Acquisitions. They acquire startups that make open source products, e.g. RedHat (acquired by IBM for $32b), MongoDB ($4b), Docker ($1b), Elastic ($6b), Ansible ($100m), MySQL ($1b), Nginx ($670m), and so on. The market is booming, by the way.
Next, the question is how this helps Google and others make their business more profitable. For example, how is Google Cloud Platform planning to beat Amazon AWS using open source as a weapon? Here is how, among other reasons:
Selling. The products they sponsor gather large communities of users, who know how to work with them. Some of those users are decision-making people. For example, Google’s Container Engine is a hosted version of Kubernetes, an open source product. Kubernetes users, when they need a hosted version of it, will most likely become Google customers. TensorFlow, yet another example, also runs on Google Cloud Platform.
Influencing. In the modern software development world open source is the key media, where programmers learn new ideas, design principles, and architectural solutions. They listen to open source projects, because they trust them much more than they trust Google, IBM or Microsoft. Tech companies are smart, but their decisions are based on monetary reasons, while open source projects are much more free to do what is right, instead of what is profitable. And programmers usually get very skeptical when open projects are acquired by large enterprises, like Java by Oracle or GitHub by Microsoft (not really an open source story, but very close). Thus, for companies it’s much wiser to sponsor open source and stay behind the curtain rather than talking directly to developers through corporate media like MSDN or OPN.
Branding. Being part of open source is a direct contribution to the public image of a company. Google is no longer an Ad-selling monopoly, with questionable reputation, but one of the largest software philanthropists. Microsoft is catching up with its massive code opening and the purchase of GitHub.
Retaining. Being an active participant of a visible open source software product is a great intrinsic motivator for the best software engineers. When your company is involved in open source business, you are much more loyal and interested in staying longer with the company. I can’t prove this assertion, but it’s my personal observation.
Training. It’s no secret that the best technologies nowadays are being created in open source projects by people contributing for free (they get their salaries somewhere else). It’s also a well-known fact that in order to be a better engineer one has to work with the best. Open source projects are exactly the best place to meet more experienced and very often more talented programmers, and learn from them. Companies, by sending people there, boost their skills without doing any internal training programs.
Thus, it seems that open source is a very powerful instrument in the war for tech markets and for talent. Smart companies develop their open source muscles, earning reputation and acquiring our trust. I predict this trend not only to continue but also to escalate. We programmers are their driving force; they need us as users, promoters, influencers, and makers of the products.
They were not paying attention to the open source territory for ages and now they are fighting for it, trying to acquire the largest pieces.
We software developers are the territory!
Thus, if you are a coder, make your own project now. Sooner or later Google will knock on the door and offer you a big check, just to do it earlier than Microsoft.