What We Learned From Sponsoring an Open-Source Developer for a Year

Andrei Soroker
4 min readApr 28, 2015

Kato.im, our first product, runs on the BEAM virtual machine, also known as the Erlang runtime. We use a few dozen Erlang libraries for things ranging from manipulating JSON to pooling database connections.

The most important of these libraries is an HTTP server called Cowboy. Without Cowboy, Kato.im would not exist. Erlang and Cowboy make it possible for Kato.im to run with no downtime for many months (last outage was in July 2014, according to Pingdom). [Update: we forgot to renew our APNS certificate, and as a result got hit with an outage on 4/14. Not Erlang’s fault; in fact it tried its best to keep things running.]

Over the past couple of years, Cowboy has become the de facto standard HTTP server for Erlang applications — it’s being used by many companies in very serious and well-known services and applications.

Cowboy is the brainchild of one man — Loïc Hoguin, a software developer from France. Loïc has a façade of sorts for his work — ninenines.eu, which some people mistake for a typical company with departments and a board of directors. In reality, it’s just Loïc.

In January of 2014 we saw an “article” coyly tucked away on ninenines.eu asking the world for some minimally-viable sponsorship so Loïc can keep working on open-source projects, as oppose to consulting on closed-source ones.

After reading the article, our thinking was simple: we’re a VC-funded startup, working on a commercial product where a key library is being developed and maintained by this guy. We need him to not only keep developing and maintaining this library, but to keep optimizing it and implementing new features (say, server-side compression for websockets), ideally with our priorities in mind.

We reached out and made an agreement to support him with $500/month for a year. The mechanics of doing this ended up being quite complex — we had to set up an international wire transfer (triggered manually), and Loïc had to register some sort of a legal entity in order to “invoice” us (required by our accounting).

$500/month isn’t exactly a fortune, but we figured other companies would join in, and together we’ll assemble a sum that resembles a salary. I don’t know the financial details, but you can see two more firms on ninenines.eu listed as sponsors.

As a result of our sponsorship we’ve gotten priority support for Cowboy bug fixes and influenced the implementation of a handful of features that directly benefited Kato.im and its users.

That said, the main benefit for us is clearly in supporting an amazing product and in providing a meaningful contribution to the growing Erlang and Elixir ecosystems.

On a less optimistic note, we were quite surprised by how reluctant other companies — big, famous, rich companies that also use Cowboy commercially — are to back its development financially. We definitely encourage the engineers that use open-source products built and maintained by sole full-time open-source contributors to lobby company leadership to consider a small sponsorship package (just don’t hire them!).

By the time our yearly agreement with Loïc was nearing its end, we were working on a new product — Sameroom.io. Sameroom is a real-time messaging broker that connects rooms and #channels across chat services (HipChat, Slack, Campfire, Flowdock, Kato, Gitter, Skype, IRC, email — try it). To get it to work properly, we needed a full-fledged HTTP client library with support for websockets. And it so happens that in addition to Cowboy, Loïc also built Gun — an Erlang HTTP client library.

The Gun library was in a weird state: the development appeared frozen in pre-v 1.0 state, but the other top-of-the-shelf HTTP client library — lhttpc by Erlang Solutions — was explicitly discontinued, its README pointing to Shotgun, a wrapper around the unfinished Gun.

So, we offered Loïc another year of sponsorship, this time for Gun (and Cowboy, and the Cowboy book he’s working on), for $1000/month instead of $500.

Gun was updated with websockets support and other improvements a few weeks later.

In summation, sponsoring an open-source developer for year was an effective way for us to support a key piece of open-source software, help an extraordinary engineer avoid seeking consulting gigs, and make our own service better for our customers. We look forward to another year of collaboration with Loïc and encourage other startups to create a sponsorship program and share your experience with the world.

Thanks to Eric Karjaluoto, Peter Hizalev, and Boris Soroker for reading drafts of this.

--

--