In the previous posts, I’ve written about MkDocs and Material for MkDocs (Static Site Generation from Markdown with MkDocs & Publishing a Static Site to Cloudflare Pages), but only realized the other week, that this also aligns pretty well with my other post on funding of open source projects (FOSS and Funding), because Martin Donath, also known as squidfunk, has hit $100’000 per year in GitHub Sponsor funding with Material for MkDocs.
Last year on a German podcast he gave some more insights on how he got there and how the “business” works. Highly recommend to give it a listen (if you understand German). It’s a great example of how a simple project, originally built for some other personal project, slowly and intentionally developed into sponsorware from which Martin can make a living.
The term sponsorware is said to have been coined by Daniel Coulbourne and Caleb Porzio on a podcast when discussing the dilemma between releasing code for free, but having to maintain it, or putting a paywall up and not getting much adoption at all.
Build and release the package exclusively to people who sponsor me on GitHub, but after reaching a certain number of sponsors, make the package fully open-source and available to all.
I do want to acknowledge that achieving this kind of funding isn’t as easy as the post may make it out to be. For example it’s unlikely to work very well with large and established projects, since most users will be satisfied with the given feature set and few can probably be convinced to start sponsoring. As such you have to find something that people are interested in and that you can grow over time. And I guess it doesn’t hurt, if you have already a small following/user base.
According to squidfunk, one of the open challenges specifically with GitHub Sponsor is the handling and tracking of who’s currently sponsoring and who stopped to sponsor. He’s built his own system to deal with all of that, since GitHub provides APIs for it. It’s called Sponsorbot (not to be confused with SponsorLink) and there’s currently a waitlist.
I think it’s a really cool concept with win-win situations all around. The code becomes open source, author gets paid, customers get features ahead of time, and normal users get quality software.