Check out https://thanks.dev/ they have a similar solution but allow allocation control.
I could also see people writing "wrappers," and intercepting the top-level contribution, then skimming a bit off the top, before sending them on.
Face it. There's money to be made, and a lot of really smart folks, with no ethics whatsoever, are more than willing to go for it. They'll figure out how to game it.
The bottle has been uncorked, and the genie has escaped. There's no putting the candy back in that piñata.
I sincerely hope it works out. I have become somewhat cynical, and maybe that colors things.
Also, flip the consideration, why is it fair that you only support a hand-curated list of projects and ignore the thankless dev writing all the little helpers and utilities that save you time over and over again?
The blog post on their monte carlo simulations are pretty interesting. You can see how the funding ends up getting distributed, which is much like funding is today where people pick and choose, but with a healthy long tail that supports all the overlooked dependencies.
What I really like about this approach is how egalitarian it is. If this catches on (and I believe it will) it's a self-contained ecosystem with its own incentives and emergent behavior. It even creates a healthy incentive for projects to minimize dependencies. And a high profile commercial project might want to signal virtue by passing on its pool entirely to its dependencies. Or maybe it claims its pool and pays it out as a bonus to the team that maintains the project? Or maybe it claims the pool and uses it to fund the infrastructure and operating costs and the price of the product you already pay for goes down. The possibilities are pretty fascinating.
What stackaid presents is a solution for devs and organizations who recognize how much value their dependencies provide and want to spend more than $0/mo to support them but don't want to think too hard about it beyond that. I've been waiting for a solution like this for a long time, and I'm keen to participate!
There are lots of reasons. Maybe the project in question has a low impact to you, such that not having it wouldn't affect you very much. Or maybe it's something that's easy enough to write yourself and you just haven't done it because you haven't needed to. Or maybe there's a commercial alternative that's better but you just haven't needed to pay for it. You can't pretend that all of your dependencies have the same impact on your product.
With that said, I think this is a great experiment, and I'm all for incentivizing devs to use fewer dependencies!
I like the idea that I don't have to go in an micromanage my dependencies and figure out which ones get what percentage of funding and this and that. I find this product compelling because of the egalitarian simplicity.
> If dependency X is a pithy trivial thing that doesn't deserve your funds, and you care so much, then write your own into a utils file. The reality is, you didn't and you're using someone else's work.
If the author of the utility felt that way, they could have given it a commercial license and sold it to me. I know this makes me sound cold, but open source authors know the deal they're getting, and nobody should expect to get paid any significant amount for their contributions. From a business perspective, it makes sense to fund anything you would be in real trouble without, because your money increases the odds that those projects continue to grow and be improved/maintained.
Having said all of that, I still find StackAid to be a great idea, and if I owned a (profitable) business, I could see myself using it in addition to larger donations to specific projects that my business depends on. That would be a great way to distribute the funds to all of the projects I use while still focusing on a small handful of key pieces of software.
I don’t have a choice with sub-dependencies of packages I do care about.
The little guy is exactly who I’m worried about.
Projects vary in number of developers, their financial arrangement, and the time that it takes to maintain a package.
I use an authentication package that is painstakingly maintained by one independent dev who kicks ass. He deserves more than a package like leftpad. Or a package that is developed by salaried engineers as an API for a product I already pay for.
Commercial projects can either not claim their funds (which will be reallocated), or elect to pass their funds through to their dependencies.
You also always have the option to explicitly list your dependencies.
I'd rather fund libraries that don't have huge companies behind them, and those companies should donate themselves to the dependencies they use, so I can spend my money on donating to libraries I depend on directly.
Some of my dependencies are complicated, critical, high-maintenance parts of my application, some are convenience wrappers for other more important sub-dependencies, and some are basic helper dependencies. Some are independent volunteer projects, and some are maintained by commercial companies by developers on salary. And some of them are libraries for services that I already pay for, like aws-sdk.
I don't think I could use something like this unless I can tweak the allocations.