Funding Open Source by Rethinking the Assumption

Posted Oct 6, 2016

Open source developers are growing disillusioned with open source all too regularly. Despite open source having created an enormous amount of value, including an estimated $143 million of Instagram's $1B acquisition, open source still has a funding and burnout problem.

Why can't open source just use one of the many existing funding methods, like donations, bug bounties, crowdfunding, or open core? Unfortunately, most of what's been tried so far hasn't been very successful.

Donations seem reasonable. Why can't companies just donate to open source? Unfortunately, that's not the way that companies operate. They want an invoice for an exchange of goods or services. Instead of trying to get companies to work the way open source thinks they should, we should shift to work better with the way companies operate.

Another reasonable model is open core: make part of your code available for free, but require a licensing fee for the typical business use case. This works, but additionally faces what Kent Beck calls an internal moral hazard: you're motivated to keep the good parts out of the open source code, so that companies have an incentive to pay you. There's a misalignment built into the model. Open core isn't bad, and has its successes, but at its core faces a misalignment.

It's time to try something new. The answer to the open source funding problem is to rethink the assumption that what's funded has to be open source. Could we keep much of the benefits of open source, but also charge companies to use the software?

Actually, yes. MariaDB's proxy software just pivoted to the Business Source License. Sourcegraph has the Fair Source License. Momentum is growing for this sort of thing.

By rethinking the assumption, we have something that just might solve the funding problem. It's what I'm calling Super Source, a model combining the best aspects of open and proprietary software.

Instead of giving code away for free, let's charge companies a licensing fee, perhaps keeping free licenses for individuals and non-profits. And like open source, the code should be available online, with distribution as easy as a git pull command. You should be able to make modifications to the software to better address your application's requirements. And you should be able to submit code upstream, report issues, and collaborate as well as we've come to expect, like on GitHub.

The most direct path from A to B is a straight line. If we want companies to financially support public software, the most direct path is by sending them an invoice for a license! We still want to keep a lot of what makes open source great, though, such as the open and collaborative parts.

The following table explains sums it up nicely. Public code means the codebase is publicly viewable, open to pull requests and collaboration, but not necessarily usable for free. Free (as in beer) means the code does not charge a fee, whereas pay for license means you have to pay for a license.

Private Code Public Code
Free
(as in beer)
Freeware Open source
Pay for license Commercial software Super Source

An example Super Source project is DataDuck ETL. The project's source code is available on GitHub, but the license agreement is Super Source, not open source. While even popular open source projects struggle to raise donations, my relatively unknown project has already made thousands of dollars. Instead of hating inbound emails from companies, I love hearing from companies. And by being available on GitHub, it's still easy for developers to explore or submit pull requests upstream.

We're looking for a small number of open source projects to join Super Source, so if you run a project and are interested in learning more, get in touch.

Or, if you just want to stay in the loop, sign up for the monthly newsletter on the right column to stay up to speed with new developments.

Join Our Newsletter

Stay up-to-date with the Super Source newsletter. Enter your email address to join.

Success! You have joined the newsletter.

Go Super Source

Great projects deserve more than charity. See your project earn meaningful financial support with Super Source.