Are We in the Middle of an Open Source Arms Race?

Adir Amsalem
Startup Nation
Published in
5 min readJan 22, 2016

In recent years it seems like every big company is having a big open source project that it’s pushing very hard. Only in the web area we have Google with AngularJS, Facebook with React, Microsoft with TypeScript and many more companies and projects.

It’s interesting to try and understand why are those companies so interested in open source projects, is this really because they want to contribute to the community, which is the general idea of open source?

I think that it’s not only interesting to understand but in fact it’s also very important. Companies, unlike humans, are very rational animals. A company is much less likely to intentionally do something that is not helping it achieve its goals. So let’s try to understand some of today’s technology companies goals, and how open source is helping them.

1. Technological Force Boost

Every company has limited technological resources. A small startup might have 4 developers and a big company might have 1,000 developers, but in both cases it’s limited, either to 4 or 1,000.

Every company also has to deal with things are that not in its “critical path”. If I run a startup where we’re on a mission to disrupt the way people buy their running shoes online, we’ll also have to deal with things that are not on this path — which framework and libraries will we use? how are we going to receive the data from the server? how are we going to render the view? there are many small (and big) technological issues like those which are not part of the core of our product, but definitely require a solution in order to build it.

Here comes the first advantage of open source — did you build an internal tool which is useful for you and might be useful for other people as well but you don’t have enough resources to keep developing and maintaining it? Just outsource, I mean, open source it.

Yeah, open sourcing a project is quite similar to outsourcing it. Companies can boost their development velocity by open sourcing some of their projects. Instead of having 4 developers working on a project which is not in the company’s critical path, a company can have only 2 developers working on it and maintain the same throughput. Not only that, in open sourcing a project a company might also be able to receive feedbacks and suggestions about its tool and improve it, which is a another great thing as well.

It’s important to note that maintaining an open source project is not an easy task, it might come with a significant overhead with it, there are no free lunches. It’s also important to note that open sourcing a project for reasons like getting people to work on your stuff for free is also not feasible, so don’t take it like that. But overall — it’s an option worth considering.

2. Branding & Positioning

Technology companies want their customers to think they are really good at what they are doing. I might not buy or use a technological tool if I don’t believe that the company behind it can produce it well enough. With that in mind, I might also not use a company’s tool if I think that the competitor’s tool is better.

One way for companies to make their customers think they are good at what they are doing is open sourcing similar tools. If I recognize a company by its contribution to an open source tool that I know is great and that many people use, I might be comfortable enough to trust this company with my personal needs as well.

Additionally, when a company has a successful open source project it can start writing and speaking about it in places where it couldn’t otherwise. Writing and speaking about open source projects (or technological projects in general) is something that also helps the company make its brand more familiar and stronger in the relevant areas.

So the second advantage of open source is that people might recognize a company from its open source tools, trust it, use its services and recommend it to others.

3. Hiring & Retaining Talents

This is the most important reason — so take a sit, a deep breath and continue to read carefully.

The number one reason for companies to participate in the open source game is to hire talents and retain those talents later on. I’ll say it again — companies don’t contribute to open source because of a good will, they contribute to open source because they want to attract the best people.

Today’s development market is a demand market. The demand for great minds and talented developers is far beyond the supply, and companies that want to lead, innovate and practically stay in business must have the best people, the Type A ones.

Type A developers want to work in a Type A place, which is probably a place that contains other Type A developers, Type A technology, Type A culture and Type A everything. Type A developers also want to work on things that are considered important and meaningful and which have real impact, and not less important to work on things that they could say later “This is something that I’ve worked on personally”.

By having successful and known open source projects, companies can influence what potential employees think about them and convince them that they are Type A companies which they should work for. For retaining their talents it helps them fulfil their developers’ wishes for recognition and interesting and meaningful work.

4. Reduce New Employees Cost

Hiring an additional employee is basically a result of a conclusion that the company has either failed to execute or expects itself to fail to execute and therefore needs an additional employee.

In the first case, if a company has failed to execute, it probably needs the new employee to be productive as fast as possible. However, a new employee requires training, it cannot be productive from day 1. It needs to learn the domain, the market, the technology stack and more. It takes time, time is money, so it takes time and money.

By having an known open source project which people are already familiar with when they come to work for you, you can reduce the time and money spent on training new employees. Your new employees are already familiar with an additional part of your stack from day 1. It’s that simple and awesome.

Conclusion

Let’s return to the first thing we’ve said here — there are big companies today pushing their open source projects very hard. We’ve also learned several things that might explain some of the reasons behind those decisions.

However, we cannot ignore the fact that they all continue to compete against each other in this area, which for the community is great because we get some awesome open source tools out of this competition.

But is this sustainable? 5 years from now, when all those companies have great and well known open source projects, will this still help them compete against each other, once it doesn’t differentiate them anymore?

I don’t have an answer yet, so I’d love to hear your opinions.

Special thanks to Amit Zur for proofreading.

--

--