StackAid is a simple way to donate to all the open source software projects you depend on. By subscribing to StackAid, we'll distribute your subscription fee among your projects' direct and indirect dependencies.
See for yourself. Copy and paste your package.json
or edit the one below to get a breakdown of how your dependencies would be funded.
You choose the total amount you want to donate each month among all your dependencies. The subscription amount you choose is divided evenly across all your direct dependencies, but it's also shared with your indirect dependencies. That is, each of your direct dependencies automatically shares up to 5% with each of its dependencies, but they never share more than half of their original allocation.
Let's use a simple example:
With a StackAid subscription of $20/month, bootstrap
and sass
are both allocated $10/month because they split the amount. But then they share that with their dependencies.
Because sass
has 3 dependencies, each of those get 5% of the amount given to sass
. So each sass
dependency gets $0.50/mo ($6/yr) and sass
is left with $8.50/mo ($102/yr).
Because bootstrap
has over 20 dependencies, giving them each 5% wouldn't be fair to bootstrap
, so just 50% of the bootstrap
allocation is divided equally among its dependencies and bootstrap
keeps $5/mo ($60/yr).
Here's the allocation breakdown for this example:
You'll notice above that sass
earns $1/yr more than expected. This is because bootstrap
also depends on sass
so it receives an indirect dependency allocation from bootstrap
.
Subscriptions start at $15/month.
When you add your project dependencies, StackAid is treated as an implicit direct dependency. StackAid is on equal footing, but unlike those dependencies, StackAid's allocation is capped at 7.5%. In the example above, StackAid would receive $1.50/mo.
StackAid's GitHub app searches your repositories for package dependency files. For example, for JavaScript projects we look for package.json
files.
No, you can use our GitHub action to automatically generate and publish a stackaid.json
file which lists your dependencies.
You can of course manually curate the list of projects you want to fund. For example, if you wanted to allocate money to the Linux kernel and Node.js, then you would add these two repositories to your stackaid.json
file:
We are working on bringing the same level of automated discovery and integration for Node.js projects to other ecosystems.
Yes, we recommend setting up a new repository that's just meant to be shared with StackAid and then use our GitHub action to automatically publish your dependencies there for discovery.
Owners of open source projects can claim their repositories by installing the StackAid GitHub app. As part of the claiming process, owners can associate one or more Stripe accounts with each repository they own to receive payments.
Once a month the money allocated for each repository is split evenly among the associated Stripe accounts. Stripe accounts can belong to a single person or an organization that has its own rules for how the money will be put to use.
Note: If your projects are not registered with StackAid, we will make every attempt possible to pay allocated funds on existing platforms such as GitHub, Open Collective, Patreon, etc.
A project's allocations accumulate for 2 months. If the project is not claimed by then, an automatic reallocation happens and the amount is redistributed to the other dependencies that are claimed. Reallocation occurs on a per subscription basis.
Note: During the Beta period we will not run reallocation to give projects more time to claim their funds.
While it’s easy to understand how a single subscription is distributed, it’s hard to tell if this is fair and meaningful. We had the same question, so we built a simulation of 5,000 subscribers for a year.
The bottom line is that the long tail is pretty fat. Popular projects do well, but StackAid funds many more projects that would otherwise get overlooked.