Can Somebody Write up a More Descriptive Sticky Thread for Peer4Commit?

I wanted to replace the current Peer4Commit sticky thread on Reddit with something more in depth and descriptive. I already have a new thread title that will help draw in more donations and developer interest. What I need is the body for the thread. I need somebody that knows more about it to write it up. We basically need something that describes what Peer4Commit is, link to it and then answer some common questions that might be asked by newbies, donators or developers about how it works. Can somebody here try writing up the body text and then I’ll post it on Reddit and have it stickied?

By the way, the thread title I chose is self explanatory. It should help drive more traffic to the website…

Peer4Commit.com: (Donate to Peercoin Projects - Developers Earn Tips)

Hi Sentinelrv,

I have made a few PPC contributions to Peer4Commit projects but I don’t really understand the details of how it works yet, so, not just for devs, I hope someone can clearly and simply explain Peer4Commit to less knowledgeable contributors too.

Thank you for your very valuable contributions,

NewMoneyEra

Ok here’s how it works:

Each time someone adds changes to the source code of a supported project, he receives 1% of the project balance.

A set of changes is called a “commit”. Here’s an example for Peercoin v0.4 changes: https://github.com/ppcoin/ppcoin/commit/5941effd0085dd26ce9b793ec09dcaffae8e5678
We use the email address included in the commit to identify the author and notify him.

To receive the tip, the author must follow the link in the email he received and set his Peercoin address. If he doesn’t do that within 1 month, the tip goes back to the project balance.

To donate for a project, just send Peercoins to the address displayed on a supported project page. Here’s Peercoin’s project page for example: http://peer4commit.com/projects/19.
You can see all supported projects here: http://peer4commit.com/projects
If the project is not supported yet, just copy/paste its GitHub URL (for example https://github.com/ppcoin/ppcoin) into the input box above the list.
99% of your donation will be given as tips. 1% will be kept to host the website.

So how do you get a tip?
If you already have write access to the project, just push your commits to the default branch of the project as usual.
Otherwise you’ll have to fork the project (i.e. start your own project based on the supported project), make some changes and create a pull request to propose your changes. If your pull request is accepted (“merged”), you’ll receive one tip per commit.
If the changes are simple enough, you can do them in your browser by editing the files on GitHub.
Otherwise you’ll have use git to clone your fork, make some changes, commit them and push the commits to GitHub. You can find a lot of information about that on GitHub help and on the web.

The commit may not be the best item to identify the value of a contribution. But it’s a very convenient way to identify contributors and send them donation. And the maintainer of the project doesn’t have to do anything. Supporters can add a project and start donating without any extra work on the project side (except setting their address if they want the tips).
A commit can include very important changes that took a very long time to build (like the 0.4 changes) or a very small change like adding a coma. But they tend to balance: for example Sunny King made a small commit to change the version numbers after the big 0.4 one.
There’s currently no way to make the tip bigger or smaller, but we’re working on that. In the meantime, project owners should not merge insignificant commits. They may also ask authors to merge very simple changes into a single commit.

[hr]

Feel free to rephrase anything, English is not my native language. Also if you think anything is unclear or missing, just tell me and I’ll fix that.

Thanks for your input to the more descriptive sticky. I have a few questions I would like to see answered for the community.

Can anyone add a project to peer4commit even if you are not the project maintainer? If so, is there a way to manage this?
Some project maintainers might not be appreciative of donations. E.g. I suspect Sunnyking has not been very happy about receiving some donated money for his changes given his earlier stance not wanting to receive donations.

Looking forward to your functionality where the project maintainer can actually adjust the tip in categories. In that case it will be important that the project maintainer knows about that and that they advertise the criteria when they adjust the tip. Is that something which can be displayed on the peer4commit site, either directly or a link to a github txt file?

I guess getting write access to the ‘Master’ of a project involves that the project maintainer provides access to you in Github This type of access would only be given to people trusted by the maintainer. As sigmike suggested having your own fork and then proposing the commits to Gihub. Still project maintainers can refuse your commits for several reasons. It is is important to read the ‘charter’ of the project which usually provides guidance which commits and under what rules they would be accepted. e.g. there are very strict rules for contributing to the official ppcoin/ppcoin project. If you think about having a community edition of the wallet you would make your own fork and invite other to contribute to your fork, which will basically be the master for the community edition.

Hope this provides some further guidance and content for the sticky. Feel free to edit the wording as I also have English as my second language.

@sigmike, I really appreciate your efforts towards peer4commit and I think it perfectly suits the needs of this community given that we don’t have (and want) a centralised foundation. As I have posted in another thread the next step is to get other non-development work done in a similar structure.

Edit: also found some useful discussion here: http://www.peercointalk.org/index.php?topic=2506.0;topicseen

Yes.

[quote=“Cybnate, post:4, topic:2068”]If so, is there a way to manage this?
Some project maintainers might not be appreciative of donations. E.g. I suspect Sunnyking has not been very happy about receiving some donated money for his changes given his earlier stance not wanting to receive donations.[/quote]

They receive only 1 email on the first tip they get. It’s mentioned that if they don’t enter a peercoin address, the tips will be returned to the project.
They also have a link to request not being notified anymore.
I think this is not too invasive and even if they don’t want the tip they get informed that other contributors will get tips. I think most of them will appreciate that, whether they want the tips or not.

Yes. It’s probably better to put that on the repository itself because it may affect other “somecoin4commit” websites, like tip4commit.
We’ll have to wait for a working implementation though.

Yes, having write access is not very common. The ability to fork a send pull request easily made this less necessary.

Yes. A good way to ensure the maintainer is willing to merge your changes is to first create an issue explaining what you’re going to do and ask if they would merge a pull request. And to wait for an answer before starting.

What thread is that? I don’t remember seeing that.

I have a pretty good imagination, but I have to say, it is hard for me to imagine that English is not your native language!

SigMike, you have been gifted with an exceptional brain. I’m glad you are putting it to good use.

Super Congratulations on your Peer4Commit!!!

Since what? a month? – The top five projects now have near 25,000 Peercoin donated!

Thanks for your responses. Getting all of the pieces together. Great.

BTW This is the thread I was referring to: http://www.peercointalk.org/index.php?topic=2508.msg21096#msg21096.
Your next project? I’m looking at project mgmt software but also at crowd-sourcing software. Feel free to contribute in that thread.

@sigmike Given the fast rising donations I feel obliged to ask some questions around the security of the wallets on peer4commit.com and the website itself. I think we need some transparency towards the donors and the community. I would be the last one wanting to see an article published that tens of thousands PPC have been stolen or are inaccessible.

Here are my questions:

  1. Are all these funds spread amongst multiple wallets? E.g. each project its own wallet or is it being consolidated in a single wallet? If so, could you publish the wallet addresses so we can see the funds?
  2. Are all wallets hot wallets or has some funds been transferred into paper wallets for security?
  3. Is the website safely hosted at the moment given the amount of funds?
  4. In case you find yourself accidentally in the way of a truck or other difficult to negotiate mass, who else has access to the wallet(s) beyond yourself?

Thanks for your response and I’m pretty sure the donors would be thankful.

It’s stored in a single wallet (as in a single wallet.dat file).
Each project has its own “account” in this wallet. The addresses are the ones displayed on the website.
Unfortunately peercoin (like bitcoin) may not use the same address when coins are sent. So if you take the total amount of all the project addresses, you should get the total balance of the projects. But an individual address balance may not be equal to the project balance.

It’s all in hot wallet. It will require some changes in the code to handle cold storage of some funds. Considering the amounts, I think that’s the next task I’ll be working on.

I think so. It’s running inside an isolated VPS which runs only this website. I keep the operating system up to date with the minimum packages installed and services running.
I also manage the physical server running the VPS.

Two trusted people also have access to the server. They are not involved in cryptocurrencies.

I’m willing to change that though.
Maybe a multi-sig cold wallet handled by trusted people in the community would work?

Thanks for you answers again. Much appreciated. Hope this provides the confidence to donators and others that this is in good hands and that we are working to make it even better.

Regarding 4. Assuming you are careful out there, I think this risk is relatively minor and already mitigated by you in some way. Multi sig would be nice I think, but leave that to you what you think works best for you. Don’t want make things too difficult.

Alright, here is the sticky I will put on Reddit and PeercoinTalk. Sigmike, I’d like to add one more thing about security, but I’m unsure if anything has changed in that area since you last posted in this thread. Can you please provide a section for this? Just answer the following question, which will be added in when I post it. “What Measures Have Been Taken to Secure the Funds on Peer4Commit?” Also, do you think what I have here already is good? Should anything else be added?

What is Peer4Commit?
With http://peer4commit.com/ you can add projects from GitHub and donate Peercoins to the ones that interest you the most. Anyone that submits code changes and has them accepted will receive Peercoin tips. This helps in providing an incentive for developers to work on important projects that will benefit Peercoin in the future. Peer4commit was created by Sigmike.

What is a Commit?
Each time someone adds changes to the source code of a supported project, he receives 1% of the project balance. A set of changes is called a “commit”. Here is an example commit for Peercoin v0.4: https://github.com/ppcoin/ppcoin/commit/5941effd0085dd26ce9b793ec09dcaffae8e5678

How do I Receive a Tip for my Commit?
We use the email address included in the commit to identify the author and notify him. To receive the tip, the author must follow the link in the email he received and set his Peercoin address. If he doesn’t do that within 1 month, the tip goes back to the project balance.

How do I Donate to a Project I Like?
You can see all supported projects here: http://peer4commit.com/projects. To donate to a specific project, open up the page for that project and just send Peercoins to the address that is displayed. For an example, check out Peercoin’s main project page: http://peer4commit.com/projects/19. If the project you want to donate to is not supported yet, go to the supported projects page and just copy/paste its GitHub URL (For example: https://github.com/ppcoin/ppcoin) into the input box above the list. Anyone can add a project to Peer4commit, even if you are not the project maintainer. 99% of your donation will be given as tips. 1% will be kept to host the website.

How do I Push my Commits?
Getting write access to the “Master” of a project involves that the project maintainer provides access to you in Github. This type of access would only be given to people trusted by the maintainer. If you already have write access to the project, just push your commits to the default branch of the project as usual. Otherwise, you’ll have to fork the project (i.e. Start your own project based on the supported project), make some changes and create a pull request to propose your changes. If your pull request is accepted (Merged), you’ll receive one tip per commit. If the changes are simple enough, you can do them in your browser by editing the files on GitHub. Otherwise, you’ll have to use Git to clone your fork, make some changes, commit them and push the commits to GitHub. You can find a lot of information about that on GitHub help and on the web.

Make Sure You Read the Project Charter & Rules Before Starting:
Project maintainers can refuse your commits for several reasons. It is important to read the “Charter” of the project, which usually provides guidance on which commits and under what rules they would be accepted. For example, there are very strict rules for contributing to the official ppcoin/ppcoin project. A good way to ensure the maintainer is willing to merge your changes is to first create an issue explaining what you’re going to do and ask if they would merge a pull request. Wait for an answer before starting.

Can Project Owners Change the Amount Donated to Each Commit?
Yes, they have a new button “Change project settings” on the project page along the project name. In this screen they can change 2 things (for now):

  • A text describing their tipping policies that will be displayed on the project page on peer4commit.
  • A checkbox that will put all new tips on hold when commits are found.

When the checkbox is active, each new commit generates an “Undecided” tip and the authors are not notified. The project owners can then click on a new button on the project page to decide the tip amounts. They have these choices:

  • Leave undecided (To decide later)
  • Free (The commit won’t get any tip and the author won’t be notified)
  • Tiny: 0.1% of the project balance.
  • Small: 0.5% of the project balance.
  • Normal: 1%
  • Big: 2%
  • Huge: 5%

The authors are notified when the tip amount is decided (Unless they have recently been notified already, or if they said they don’t want any more notification, or if they have configured their Peercoin address). The 2 buttons are only available to project collaborators (Those who can push changes to the supported repository). There should be more options in the future. Your ideas are welcome.

Conclusion:
The commit may not be the best item to identify the value of a contribution, but it’s a very convenient way to identify contributors and send them donations. The maintainer of the project doesn’t even have to do anything. Supporters can add a project from GitHub and start donating without any extra work on the project side (Except setting their address if they want the tips). A commit can include very important changes that took a very long time to build (Like the v0.4 changes) or a very small change like adding a comma.

Contact:
If you have any questions, either post them in this thread, message Sigmike on PeercoinTalk.org: http://www.peercointalk.org/index.php?action=profile;u=30141 or on Reddit: http://www.reddit.com/user/sigmike.

References:
Fork: https://help.github.com/articles/fork-a-repo
Pull Request: https://help.github.com/articles/using-pull-requests
Git: https://help.github.com/articles/set-up-git
Github Help: https://help.github.com/

I’d like to get this up today if possible Sigmike. All I need is a look over to tell me it’s good and maybe you could write the security section.

The project funds are isolated in different accounts in the wallet. So if someone ever finds a way to get more tips than the project balance, Peercoin will not take the funds from another projects and will refuse the transaction.
Projects with a high balance have a part of the funds moved to cold storage. This is still a manual operation but it will be automated.
And the website runs in an isolated virtual server running only this service.

It was not really created by be. Some people made tip4commit and I adapted it to Peercoin and added some features. And I host and maintain it.

I don’t know who exactly was involved at the beginning but arsenische and alexandrz seem to be the initial developers.

Actually this 1% also pays the transaction fees.

There’s now a section on peer4commit.com where project collaborators can explain this charter. I called this section “Tipping policies”.
We should probably use the same vocabulary here. What fits best? “Charter” or “Tipping policies”?

Or open an issue on GitHub: Issues · sigmike/peer4commit · GitHub

It looks good to me. Thank you for doing that.

Ok, I made some changes based on your feedback. How is this?

What is Peer4Commit?
With http://peer4commit.com/ you can add projects from GitHub and donate Peercoins to the ones that interest you the most. Anyone that submits code changes and has them accepted will receive Peercoin tips. This helps in providing an incentive for developers to work on important projects that will benefit Peercoin in the future. Peer4commit was adapted by Sigmike from Tip4commit.

What is a Commit?
Each time someone adds changes to the source code of a supported project, he receives 1% of the project balance. A set of changes is called a “commit”. Here is an example commit for Peercoin v0.4: https://github.com/ppcoin/ppcoin/commit/5941effd0085dd26ce9b793ec09dcaffae8e5678

How do I Receive a Tip for my Commit?
We use the email address included in the commit to identify the author and notify him. To receive the tip, the author must follow the link in the email he received and set his Peercoin address. If he doesn’t do that within 1 month, the tip goes back to the project balance.

How do I Donate to a Project I Like?
You can see all supported projects here: http://peer4commit.com/projects. To donate to a specific project, open up the page for that project and just send Peercoins to the address that is displayed. For an example, check out Peercoin’s main project page: http://peer4commit.com/projects/19. If the project you want to donate to is not supported yet, go to the supported projects page and just copy/paste its GitHub URL (For example: https://github.com/ppcoin/ppcoin) into the input box above the list. Anyone can add a project to Peer4commit, even if you are not the project maintainer. 99% of your donation will be given as tips. 1% will be kept to host the website and pay the transaction fees.

How do I Push my Commits?
Getting write access to the “Master” of a project involves that the project maintainer provides access to you in Github. This type of access would only be given to people trusted by the maintainer. If you already have write access to the project, just push your commits to the default branch of the project as usual. Otherwise, you’ll have to fork the project (i.e. Start your own project based on the supported project), make some changes and create a pull request to propose your changes. If your pull request is accepted (Merged), you’ll receive one tip per commit. If the changes are simple enough, you can do them in your browser by editing the files on GitHub. Otherwise, you’ll have to use Git to clone your fork, make some changes, commit them and push the commits to GitHub. You can find a lot of information about that on GitHub help and on the web.

Make Sure You Read the Project Charter & Tipping Policies Before Starting:
Project maintainers can refuse your commits for several reasons. It is important to read the “Charter” of the project on its GitHub page, which usually provides guidance on which commits and under what rules they would be accepted. For example, there are very strict rules for contributing to the official ppcoin/ppcoin project. A good way to ensure the maintainer is willing to merge your changes is to first create an issue explaining what you’re going to do and ask if they would merge a pull request. Wait for an answer before starting. The project owner can also edit the Tipping Policies section on their Peer4commit project page to include more information on what kind of commits will be tipped. So it’s important to read both the project charter on GitHub and the tipping policies that are listed on Peer4commit.

Can Project Owners Change the Amount Donated to Each Commit?
Yes, they have a new button “Change project settings” on the project page along the project name. In this screen they can change 2 things (for now):

  • A text describing their tipping policies that will be displayed on the project page on peer4commit.
  • A checkbox that will put all new tips on hold when commits are found.

When the checkbox is active, each new commit generates an “Undecided” tip and the authors are not notified. The project owners can then click on a new button on the project page to decide the tip amounts. They have these choices:

  • Leave undecided (To decide later)
  • Free (The commit won’t get any tip and the author won’t be notified)
  • Tiny: 0.1% of the project balance.
  • Small: 0.5% of the project balance.
  • Normal: 1%
  • Big: 2%
  • Huge: 5%

The authors are notified when the tip amount is decided (Unless they have recently been notified already, or if they said they don’t want any more notification, or if they have configured their Peercoin address). The 2 buttons are only available to project collaborators (Those who can push changes to the supported repository). There should be more options in the future. Your ideas are welcome.

What Measures Have Been Taken to Secure the Funds on Peer4Commit?
The project funds are isolated in different accounts in the wallet, so if someone ever finds a way to get more tips than the project balance, Peercoin will not take the funds from another project and will refuse the transaction. Projects with a high balance have a part of its funds moved to cold storage. This is still a manual operation, but will soon be automated. The website runs in an isolated virtual server running only this service.

Conclusion:
The commit may not be the best item to identify the value of a contribution, but it’s a very convenient way to identify contributors and send them donations. The maintainer of the project doesn’t even have to do anything. Supporters can add a project from GitHub and start donating without any extra work on the project side (Except setting their address if they want the tips). A commit can include very important changes that took a very long time to build (Like the v0.4 changes) or a very small change like adding a comma.

Contact:
If you have any questions, either post them in this thread, message Sigmike on PeercoinTalk.org: http://www.peercointalk.org/index.php?action=profile;u=30141 on Reddit: http://www.reddit.com/user/sigmike or open an issue on GitHub: https://github.com/sigmike/peer4commit/issues.

References:
Fork: https://help.github.com/articles/fork-a-repo
Pull Request: https://help.github.com/articles/using-pull-requests
Git: https://help.github.com/articles/set-up-git
Github Help: https://help.github.com/

Looks good to me.

Thanks Sentinelrv, this will be a great sticky. Maybe it can also be posted on Ben’s Peercoin wiki?
Will save some work in the future explaining to people what it is and how it works.

I’ll add it to peer4commit.

Or rather, I’ll prepare the page and let Sentinelrv put the text himself and get a tip for that (if he wants to).

[quote=“sigmike, post:17, topic:2068”]I’ll add it to peer4commit.

Or rather, I’ll prepare the page and let Sentinelrv put the text himself and get a tip for that (if he wants to).[/quote]

If it’s easy, just tell me what to do. I’ve never really used GitHub before, so a lot of it is greek to me.

I just added stickies to the Bounties board and Development Discussion. Cybnate, I don’t know anything about wikis. Somebody else would have to put it on there for me.

Great, might have a look at it over the weekend. Will check with Ben whether that is appropriate in the wiki. Maybe the wiki is more about Peercoin itself.