Show HN: Thanks – See which NPM dependencies are seeking donations
github.com
github.com
It bewilders me how companies make so much money and depend on something like Hapi for its "enterprise" quality but won't give a little bit back to the person who developed their open source software for free. I hope github considers adding some kind of integration with patreon and other platforms to help bring more attention to maintainer's funding drives.
Here's how I think about this. OpenCollective solves the problem of accepting payments and allocating those payments to maintainers in a transparent way (Patreon does this too, to some extent).
`thanks`, on the other hand, just lets you know that a maintainer is asking for donations and directs you to their donation page which may be on OpenCollective. For example, these ones are: https://github.com/feross/thanks/blob/c203cc0248fe339e9ea4b8...
I suppose `thanks` could do more, e.g. accept payments directly from the command line, or ask how much you're willing to donate and then suggest an allocation to each maintainer/team. But I wanted the v1 of this product to be super simple. It merely raises awareness that you may have dependencies looking for donations, but doesn't prescribe how much to donate, which platform to donate on, or whether to donate at all.
Nice job
unpkg.com/:package@:version/:file
Isn't it an official Google project by paid Google employees? Eg I thought Paul Irish was a paid Goole employeee, so it seems odd to suggest donating money to him in the context?
(I might be wrong; and am also very thankful for what he does and don't begrudge anyone donating him money nor him asking for it. Just... Odd...)
To get things started, I added a bunch of authors who had accounts on Patreon and Librepay so `thanks` wouldn't start out completely empty. Specifically, I used the "Find My Friends" feature and just used the list that came up. (Paul had a LibrePay account receiving $0/month.)
So, in the specific case of Paul it might not make sense to suggest donating to him for a Google project. Though, to be fair, he has a lot of packages on npm, some of which appear to be his own work (https://www.npmjs.com/~paulirish), so suggesting that you donate to him for time he's put into his own packages outside of work is fine in my book.
The broader question is: how should we determine who to donate to?
We could have packages declare explicitly if they're seeking donations and, if so, who to donate to. There's a proposal to do this here: https://github.com/feross/thanks/issues/2. For simplicity in this V1 product, I just used the list of maintainers who had npm publish permission at the time of the last release. As a concrete example, take a look at this JSON response from the registry: http://registry.npmjs.com/standard/latest We're just using the list of users in the "maintainers" key. If any of those users is in this list (https://github.com/feross/thanks/blob/master/index.js) then we suggest donating to them.
Open to suggestions if you have better ideas.
https://skimdb.npmjs.com/registry/_all_docs will return a list including the project IDs, then you can send a GET to https://skimdb.npmjs.com/registry/<id>, which returns a json object which includes the readme.
For projects on Github, you could use OAuth to verify that a user owns a repo, and let them manually submit a donation URL. Not sure if npm provides OAuth, but if it does, use that instead.
Feross already sorted this out and nuked me from the list, which is 100% fine with me.
Thanks for making the comment.