liberapay / liberapay.com

Source code of the recurrent donations platform Liberapay
https://liberapay.com/
1.67k stars 215 forks source link

Automatically pausing and resuming a donation based on the total income of the recipient #50

Open Changaco opened 8 years ago

Changaco commented 8 years ago

Donors should be able to state that they only want to support a creator up to a specific income ceiling/maximum.

Basic implementation checklist:

Changaco commented 7 years ago

I have another idea that boils down to automatically varying the amounts of donations.

It's about encouraging early support of projects on Liberapay (including Liberapay itself). In traditional for-profit startups early funding usually comes from investors who hope to make a profit by receiving more than they put in. That provides quite an incentive but it's also a system many people have a problem with, especially company shares as they can lead to limitless rents as well as unending conflicts between employees and investors.

In a way Liberapay is an attempt to build an alternative to this "capitalist" model. One of the qualities we're aiming for is fairness, and that includes a just distribution of both income and donations. Donors choose how much they give of course, and team members decide how they split the income, so it would seem that we already have a system that is quite fair. However, it relies almost entirely on users for fairness, they have to keep a close eye on their donations and takes to manually adjust them if the situation changes. There is one exception to that, the donations to teams, they're adjusted automatically when the team has a leftover, each donor's contribution is reduced proportionally. That also seems quite fair, but it's missing a dimension: time.

Why should someone who has already donated money in previous weeks contribute the same amount this week as another user who just started donating? Instead of looking only at the current donation amounts, the algorithm could take into account the total sum of money that each donor has given to the team over time, reducing the contribution of early donors until recent arrivals catch up.