Recently I received an invite to the GitHub Sponsors program so I figured I'd make a sponsorship page. Building my sponsorship profile was fun!
Having to define donation tiers was an interesting exercise because I had to figure out reasons that would convince (will they?) people that the donation is worth it somehow. What can I offer in my spare time? What are supporters getting in return? Is it valuable?
Will it work?
Getting people to donate is a very hard thing to do and it is definitely harder for those who are not well known public figures.
Not to mention that asking for a donation feels a bit like asking strangers on the street for money, maybe for a service that you deliver to somebody else. 🙃
Tiers and Current Sponsors
After a bit of thinking, I eventually decided to create a tier for symbolic donations of $5/mo and a few tiers for library support ($150/mo), company sponsors ($250/mo) and actual library work ($2000/mo).
To date I have 0 sponsors but got one $2000+ private OSS consulting deal in 2020 through one of my open source repos.
Thanks to Twitter and OSS, over the years I have grown a nice network and working on free open source has paid back in terms of opportunities and leads – especially now that I am self employed and I work as a consultant.
That said FOSS work per-se hasn't been financially sustainable and I have put it on hold for a while. Now I only work on side projects and OSS at random times and for fun, so much so that I started a (very WIP) personal Open Source Contributor Manifesto and Policies to communicate this to others.
Who do I Sponsor?
Since when I went self employed I have started to sponsor a few developers who are maintainers or authors of libraries that I have used in clients projects.
I have also been thinking about starting to transparently charge an Open Source Tax to clients. This would be a little extra that I would then donate to open source.
As a solo developer you end up appreciating the value of FOSS way more:
My Opinion on FOSS Sustainability
Clearly FOSS provides value but I doubt that it will ever be sustainable for the many of us. In fact I think that it is probably time to stop hoping for it to become sustainable :)
FOSS should either be an act of giving-back and sharing with the community or, for the ones who'd like to make a living off of it, a product that comes with companion paid solutions:
Your paid service should solve a problem. Examples are:
- Cypress → Cypress Dashboard (metrics, smart test runs orchestrations, flaky tests management etc.)
- Storybook → Chromatic (deployment, review, and test)
- Next.js → Vercel (hosting)
I know from experience that companies pay for services, easily.
Obviously this requires twice as much work² as you need to come up with a useful piece of software and a service to support it but that's part of the game I guess 🤷♂️
...and I think that's why many ambitious folks are creating OSS-centric companies and getting funding from VCs.
Other Alternatives to Donation-Based Systems
GitHub Sponsors and donation based platforms are great for some but ultimately I think that a path to OSS sustainability could be to reward developers based on usage stats (installs or consumers/licenses) or provide services around OSS.
For example I have this tiny project that has 71k downloads a month. In this space it is nothing but nonetheless it is definitely providing value to some. How could this translate to a few bucks? 🤷♂️
I am also co-author and have been maintainer of styled-jsx a library with 1.5M download per week that is used by companies like TikTok, Hulu and earn $0/mo from this.
If I was paid per usage probably I would be making a nice living and could work on this stuff full time :)
Apart from getting outside money from VCs or employers, I think that one of the most interesting way of making a project sustainable without having to build companion paid services would be to implement a dual licensing system.
The software source code would be open and free to use for small teams and individuals but paid for companies.
Remotion - a suite of open source libraries to create videos with React – adopted this solution. Check out their license on GitHub.
Support and Training
Selling support and training are probably other viable options for people who want to live off of Open Source Software. I doubt that this is a viable option for the ones who work on OSS in their spare time. The tough truth is that many OSS contributors have a full time job!
There are companies that use and produce Open Source Software all the time. An example are Vercel or Gatsby. Getting a job at such companies could potentially mean that you wouldn't have to work on OSS in your spare time anymore.
Starting a campaign on crowfunding sites could be a good way to boostrap FOSS development.
A successful example of this model is ProseMirror's campaign on Indiegogo. They managed to raise $50000 to support the development of the project.
npm Inc. is in a unique position because they own the biggest and most popular package registry and because they don't yet provide a service to package owners for monetizing their software.
I really hope that they are monitoring the donation based space and eventually will come up with a better solution for everybody (even the small fish) that is not yet another donation based platform!
Update forget this, npm has been acquired by GitHub :)
Sponsorware – A Success Story
If you want to read about a success story check this out https://calebporzio.com/i-just-hit-dollar-100000yr-on-github-sponsors-heres-how-i-did-it.
My takeaway from it is that eventually you end up becoming a marketer more than a developer but I guess that's part of the game 🤷♂️