70 %

Making money with Open Source Software

The challenges of sustainable open source are ongoing. It's fairly well known at this point that sponsorship doesn't work, although there are companies working on this problem as discussed below. Products seem to work the best, so if you intend to sustain an open source project for a long period of time my best advice is to think about how you're going to build a product on top of it and what pain that solves for people.

note: it feels like this post in particular is always going to be incomplete, so I make no effort to wrap it up in a tidy bow and tell you what works and what doesn't below. Think of this post more like a series of examples for various approaches that may apply to your situation.

  • Sponsorship
  • Products
  • Services
  • Consulting/freelancing

Sponsorship

In general doesn't work, especially in the US because of health insurance and such. A maintainer who is successful enough at playing the sponsorship game can also conceivably provide a product for greater income.

Examples

  • GitHub Sponsors

  • Open Collective

  • Patreon

  • etc

  • note: Foundations can be thought of to some extent as "trickle down sponsorship"

when asked how the current foundation model funds contributors.. the belief is that sponsors invest in the tech, and therefore open up jobs for people using the tech

keyword being using. these companies do not usually pay people to work on the tech

- https://twitter.com/ag_dubs/status/1305620133277241347

The GraphQL Foundation, which counts 20 members can only support one full time maintainer (and three interns). This is particularly interesting given how many companies exist in the GraphQL space.

Products

Products are generally proven to work. I'm generally avoiding VC-funded OSS here because that is a whole different topic deserving of it's own post entirely due to the powers at play being so different.

The "open core" model is fairly proven. Sidekiq does this, Docker tried this (although other companies did it better, arguably). Open Source can be looked at as serving the developer as a user, as opposed to the users of a product who probably don't care if it is open source or not (few people that use Google care that "google" is not open source). So in Open Core, you'd open source things that developers care about and "hold back" things that executives or enterprises care about for a higher priced tier.

It's relatively easy to fuck Open Core up. Gatsby, for example, fucked this up by putting "build performance" into their cloud service after marketing it early on for the OSS project. An "Instant Content Preview" is an example of a feature that makes more sense in a product (as it targets content authors, marketers, etc) while the ability to build a site on a developer machine is something developers care much more about than content authors.

Deciding what’s in, and what’s out, or where to focus, was the hardest part of the job at Chef. - Adam on Chef

Without VC funding in the way, the bar to get over for sustainability is significantly lower. We can talk in the hundreds of thousands or millions in ARR as "success" compared to the 10s or 100s of millions you need to justify billion dollar valuations. This opens the door to infoproducts like Refactoring UI from the Tailwind team.

We're also about to cross $2 million in revenue from Tailwind UI, our first commercial Tailwind CSS product which was released about 5 months ago — a bit under two years after the very first Tailwind CSS release. - Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business

Tailwind, less than 2 years in, has more employees than the GraphQL foundation can support.

Examples

Services

Consulting, freelancing, and

Some incomplete thoughts

  • support is valuable but to some extent is competitive with docs and good design.
  • voting on roadmaps is valuable but has to be limited so that one company with a lot of money can't dictate roadmap (so as to avoid basically turning into consulting for that company)