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 dontation 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 no influencers because they lack visibility.
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. 🙃
Overall, I have a job and I am lucky enough to not have to rely on OSS funding to make a living. I 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:
If you want to pursuit the OSS funding path my recommendation would be to invest in personal branding first.
Alternatives to donation-based systems
GitHub Sponsors and donation based platforms are great for some, but ultimately I think that the path to OSS sustainability is to reward developers based on usage stats (installs or consumers/licenses).
For example I have this tiny project that has 24k downloads a month. It is definitely providing value, so how could this translate to a few bucks? 🤷♂️
A very controversial solution that I have had in mind for a while is paid packages.
Library owners could make a buck from every user of their library by integrating with a centralized service that would require customers to provide a license token (in the form of environment variable) when they install a library. When users haven’t paid for the library, the install would fail.
Core members of packages (maintainers) would do revenue sharing or collect funds under an organization. Occasional contributors would either get some kind of credit or get to use the library for free.
You can read more about this idea on GitHub.
Another controversial idea I came up with is that, when in dev mode, libraries could mine cryptocurrencies in an unobtrusive manner.
This would happen in a singleton manner where mining is done per project and funds are distributed among the packages in that project.
The miner process would be spawned alongside the main running process for the project eg. a node process that runs webpack.
Support and Training
Selling support and training are probably the most 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 ZEIT 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!