Paying Cold, Hard Cash for Open Source Contributions

May 2, 2019

At Formidable, open source is at the heart of everything we do. We help our clients build mission-critical systems using open source technologies like React, Node, GraphQL, and dozens of others. In return we contribute back to these projects, and give our engineers dedicated time to maintain more than 70 of our own open source projects that others can build upon.

But recently we’ve come to realize this is not enough.

When push comes to shove, our clients take first priority, and there’s only so many hours in a work day (eight, to be exact). This means that some people are able to contribute more than others depending on their workload, or some may be able to do more in quieter periods and then have to juggle their maintainer responsibilities when things get busy.

A side effect of building a company culture around OSS is that the kind of people who gravitate to work at Formidable are passionate about their open source work, and won’t stop contributing when they clock out at 5 pm. We need to acknowledge that most of the meaningful progress in open source communities happens outside of office hours, and if we truly value the open source ecosystem and believe that the work we do has a positive impact, we need to recognize and reward people for this work.

Introducing Sauce

For the last nine months we’ve experimented with paying our employees for any open source contributions to any project they do on their free time, no strings attached.

We call this program Sauce, and here’s how it works:

We pay our employees $20/hr for contributions to OSS and tech communities, whether it’s a third-party library we use in our work like React, Next.js, or styled-components; one of our own OSS projects like Spectacle or Urql; or even a personal hack project purely for fun and learning, as long as it’s released under an OSI license. Contributions can be code, documentation, design work, pull request reviews, issue triage, community management, or really anything that the individual thinks counts as a contribution

More recently, we’ve expanded the definition of contributing to include any social impact work within the field of technology, whether it’s teaching children to code at your kid’s school, speaking at your local meetup, or volunteering at a bootcamp for underrepresented minorities in the industry. This makes the Sauce program available to those who want to give back to the community, but don’t feel OSS is their preferred medium.

During the trial period, 42% of all Formidables (and half of our engineering staff) have been paid for contributions to 55 different OSS projects and local mentorship communities. Our employees have fixed critical bugs in code we use every day, launched new OSS projects, had a lot of fun, and learned a ton!

Dolla dolla bill y'all

It’s well known that nominal compensation isn’t the most effective incentive to get people to do things, and compared to engineer salaries in our US and UK tech hubs, $20/hr isn’t exactly a windfall.

This is intentional. We don’t want people to log on after hours to earn money. Instead, we think of the Sauce bonus as a recognition of the work people want to do anyway, and the compensation is aimed to be meaningful enough to do something fun with, but not so high that it would skew their priorities to stare at their computer screens instead of spending time with their hobbies, families, and friends.

With the Sauce bonus, you can grab a free coffee and respond to a couple of issues, treat yourself to a cocktail while reviewing a PR, earn a nice meal by fixing a bug, buy yourself a Nintendo Switch to wind down after implementing a new feature to an existing project, or fund a weekend getaway with your partner by launching a new library that solves a previously unaddressed problem.

By keeping the dollar amount reasonable, we can also ensure that the program is sustainable. Even if every single Formidable employee spent all their evenings contributing to open source, we could afford it in perpetuity.

Please, steal this

The program is working well for us, and after an initial trial period, we’ve now made the Sauce bonus a permanent perk for all Formidable employees.

We foresee Sauce playing a part in the personal development and employment satisfaction of our team, but we are far more excited about the good work we can support them to do in OSS and broader tech communities. We also see Sauce motivating people to work on their passion projects, encouraging them to experiment with new technologies to support their career growth, and pass on learnings to the benefit of our clients.

If you think what we’re doing with Sauce is a good idea, feel free to start your own OSS sponsorship program at your company, or forward this article to your manager with a wink emoji! Or, you could always just become a Formidable 😉.

In fact, Sauce itself is heavily inspired (both in name and concept) by Spice Program, a similar social impact initiative pioneered by my former employer Futurice.

So, please fork this idea and make it your own. And as always, we’d love to hear your feedback over on Twitter.

Related Posts

The Evolution of urql

December 6, 2022
As Formidable and urql evolve, urql has grown to be a project that is driven more by the urql community, including Phil and Jovi, than by Formidable itself. Because of this, and our commitment to the ethos of OSS, we are using this opportunity to kick off what we’re calling Formidable OSS Partnerships.

Third-party Packages in Sanity Studio V2

November 15, 2022
To get around our "modern language features" issue, we can tweak the Sanity Webpack configuration so that it uses babel to transpile the library files for our third-party libraries that are causing us problems.

What the Hex?

October 24, 2022
If you’re a designer or frontend developer, chances are you’ve happened upon hex color codes (such as `#ff6d91`). Have you ever wondered what the hex you’re looking at when working with hex color codes? In this post we’re going to break down these hex color codes and how they relate to RGB colors.