TLDR: You set a donation amount, it uses your GitHub account and the projects you use and distributes it through their dependencies and the dependencies of dependencies. You can also customize to exclude or boost specific things.
Might be over-simplified, but that looks like the basic idea.
Details
You log in with your GitHub or GitLab account and nominate how much you’d like to donate every month – could be as little as $2 or as much as $100k. thanks.dev then collates the dependency tree across all the repositories in all the organizations you have access to and trickles your donation across that tree 3 levels deep, up to 8 decimal places on the dollar. You can scale your donation per open source project via boosting, or alternatively, you can exclude projects you don’t want any money going to. Everything else is automated.
Why do we think this is a good approach?
thanks.dev solves the “Who should I donate to and how much should I give them?” component of supporting open source. We think the biggest side effect of this barrier is the unbalanced distribution of donations across the ecosystem, with popular projects receiving the lion’s share of donations. The motivated minority primarily donate to the handful of projects that are top of mind. For example, Webpack receives close to $200k in funding per year via OpenCollective but its direct dependencies receive minuscule amounts of funding, and there are 80+ of them.
Furthermore, thanks.dev makes it super easy for companies – especially larger organizations to support open source. How else could they manage the logistics of supporting the thousands of projects they depend on? There really is no way without significant effort.
Another benefit of thanks.dev’s approach is that deeply nested packages get supported via an accumulation of micro-donations, which should ameliorate the funding component of the recent log4j incident.
What are our ultimate goals for thanks.dev?
An open source ecosystem in which maintainers can focus on their projects full-time, be funded by the companies that depend on them, and for those companies to attain a competitive advantage via access to faster, cheaper & more sustainable execution.
This is a great concept. I hope it catches on.
I participate in a pledge called #50forFOSS. On the first Friday of every month, I choose an open source project and give the maintainer $50, no strings attached. It lets me target small projects that may not have a lot of users, but are valuable to me, as well as bigger ones with more expenses. My mindset these days is that I need to insist on paying for the software I use, because if I don’t, someone else will (i.e. advertisers and venture capitalists, which is bad) or no one else will (i.e. abandonware, which is worse).
Disclaimer: I started #50forFOSS and there’s a very small group of us who are doing it.