rchain / bounties

RChain Bounty Program
MIT License
90 stars 59 forks source link

Principled Rewards for Active Contributors #677

Closed allancto closed 6 years ago

allancto commented 6 years ago

Title Principled Rewards for Active Contributors

Purpose The RChain “bounty system” is a key component of what makes the RChain Cooperative a cooperative. This system allows members of the community to suggest issues and improvements, and provides a mechanism where Active Members may contribute and have their contributions recognized with “rewards”. In some cases it allows contributors to pay their rent and put food on their tables. In other cases it’s simply a way for members of Cooperative to show our respect and appreciation for the time and effort other members contribute.

A better title might be “Bounty System Governance, sprint 3”. The bounty system is a work in progress. The first sprint was led by our member who is a member of our board of directors, HJ. The second sprint is being led and finished up by our member Dan Connally, who introduced a “trust metric” and to improve resistance to attack and corruption. I’ve gone ahead and laid the groundwork for a third sprint, focusing on Principled Rewards, in order to help quantify requirements and contribution in a more transparent and principled manner.

Although the concept of a rewards system is straightforward, the practice of it is sometimes difficult. A key question is quantification: what reward is appropriate to a given contribution? What should a contributor ask for? How should we vote on rewards for others? What guidelines, what values? What quantitative valuation models do we have?

How long will it take us to develop a fair, responsive system of rewards? Probably a long time. Our effort will be “sprints”- incremental improvements in generally the right direction, which give users something tangible to try out and give feedback about, which moves us one step toward goals we may not be able to completely articulate except by this stepwise process. These questions are simple but the answers are not. It may take us weeks or years or even “forever” to get “right”. Along the way we may develop a deep set of shared values, cultural assets that may serve to guide ourselves and each other as we work toward our more general goals of transparency, fairness, and alignment of incentives with benefit to the community.

Benefits to the RChain Community All improvements to our process for receiving value and rewarding contribution brings huge benefit to all members of the Cooperative. On a larger scale, we the people of our own countries, through our governance structures, make decisions every day about how to invest the people’s money. When we as countries invest “wisely”- effective programs for infrastructure, education, social welfare- we the people flourish. When we invest “poorly”- corrupt administration, directions that are not relevant- we the people suffer.

Format This issue will require a “multidisciplinary” approach. We need to involve people involved in voting rewards now- the active members and particularly those highly ranked according the our “trust metric”. We need to involve our legal and compliance members. We need better technology for voting and in particular for recording the principled thought that goes into our decisions. We need to invite the participation of members and of the broader community to develop a system of values and ethics around how and why we recognize and reward contributions.

  1. Create a “Living repository” of guidelines and practice, which will grow over time as we address new cases and issues. Valuing innovation, reputation, substitutability, speed and reliability, expected or contextual hourly rates for similar work, geographic differences Valuing importance to the RChain community Jurisdictional compliance requirements Treatment of special cases such as prior authorization (setting rewards before work is complete) https://drive.google.com/open?id=1a-3FdvhKkemOqC7UeC47446GlLzR_ad3

  2. Design and implement an improved rewards/budgeting tool: improve the voting system by adding discussions of reward suggestions and analysis by proposers and reviewers, integrated directly with votes (improvement to the current voting tool). If possible, extract the history of previous vote discussions (currently embedded in issues). Consider analysis tools to extract summary information such as average rewards voted and so on. https://docs.google.com/document/d/1kl948BncE6iZzsJwYO78BMVfHu4sqyb0_-qhpQuL-pA

Time Frame and Measure of Completion Time frame: 2018/6/15 (for this “sprint”, as much as we can complete by then). Measure of completion: decide by 2018/5/21 what’s in this sprint.

Team and Suggested Reward Team TBD: Anyone who wants to participate please contact me. Suggested reward TBD. Since this issue is about principled rewards, we’ll have a chance to eat our own dogfood.

Please participate now by posting your viewpoint in the “My Views on the RChain Bounty System”. Suggested range of rewards for these viewpoints: 10-25 rhoc per contributor. Anyone may submit a viewpoint, but you must become an RChain Active Member to qualify for rewards. https://drive.google.com/open?id=1ntMZA7UzgJ5WZY4LlQZptBY-K7puAnlP Participate and become an active member: https://docs.google.com/document/d/1N2GagPOkxU_cBIXJFkXsvwU3jcZgPg4KMXsAbZdIk4U

Related issues, Demo’s and References PLEASE send me a summary of these and any other related issue or discussion since many are ongoing, so I may reference all of them. Thanks! https://github.com/rchain/bounties/issues/213 (“why Cooperative”?) https://github.com/rchain/bounties/issues/279 (certificate of membership) https://github.com/rchain/bounties/issues/471 (values and principles) https://github.com/rchain/bounties/issues/616 (Task Approval Committee) https://github.com/rchain/bounties/issues/672 (guides / peers) https://github.com/rchain/bounties/issues/375 (Trust metric) https://github.com/rchain/bounties/issues/370 ("Purpose & Principles") https://github.com/rchain/bounties/issues/254 (Identity and Privacy) https://github.com/rchain/bounties/issues/261 (slashing conditions) https://github.com/rchain/bounties/issues/306 (anomalies) https://github.com/rchain/bounties/issues/#284 (norms for rewards for comments) https://github.com/rchain/bounties/issues/#318 reward for results rather than effort) https://github.com/rchain/bounties/issues/491 (bounty voting usability) https://github.com/rchain/bounties/issues/660 (clickthrough agreement)

Previous rewards vote discussions: https://docs.google.com/document/d/1mjUtAQ2zppCSebtNT31r_13U8yoWMFfN31oyLc5eB3k/edit?usp=sharing

Existing voting app (requires Active Member login to vote) https://github.com/rchain/bounties/wiki/How-To-Use-the-Budget-Rewards-Web-App

Living Repository framework

-- \ Disclaimer \ All work and rewards are subject to member review and budgetary oversight. Participation is NOT a guarantee of reward. Quantification and recording of rewards to contributors follows a process which is under active development and subject to change without notice. Participation on and issue is NOT a guarantee of reward. Rewards are never guaranteed before completion and review, unless prior authorization is requested and granted.

The RChain Cooperative was formed for the purpose of creating and governing the RChain Platform https://www.rchain.coop/#join-us. Your active participation and contribution is encouraged. The “rhoc” erc20 token provides us with a ledger for recording active member contributions. The Cooperative does not sell or otherwise promote this token, except as follows: We are making our best efforts to launch the RChain platform, which will incorporate “rev”, the native utility token which will be used to purchase computing services on the platform. At the launch of the RChain platform we will make it possible to exchange existing rhoc recording tokens for rev utility tokens.

Legal \ Task Submitter shall not submit Tasks that will involve RHOC being transacted in any manner that (i) jeopardizes RHOC’s status as a software access token or other relevant and applicable description of the RHOC as an “asset”—not a security— or (2) violates, in any manner, applicable U.S. Securities laws.

casanwugo commented 6 years ago

@allancto,, many thumbs-up for this beautiful piece... But I think the date on "Time frame and measure of completion" is incorrect. Please have a relook on that and do the needful. Kudos!

jimscarver commented 6 years ago

Integrating comments can come later. the discussion of the issue is one click away so we need not reinvent the wheel. see my embryonic review app https://rhobot.glitch.me/

allancto commented 6 years ago

@casanwugo thanks for your correction, i edited to reflect this. @jimscarver that embryonic review app will be awesome, but what I'm referring to above is integrating comments and analysis into voting. The rationales a person has within a vote are an integral part of the vote. We do have examples where people have discussed rewards as comments within issues, that's good as well but not a substitute for "i'm slashing this because" or "this deserves a higher reward because".

casanwugo commented 6 years ago

@allancto... You welcome.

swanzer commented 6 years ago

Nice write up @allancto Well done. I appreciate the effort in trying to be clear and detailed. And I like the honest (and realism) of programs needing refinement over time. It doesn't matter the type of organization; making small improvements is necessary to stay current to the times. My first "pause" comes though about in the 2nd paragraph for I don't know why 'Sprint 1' needed replacement, and as it seems, this is also trying to do for 'Sprint 2.' I think what would be beneficial is to help explain the points of differentiation. ( I am too new to Github to link an example). A simple excel spreadsheet would suffice: Column A is attribute of the program, Columns B, C and D are each a 'Sprint' version and just layout the differences of the Attributes of each. It certainly doesn't have to be exactly this way; I think you get the idea... The other thing is I also wonder 'why throw the baby out with the bathwater?' Why does the entire 'Sprint' have to seemingly be scrapped for the next go-around? Why not list out the areas that need improvement and then work together on them? Especially if the Board approved 'Sprint 2' (as I understand), then why not work on making the small improvements to it? It seems that would be the way to make progress on something established. These are my initial thoughts. Thanks for listening.

jasoncruzzy commented 6 years ago

@allancto the work on sprint2 is great but just a slight adjustment to the already existing plan. Areas like the 'Budgetary reward' for task needs a new template to ensure transparency. I think that should be our prior area of focus.

azazime commented 6 years ago

I personally would like us to focus on this "Design and implement an improved rewards/budgeting tool: improve the voting system by adding discussions of reward suggestions and analysis by proposers and reviewers, integrated directly with votes (improvement to the current voting tool)" as it would help to synchronize the entire process

allancto commented 6 years ago

@swanzer yes, I apologize in advance for being inarticulate. "Sprint" refers to incremental work, incremental improvement in a code base. Here "sprint 1" refers to the initial rewards program and the tools developed to get it moving, implemented over a year ago and continuously used and improved. Right now we do not want to distract @dckc from the excellent and incredibly important and time critical work he and his team are doing ("sprint 2, #616). As they reach completion they're likely to join with us on this next round of improvements.

@swanzer let's invite @Jake-Gillberg , @pmoorman , @TrenchFloat to please keep an eye on this project as guides and keep us aware of the ongoing related work so that we can focus on the incremental improvements and be synchronizing with, not duplicating!

/cc @Jake-Gillberg , @TrenchFloat @pmoorman, @dckc

allancto commented 6 years ago

@jasoncruzzy would you participate on this issue and perhaps show in a doc or graphic design what your idea is for a template to ensure transparency might be? @azazime would like to collaborate @jasoncruzzy on that design? @AyAyRon_P will be interested as well if he's guiding UX work within this issue.

@jasoncruzzy, @azazime, @swanzer and @AyAyRon_P please keep track of your ongoing time and effort contributing here, there is currently no suggested budget (that's one of our first tasks!) and in any case there will be no guarantee of reward until the project is complete (or subtasks are complete?).

jasoncruzzy commented 6 years ago

Ok I will work on something

On May 11, 2018 18:39, "allancto" notifications@github.com wrote:

@jasoncruzzy https://github.com/jasoncruzzy would you participate on this issue and perhaps show in a doc or graphic design what your idea is for a template to ensure transparency might be? @azazime https://github.com/azazime would like to collaborate @jasoncruzzy https://github.com/jasoncruzzy on that design? @AyAyRon_P will be interested as well if he's guiding UX work within this issue.

@jasoncruzzy https://github.com/jasoncruzzy, @azazime https://github.com/azazime, @swanzer https://github.com/swanzer and @AyAyRon_P please keep track of your ongoing time and effort contributing here, there is currently no suggested budget (that's one of our first tasks!) and in any case there will be no guarantee of reward until the project is complete (or subtasks are complete?).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rchain/bounties/issues/677#issuecomment-388433946, or mute the thread https://github.com/notifications/unsubscribe-auth/AjuJeaGaoaKqmvTnwDWgXSYcFHl5tyasks5txczGgaJpZM4T4sel .

pmoorman commented 6 years ago

@allancto I'm confused what specifically we're actually trying to achieve with this issue. Could you describe in 1 sentence what the goal / purpose is of this issue? What tangible thing will come out of this issue?

allancto commented 6 years ago

@pmoorman good question, one sentence: Align bounty system rewards with value received by our Cooperative. Two sentence: make rewards, value, and progress on issues transparent. Three sentence: provide the technological (and cultural) infrastructure to make all of this participatory for Cooperative members.

We're not going to perfect those goals in one day or one sprint. We ARE going to make incremental progress.

tigermumu commented 6 years ago

@allancto I am 刘国威 in Discord. My suggestion is here.

Suggestion

I looked at some of you thinking about improving the current contribution mechanism. Actually, it's roughly the same as my idea.

In brief, Before: all the contributors publish Issue and get rewards by theirselves. Now: The contributors publish the issue and approved by the organization, Then votes and rewards need via some people with weight factor. Therefore, I will not introduce more about the whole idea. Just suggest some other ideas for your reference.

  1. Set up regional a assistant according to language area. The main responsibilities are: (1). Responsible for the reviewing issue by local contributors, and feedback to the head of the board. (2). As the part time contributors in the region can't get the rewards normally, they can help the contributors to get the rewards smoothly. (3). Lead and organize local contributors' community building and promotion activities.

The reason is that: (1). At the present stage, when the contribution mechanism is not mature, contributors often cannot receive rewards after work. Most of the contributors are part-time to contribution, so they don't have much time to familiar with and understand the complex and changing mechanisms of contribution. (2). Due to language barriers, the head of board cannot review several community projects in different languages. (3). The head of board does not have much time to deal with all community affairs. It is necessary to find some enthusiastic and responsible fans as assistant to help deal with the work of different language communities.

2.Contribution evaluation In fact, community contributions basically divided into two categories: marketing and technology development. I am not a developer, so I do not mention this issue. Mainly speaking of marketing. In fact, the missionary work is essentially to let more people understand and accept Rchain, participate in its evangelize and development, and help it achieve its final vision. So, popularity is an indicator that can be used to consider marketing and evangelize. And popularity can be reflected by the results of Google. In other words, when evaluation the work of regional assistant, you can check the number of Rchain entries in the Google or community questionnaire.

That all.

dckc commented 6 years ago

@allancto writes:

Align bounty system rewards with value received by our Cooperative. ...

I don't see how that's specific. It looks much closer to the "solve world hunger" side of things than "make a sandwich for Bob." (cf. Feb 2 discussion of scoping issues )

allancto commented 6 years ago

@dckc I can see why you may say the "Align bounty system rewards with value receive by our Cooperative" might be closer to "solving world hunger" than "make a sandwich for Bob". Still, I think we should be taking steps, even baby steps, to create a principled way of assessing rewards and value. You in your own suggested rewards usually do this, you talk about value to the Cooperative and you talk about the quantity of time you need to spend. Your approach is good, modulo dependencies on hourly rate, honest reporting, and estimate of value we may all agree on. Your personal approach is indeed principled: can we extrapolate it to norms for the bounty program overall?

dckc commented 6 years ago

can we extrapolate it to norms for the bounty program overall?

Yes, and we have done so to my satisfaction in #370 which ended up in README etc. If that's the goal here, I recommend closing this as duplicate.

allancto commented 6 years ago

I am marking this issue spoke with @dckc about this issue and I am closing it for now, with intention to reopen, with the "wontfix" rubric explained to me by @dckc :

needs-SMART-objective is a way to "suspend" something. closed as wontfix is a way to say "we might come back to this later"

The guide + trust metric system is pretty much functioning now and we should get more experience with it before forging forward again. Plenty of improvement is already here. lets see what's working well and what our priorities for improvement will be, before trying to take it to the next level. Let's close this for now and reconsider later.