top | item 11868267

Ask HN: Patreon for open source?

60 points| hackathonguy | 9 years ago | reply

Hey guys,

I'm participating in an hackathon and had this idea: users of open source github repos can contribute $X for every commit the developer contributes, with a monthly cap. It's a recurring donation based on development activity.

Give some love to open source devs.

What do you guys think?

60 comments

order
[+] Changaco|9 years ago|reply
As others have pointed out, platforms to fund work on open source projects already exist, and the best part is: they're open source themselves, so you can contribute! In fact I was the top developer of Gratipay for a year myself, and now I've created a fork called Liberapay (the reasons were the legal difficulties Gratipay faced in the US, and the decision its founder made to turn it into a non-neutral platform).

Links:

https://liberapay.com/ https://github.com/liberapay/liberapay.com (Python)

https://gratipay.com/ https://github.com/gratipay/gratipay.com (Python)

https://salt.bountysource.com/ https://github.com/bountysource/core (Ruby)

https://snowdrift.coop/ (not operational) https://git.snowdrift.coop/sd/snowdrift (Haskell)

[+] vijayr|9 years ago|reply
Are there collaborative translation services for open source apps and products? One could of course use google translate, but it would be nice if the translation is done by humans who actually use the product/service they are translating.
[+] icebraining|9 years ago|reply
Paying per commit seems as sensible as paying per LOC (related story: [1]). Simple recurrent monthly donations as one can easily set up (eg. on Flattr) make more sense, in my opinion.

[1] http://www.folklore.org/StoryView.py?story=Negative_2000_Lin...

[+] CiPHPerCoder|9 years ago|reply
I have an anecdote to support your comment: One of the more valuable tools I've worked on was random_compat. Over 6 million Packagist downloads and has been integrated in all the major frameworks that still support PHP 5.

https://github.com/paragonie/random_compat

https://packagist.org/packages/paragonie/random_compat

Despite being incredibly useful tool, there isn't a lot of active development going on. It just works, and when it doesn't, it's because your operating environment is borked.

Paying per commit wouldn't make sense for us. We have very little technical debt.

[+] nalllar|9 years ago|reply
Patreon has a feature to limit the number of payments per month for "per creation" campaigns.

It's good for keeping track of exactly how much you'll be spending.

Anecdote: 3 of the 10 campaigns I've "pledged" to use per creation, the rest are monthly.

[+] hackathonguy|9 years ago|reply
Yup, that makes sense. Do you have an idea for a better indicator of development activity we can tie into? I thought about telling the contributor how many commits the team makes on an average month, and capping the maximum contribution they'd like to make.
[+] broodbucket|9 years ago|reply
Issues closed is probably a better metric, though there's no actually good metric for software development.
[+] bbcbasic|9 years ago|reply
Almost as bad as paying a developer per hour
[+] justsaysmthng|9 years ago|reply
"Give some love to open source devs."

It turns out that many users of open source projects (especially libraries and packages) are other developers !

It is hard to find a piece of modern software which doesn't depend on some open source libraries. Those libraries might depend on other libraries and so on. Just do an `npm ls --depth=4` in a node-based project to see what a nice tree that is. Same thing with cocoapods, carthage, rubygems, pip, cargo, leiningen, etc.

In my view, money should follow the project structure - developers should donate part of the money they receive to the project dependencies and the devs of the dependencies should do the same thing, recursively and that's how you really spread the love !

I've started working on a prototype a year ago, but got discouraged after someone showed me that there are literally hundreds of projects trying to 'spread the love' and as a consequence no love is being spread :)... so I kind of gave up on it for now, but still think this is how it should be done.

[+] perlgeek|9 years ago|reply
I like the idea of using Patreon for Open Source, but I dislike the idea of tying it to the number of commits, because it creates the wrong incentives.

I've also got the impression that most patrons rather prefer a predictable, monthly amount over a varied amount, even if it comes with a cap.

[+] icebraining|9 years ago|reply
That's why I like Flattr's model - my monthly budget is consistent, even if I occasionally tip projects outside of my regular contributions.
[+] seibelj|9 years ago|reply
Here's my idea for getting more money to open source. Someone please implement it, I'm too busy right now.

Central repository (database with website and API frontends) that contains links to donation pages for all open source software. This is crowdsourced information. So if you search for "spark", apache spark appears with link to donation page, and of course more obscure packages will be added as well.

Then a CLI tool is written that scans your code base. This is an open source tool, so for node it will look in NPM packages, for C projects it will look at the make files, etc. Developers can write custom code to detect their own packages if it's not standard.

The output of the CLI tool calls an API at the central repository that creates a report, so you can go to the URL and see all the open source packages you use and links to donate to them.

Now, here is the final piece that would make it so much better, but is more difficult: the central repository itself is a non-profit organization, so instead of having to go to each library's donation page, you donate directly to the central repo (perhaps a set amount every month), and once a month the central repo donates all of the amounts taken in. So if you only want to donate $10 a month, but use 500 open source projects, that's OK, because once a month the central repo will add up all the donations and donate one lump sum. Of course you can change the ratios of donations if you want, so some projects get more of your donation per month than others, and you can remove projects you don't want to donate to even if you use them.

In this way, individuals and companies can fairly compensate all the developers of the open source software they use, easily and fairly, in the amount they can afford.

At the end of the year, you only have to write off your donations to the central repo, and not the hundreds of open source projects, as the central repo is a non profit.

Thoughts?

[+] doomtop|9 years ago|reply
I think this is a great idea. I would love to build it, but don't think I have the breadth of knowledge necessary. Does anything already exist like the CLI tool to determine what OS packages are in your project?
[+] judofyr|9 years ago|reply
https://gratipay.com/ exists already, and it's mostly (all?) open-source as well.
[+] creshal|9 years ago|reply
Patreon is more popular, though, and used by a lot of artists. You'll need more arguments than "well it exists too" to convince users to sign up for both.
[+] jbrooksuk|9 years ago|reply
I'm using Patreon for Cachet[0] and it works well enough that people can donate, but discovery lacks for projects which aren't media based. Also, I can't setup another Patreon page under the same account, so what about filling in the voids there?

The idea works, the implementation could be improved.

[0] https://patreon.com/jbrooksuk

[+] lowglow|9 years ago|reply
You could bring your work over to Baqqer. You can create multiple projects and have each one funded individually. Also trying to make discovery and community more robust is part of our core values. Hit me up if you decide to check it out, I'd appreciate your feedback.
[+] kevinmchugh|9 years ago|reply
patio11 has written before on why tips or especially "donations" are a bad idea, or at least not the best idea:

https://news.ycombinator.com/item?id=10863939

https://news.ycombinator.com/item?id=659396

businesses have a much greater incentive to ensure continued development of projects than individuals. Personally there's at most a handful of projects I would support with my own money, but my employer's money would be very well spent supporting at least a dozen different OS projects.

[+] sveme|9 years ago|reply
What I'd really like to see is some sort of business account for Patreon or one of the others. Lots of companies use open source projects as an integral part of their day-to-day work, yet it does not seem straightforward to set up a monthly contribution to this work for a company. Obviously, they can use one-time grants to the Apache Software Foundation or someone else, but sometimes it is really just a single developer or a couple of developers that develop a crucial software package (webpack and others). Would be great if a company could support this easily as well.
[+] osnd|9 years ago|reply
I don't actually know how well it works, but there is exactly ONE way that I've managed to financially support open source software: offer a version with licenses.

For example, my company pays for OpenVPN Access Server not because it offers a ton of value over OpenVPN (it really doesn't, for our use case), but because they provided a way for me to give them money that's acceptable within a corporate budget.

[+] fridsun|9 years ago|reply
Do your prior work investigation and try to take the good and avoid the bad.

Some prior work from top of my head:

- Bountysource - Gratipay - Patreon - Flattr

[+] hackathonguy|9 years ago|reply
Woah - received some amazing feedback here! Thanks everybody.

So I'll definitely look at all the other, similar/identical products. Another takeaway is that this idea probably won't work on a per-commit basis - what's a good way to make sure recurring contributions correspond with actual development activity?

[+] lanevorockz|9 years ago|reply
Might work better if you build a unit test and create a bounty for it.
[+] edem|9 years ago|reply
There is [Gratipay](https://gratipay.com/~Gittip/) which is based on donations. You might look into that as well. A commit I think is not representing anything apart from the fact that it is a (hopefully) compound piece of code. You might want to pay for finished user stories which are estimated properly.
[+] ruipgil|9 years ago|reply
> $X for every commit

Even if you're supposedly giving money to reputable developers that are the percentile less likely to commit fraud, there's still a risk of it happening.

A more reasonable approach would be a monthly or a "version" contribution.

Even better than that would be a "fund" where you pledged your money to developers/projects, and it would be distributed equally or by a clear metric.

[+] Changaco|9 years ago|reply
There is no perfect metric to determine how much a contributor deserves, but there is another simple solution: let each member choose how much of the project's income they take! This is how Liberapay teams work, and how they used to work on Gratipay (they're working on bringing that feature back).

If you want to know more, the second part of https://medium.com/liberapay-blog/a-new-platform-to-fund-wor... is a short introduction to our teams system and contains a few additional links.

[+] kzisme|9 years ago|reply
You should check out Gratipay(Formerly Gittip) - Although we currently aren't back up to speed (with working payments) it's an open source project/company.

https://gratipay.com/