25 May 2021
5 min read
Tech companies are built on top of open source. When you start a company, there’s little time to reinvent the wheel. Some companies contribute back to open source. But why do so?
There are tons of reasons not to contribute to open source. I often hear two of them: “I don’t have time” and “I don’t know how”. Contributing as part of your daily job also requires the support of your employer.
I’ve been following 50+ French engineering blogs for a year. Lately, I’ve seen more French companies writing about their open source contributions.
Contributing to open source is considered as an altruist move by definition. But it can also be a great investment for your company. Let’s see how.
It’s common for companies that build products for developers to contribute to open source. It helps them better integrate their product into other tools.
Algolia created a directory with 45 open source projects from the team and community. Every month, OVHcloud shares their latest contributions on its engineering blog. Datadog’s Github page counts thousands of forks.
When others use your project, they find edge cases that may affect your users. Recently, Toucan Toco open-sourced WeaverBird, an interface to build data queries.
The most robust software products are open source. Because they can leverage the incredible community that gathers around it. People bring their skills, ideas, feedbacks and use cases from various contexts.
— Vincent Destrait, Product Owner at Toucan Toco
Open source was also an organizational shift at Toucan Toco, by favouring asynchronous communication through issues and pull requests on Github.
The learning possibilities are one of the most important criteria for developers to join a company. For junior hires, it can be more important than salary. When someone else may read your code, you go the extra mile.
Instead of recruiting through private code exercises, you can ask candidates to contribute to your open source projects. The benefit will be mutual. The candidate will build his portfolio. Your team will test the candidate as part of your software development process.
Transformers is an open-source library for natural language understanding started by the team at Hugging Face. In less than a year, it has attracted more than 26k stars and 300 contributors.
A key to their success? How fast they made the latest state-of-the-art models accessible. Hugging Face raised $15 million to build the definitive natural language processing library.
From being a user to mentoring others, there is a journey. Here are four different levels to mastering open source.
The easiest way to contribute to open source is to be a user. First, you need to know how to install and import a project. If you run into issues, it’s probably affecting others. You can start by opening an issue.
Apache HBase is used at OVHcloud as its long-term storage for metrics, but HBase did not work well with their clusters composed of heterogeneous hardware. At first, they developed some internal tools to fix it.
When they realized that there were others affected by the same problem, they built a general solution and contributed back to the official project.
Dailymotion was an early adopter of GraphQL. After using Graphene for half a year, they decided to go one step further and build their own GraphQL engine. Tartiflette is a GraphQL engine built with Python 3.6+ and asyncio.
You can also build plugins for other open-source projects. Qonto has open-sourced components to Ember.js, such as ember-phone-input. Meilleurs Agents open-sourced a React wrapper for Mapbox GL JS. As a result, issues are reported and fixes benefit the company’s code.
In 2018, Algolia announced that they will financially support the open-source software that supports their success. They have already donated more than $26,000 to 50 projects, based on open collective.
Tweag I/O employs several contributors to the Haskell ecosystem. This year, they announced a fellowship to get financial support and mentorship from the team. The fellowship runs for three months, is independent of the community and has an application deadline in September.
Building a successful open source project requires work, attention to detail and some good luck. Here are some tricks to higher your chances.
When Deezer released Spleeter, it got more than 10k stars on Github in a matter of weeks. Spleeter is a source separation library with pre-trained models written in Python and Tensorflow.
They made the project extremely easy to try. Install it, run a command line on a sound file and get a sound file for each soundtrack in a matter of seconds. People shared their results. It went viral.
At Dailymotion, they have shared how being open source from day 1 can benefit your project. Starting with open-source in mind can help to build a community, get feedback early on and guarantee a smoother release.
Some projects become popular fast, others need time. In both cases, it’s important to keep sharing your project with your network and other communities in Reddit, Hacker News and Product Hunt. You can search on Github and Stack Overflow to find other developers with the same issue.
If you need some inspiration, here are 10 popular projects I found on the Github accounts of French engineering teams listed on Guriosity.
huggingface/transformers 45k stars
deezer/spleeter 16k stars
algolia/places 5k stars
snipsco/snips-nlu 3.5k stars
ovh/cds 3.4k stars
tweag/asterius 1.6k stars
datadog/datadog-agent 1.2k stars
theodo/falco 0.7k stars
sicara/tf-explain 0.8k stars
dailymotion/tartiflette 0.7k stars
French tech companies are expanding to other markets in Europe and beyond. Bigger companies have a higher chance to push the boundaries of what has already been built and lead the way forward with open source.
Freelance Data Engineer. I read and digest 50+ French engineering blogs.
See other articles by Ari
Ground Floor, Verse Building, 18 Brunswick Place, London, N1 6DZ
108 E 16th Street, New York, NY 10003
Join over 111,000 others and get access to exclusive content, job opportunities and more!