I have thought about the future of Peer4commit and I have some major evolutions to propose.
1. Give control to the fundraiser
Tip4commit had a great feature: the project maintainers were not involved at all. They did not have anything to do for contributors to receive tips. The problem was having a fixed tip for any commit was not fair because the “value” of a commit can vary a lot. So we added control on the tip amount, but then we involved the project maintainers.
Giving them this responsibility is giving them a burden. They are already giving their time and we ask them to do more. And the task we give them is very difficult: rewarding people financially according to the (very subjective) value of their contribution. They may have to face anger if some people think the funds are not distributed fairly. And they become a target for thieves. Not many project maintainer will want that.
But there are people who would like to handle all that. So instead of giving control of the funds to the project maintainer I suggest we give it to the person who starts the funding project.
To do that we must give people a way to decide whether they can trust this particular fundraiser.
So when they start a project they will have to explain how they will use the funds and why you can trust them.
We will also make all their fund management history publicly available: what projects they have managed and how they distributed funds. There will be public comments on each project and fund distribution. We may also have a reputation system.
Anyone can create a funding project. So there may be multiple fundraisings for the same underlying project with different fundraisers and different rules.
So fundraisers will compete on trust.
Fundraisers may also take a fee for their work. They will have the responsability of promoting their campaign. They will compete on all that too.
And project maintainers can still be fundraiser for their own project if they want to.
2. Handle any kind of project
Fundraisers will be able to manage funds for any kind of project, not only programming related projects.
We will keep the “tip for commit” feature but it will just be one of the tools available to distribute the funds.
The fundraiser will have other tools like:
- sending coins directly to a Peercoin address (with a comment that gives observers a way to verify who owns it),
- sending to an email address (we will ask the recipient for a Peercoin address),
- sending to a github user,
- etc.
Fundraisers will be able to set the amount in USD or EUR. This amount will be converted to a Peercoin amount at current rate.
There will also be tools to distribute funds to multiple contributors at once. For example you decide to send a specific amount and give 60% to the github account who wrote the code, 20% to the person who suggested the idea, 5% to someone who tested and reported an important issue, 5% to the person who started the project and made all this possible, 1% to the fundraiser and the remaining part distributed evenly to a list of other people who made small contributions.
So any kind of project and fund management will be possible. For example:
- bounties (a global bounty for the whole project or many smaller bouties),
- kickstarter like (if the target amount is reached the project is funded otherwise the funds are returned),
- per commit,
- per issue (solved or not),
- fund raising on a specific part of a project,
- etc.
You can make almost anything happen as long as you can convince enough people to fund it and someone is willing to do it.
3. Shared control over the funds
Storing all the funds at the same place is dangerous. I moved some Peer4commit funds to cold storage but this is not ideal either.
We cannot give the funds directly to the fundraiser because distribution would lack in transparency.
So the funds will be sent to a multi signature address:
- 1 key will be owned by the website,
- 1 key will be owned by the fundraiser and
- 1 key will be owned by the supporter (if he wants to).
And 2 keys will be required to use the funds.
To distribute coins the fundraiser will use the website and fill some forms. The website will generate a transaction and ask the fundraiser to provide a signature for it. Then the website will sign the transaction too and propagate it.
So if the website is hacked the funds can’t be stolen. And the fundraiser cannot spend the funds outside the website.
Also if a fundraiser is clearly misbehaving the website and the supporter can decide to return the funds. If the website itself is misbehaving (a very bad policy change, abandoned, hacked…) the fundraiser and the supporter can decide to move the funds elsewhere.
4. Multiple currencies
Along with enlarging the perimeter of supported projects, it would be nice to accept other currencies. Maybe only Bitcoin at first.
The fundraiser would have to choose the currency for each project and all donations and distributions will be made in this currency.
We may enable multi-currency projects if we have a reliable tool to make immediate currency conversions when funds are received or sent.
5. Rebranding
These major changes would benefit from a complete rebranding: a new visual identity and probably a new name.
Funding
All these changes require a lot of work.
Donations on Peer4commit may be sufficient to make this happen.
But I’d like to propose another way that may encourage donations: providing a potential financial return to the supporters.
Here’s how it would work:
I’d start a new Peershares implementation for Peer4commit and sell shares.
The peercoins I get from these sales would be added to the Peer4commit funds to work on the changes I described above.
Then on a regular basis I’d distribute as dividends 50% of the 1% fee the website collects. The other 50% would still be used on operational costs.
Feedback
What do you think about all this?