Open Source Monetization Models

Spencer
Spencer

Developers who build open source software create incredible value, but capture very little of it.

This list includes a fairly complete list of monetization models, along with examples of projects, developers, or companies using the models (if known).

Examples focus on the JavaScript community where possible.

1. Merch

This method can succeed in some earnings if a large and active community is gathered around a project, and wants to represent the logo out in public.

Not too many projects offer swag, but you can buy some Webpack or Parcel T-Shirt if you'd like. The NestJS logo looks pretty sweet on a black hoodie.

2. Advertising

Many open source documentation sites display ads on them, for instance Vue.

It's unknown how many of these projects are making anything live-able or sizeable to support a developer or team of developers with this method. It's unlikely that it's much more than a nice bit of pocket money at the end of the month.

Carbon is an advertising network devoted to serving advertisments to developers and designers.

3. Donations

Pejoratively known as "tip jar".

Very few developers have made enough from donations to actually make a living wage, much less support a full-blown company.

Evan You (creator Vue.js) succeeded in raising about ~$15,000 per month (certainly enough to live on!) on Patreon, very few other developers make even above $1000/mo. It's definitely not a business model that has supported more than a couple of developers.

Chris Aniszczyk of the Linux Foundation is outspoken opponent:

I do strongly feel that VC-funded donation platforms [refering to Patreon] that fuel the gig economy are not the best solutions for long term sustainability

Open Collective is doing good work to make sure that this model is fair and transparent for maintainers and donors.

4. SaaS Offering

This involves creating a business that offers the open source software as a hosted service.

GatsbyJS is an open source static-site generator built on React, and is developing a service called Gatsby Cloud to enable Gatsby development. (Read more about what Gatsby is planning in their Series B announcement. This blog is powered by Gatsby!)

Apollo offers a "shared graph" service that gives greater insight into GraphQL performance.

Meteor offers Galaxy, its hosting platform for Meteor applications.

Mapbox tracks usage limits for it's mapping library, and charges for overages. It also has an API that is priced for usage.

MongoDB Atlas is a hosted, cloud-provider of MongoDB. Related, MongoDB's license also limits competitive products to their hosted service.

Sentry.io offers a hosted version of their open source error tracking software.

5. Professional Services

The developers who built and maintain the project, often have the best knowledge of it.

Offering paid services is a way to support the project, although the billed time won't directly go to producing the software but to supporting a company.

For example, Vuetify offers consulting services.

6. Feature Bounty

In this model, customers can pay in advance for certain features to be developed.

MaterialUI offers this as an option in addition to a support plan.

This model is close to Bug Bounty programs. BountySource has a list of bounties that can be earned. Github even has a program that will net you $2500.

7. Dual-Licensing

Dual-licensing (or, sometimes multi-licensing) means that software is released under multiple licenses for different purposes.

One license might grant full usage of sotware to non-commercial use while usage in commercial projects is covered by a second license.

Commonly, GNU's General Public License v3 (GPLv3, for short) licensed software is open sourced. GPLv3 has a key limitation: distribution in another software product requires that code to have the source code available.

Handsontable, an excel-like JavaScript library, uses a dual-licensed structure to sell licenses to companies who want to embed it in a commercial application.

See more on dual-licensing here.

8. Open Core

While a portion or a kernel of the software may be Open Source, there are proprietary add-ons or additional features available for a fee.

This is often termed "Community Edition" (the free version) and "Enterprise Edition".

Strapi, the headless CMS built on Node, offers an enterprise version. Part of the enterprise agreement includes support, which makes this a hybrid of profressional services and open core.

Apollo, the GraphQL Server and Client, offer an enterprise version that includes support. (Apollo also offers a SaaS product)

Redis, the popular key-value in-memory database, offers an enterprise version under a commercial license with additional features like search and JSON support.

Interestingly, the FireFox browser has a free version called Enterprise.

9. Delayed Open-Sourcing

For certain technologies, a business may gain a competitive advantage to having access to a software product before other competitors. If this is the case, businesses may pay to access the software in advance.

This approach was pioneered by the founders of MySQL, and they developed The Business Source License (BSL) to support this approach.

BSL licensed software is source available but imposes usage limits for a period of time; additional usage requires purchasing a license.

After the time-limit expires, the software becomes fully open source with no limits imposed.

10. Subscription Support

You can think of this model like purchasing insurance for business critical operations.

If your business depends heavily on some open source technology (e.g., a Linux distro, database, a JavaScript library, etc), then you want to be certain that its secure and will be patched quickly if a problem arises.

Red Hat used this model successfully to scale to ~13,000 employees and an acquisition of $34 Billion by IBM supporting Linux distributions for the enterprise.

TideLift is attempting to do this at scale by contracting with many open source maintainers, and then charging companies a subscription fee. Material UI, the popular React UI Kit, as well as Vuetify offer support plans via TideLift.

NestJS offers an enterprise support via the founder's company, Trilon.

NextCloud uses this model to support it's on-premises file-sharing software.

Frank Karlitschek of NextCloud talks extensively at FOSDEM about the different models and is a strong proponent of this model.

11. Paid Add-Ons

If there's a large and active community, you might be able to release a related but distinct product that users are willing to pay for.

This option is distinct from #8 in that the product is distinct and not an add-on.

TailwindUI used this model to successfully achieve monetization around the open source CSS framework.

Premium themes can also be considered optional add-ons. Vuetify offers some paid themes in their store.

This option can work if there's a sufficiently large community around the product and a distinct but related product has demand in the market, usually solving a business problem using the OS software.

Other Resources

Heather Meeker, How To Turn Your Open Source Project Into A Company

coss.media covers lots of topics in this space

COSSI: Commercial Open-Source Software companies doing >$100 million in annual revenut