Coordinating Bounty System Improvements

As discussed in our recent [recommendations post], one of the areas that we believe could provide a lot of value to the Rocket Pool DAOs is improvements and more adoption of the bounty system.

This post includes:

  • A summary of why this is valuable for the Rocket Pool DAOs.
  • Suggested improvements to the Bounty System.
  • Areas to which the community can contribute.

The goal of this post is to find other community members who are willing and able to contribute to this initiative. I will put together a retro at the end of the process to cover work done under the initiative.

Why Bounties?

Bounties represent a balanced working structure for both the DAO and individual contributors.

Grants involve a lot of risk for the DAO, both in subject and execution. The DAO doesn’t control what grant proposals it receives, and payment is pre-agreed based on definitions and outcomes provided by the grantee.

Retros, on the other hand, involve a lot of risk for contributors. A contributor can never be sure the DAO will recognize what they have done as valuable, and pay them fairly for their work.

Bounties split the difference here, and provide benefits to all parties.

  • The DAO can approve work separately from the worker.
  • Criteria for payment are not produced by the worker.
  • Bounty hunters do not need to make proposals, they can focus on working.
  • DAO can better track future expenses.

What to improve?

We can make bounties more accessible

More...

Currently, the bounties are defined as answers to the GMC bounty template questions. This template is serving two audiences:

  • The GMC needs to understand if this bounty is worth funding.
  • The bounty hunter needs to understand if this bounty is worth their time.

The template should continue to serve GMC members, but a separate item should be produced that better serves the potential bounty hunter.

There are lots of other quality-of-life improvements we can investigate to further aid the discovery process for potential bounty hunters.

We can better incentivize bounty proposals

More...

Writing a good bounty proposal is not a trivial task, especially for larger amounts. This is a kind of coordination work, and it is work the DAO should incentivize.

The current incentives defined by Valdorff’s [bounty for creating bounties] (aka the bounty bounty) has a few areas for improvement.

  1. The payout is too uncertain. It is only given to the proposer when and if the bounty is completed.
  2. The payout is too limited in scope. It only applies to bounties above 100 RPL of value.
  3. The payout is too small. It’s only 3 RPL for a job that requires several hours of work and a strong understanding of Rocket Pool.

We can make bounties can drive engagement

More...

Bounties offer a unique feedback loop that retros and grants don’t have. This feedback loop can help drive engagement with the Rocket Pool DAO and increase the overall effectiveness of the DAO in achieving its goals.

The unique loop for bounties looks like this:

  1. Community member sees something they want to improve.
  2. Community member writes a bounty proposal.
  3. GMC accepts bounty proposal.
  4. Bounty hunter completes proposal.
  5. Proposer, GMC, and Bounty Hunter have together achieved something.
  6. The proposer’s work and effort is vindicated.
  7. Community members observe this and are more likely to move from #1 to #2.

Every time a bounty proposer’s bounty is completed, this shows everyone in the DAO that they can make a positive change happen, with just a fraction of the commitment in time and effort needed to contribute directly.

How to contribute?

Bounty Board

More...

I’ve started putting together a bounty board site. There’s a public repository [here] and you can see it live [here]. This is intended to solve the bounty-accessibility problem.

Any of the following would be useful:

  • Clarifying requirements (what would you need to see here to pick up bounty work?)
  • Pull Requests (requires a knowledge of basic front-end web development: HTML, CSS, etc.)
  • Feedback and suggestions.

Please comment on the thread if you’re interested in any of these. I’m happy to help you get set up with development environments or walk you through thought processes and current goals.

Bounty RPIP

More...

The Bounty RPIP will describe some of the improvements to incentives, and changes to templates, and will include a set of best-practice bounty submission tips.

The goals here are to cover:

  • Financial incentives for bounty proposals that the GMC accepts.
  • Financial incentives for bounty proposals that are later completed.
  • Further short-duration financial incentives for bounty proposals to quickly bump up the number of bounties.
  • Some required template items for bounty proposals.
  • Guidelines for how to write good bounty proposals.

A stretch goal here is to incentivize the proposer to engage with the bounty hunter during the work process. Both to answer queries and to help ensure requirements are being met for the bounty payout.

Any of the following would be useful:

  • Brainstorm / discussion of how to structure bounty incentives.
  • Brainstorming best-practice bounty proposal guidelines.
  • Contributing to the draft of the RPIP.
  • Review and feedback.

Write More Bounties

More...

Writing additional bounties should wait until a little later on in the process. Some dependencies here are:

  • The GMC updating the current bounty template per recommendations.
  • The Bounty RPIP in a finalized state, with the expectation that it will pass governance.

With that in mind though, there is prep work you can do now, we will need more bounties! We will want to provide a lot of choices up-front for bounty hunters alongside the ongoing commitment to the system.

Useful contributions at this point:

  • Think about areas you would improve in Rocket Pool.
  • Consider what someone making this improvement would need to know.
  • Draft a rough idea of what you might propose as a bounty.

Adopt the System

More...

This is the only item here that I flat out cannot do without all of your help. Ultimately, this initiative will be unsuccessful if there isn’t at least a base level of buy-in.

We will need to encourage consistent use of this system. We need to observe it in action, iterate where required, and make it work for all parties as frictionlessly as possible.

If you’re a trusted member of the Rocket Pool community, and you think this is a worthwhile initiative, please engage in some form! Even if it’s just a short comment, a message of support, a couple of words of feedback, etc.


To reiterate the above, I would love to work with some of you all to pursue this! Even if you’ve not engaged with the Rocket Pool DAOs in a serious way before, I’d encourage you to reach out on this thread if any of this sounds interesting to you.

Thanks for reading!

7 Likes

This initiative shows great promise.

I am prepared to contribute to improving the design and structure through PRs.

Bounties, have faced challenges in gaining momentum relative to grants and retrospective awards. At present, Valdorff stands out as the primary proposer and contributor. However, enhancing the user experience (UX) and fortifying the framework of the system could attract a broader array of participants. In an ideal scenario, an effective bounty system could serve as a vital link between the protocol and the GMC, facilitating the communication of updated insights into the community’s expectations and goals.

3 Likes

It’s been a month since I posted this, so I wanted to give a brief update of progress and future plans. Work over the last month has been almost exclusively on functionality of the [Bounty Portal].

Implemented over the last month

Pulling source files for bounties from a [GMC managed repository]

  • This lets the GMC freely author and modify bounty definitions.
  • This makes the portal frontend forkable without duplicating data.
  • This means other frontends can reference the same generic data from the GMC repository.

Filters, Search, and Sort

  • Functionality for the GMC to tag bounties with their current status, required skillset, and with other general tags. Bounties can then be filtered via these tags on the frontend.
  • Title and description matching for search.
  • Sort by date or bounty amount (translated to USD) either ascending or descending.
  • Filters and sort are persisted to the URL, such that the portal can be shared with specific filters active.

Activity + Countdowns

  • Displays the time since the last bounty was added to the GMC’s repo.
  • Displays countdowns for the next bounty-relevant actions taken by the GMC. Including: The next GMC results, the next GMC payout, and the next cutoff for bounty submissions.
  • Dates are also loaded from the GMC repo, so that the administrator can add and update upcoming dates as needed.

Bounty Documentation

  • Page including a rough [bounty FAQ] that I wrote with some input from the GMC. Is also pulled from the GMC repo so that the GMC can update it as needed.
  • Page including a list of useful general [bounty resources]. Again pulled from the GMC repo, so it can be updated as needed.

Forum RSS Integration (experimental)

  • Pulls bounty-relevant forum posts using the built in discourse RSS feeds to show links to the relevant post for the [latest GMC rounds].
  • Not exactly sure the best way to use this yet. Perhaps some sort of (non-intrusive) popup / highlight that appears only when there has been activity in the last few days.
  • Also fairly fragile, as its parsing threads based on their titles. In an ideal world, we’d have discourse tags that the GMC administrator could apply to relevant threads to make this more robust.

Future Work

(Likely this will all happen early in the new year, as I’ll be going afk for the holidays starting next week)

Styling

  • @ShfRyn has indicated an interest in helping with this, and I’ll likely do parts of it as well.
  • Generally just working to make the portal actually look good in addition to being functional.

Additional Functionality

  • Adding other needed functionality based on feedback and usage once we have more bounties.
  • I’m imagining we may need some sort of ‘register interest’ system to avoid overlap of work on the same bounty by different individuals, but I’m unsure how to build this into the frontend.

Bounty Processes + RPIP

  • As indicated in the initial thread, I think there is some work to do on the actual processes involved in bounty proposal, creation and adoption by the GMC.
  • Likely will be formatted as an RPIP containing guidance for bounty proposals, and general maintenance stuff for the GMC.

Want to Contribute?

  • Feedback on any of the above would be great.
  • Input into changes / requirements for the bounty process would be great. It would be especially useful to hear from those that have interacted with bounties in the past. I think this is @harpocryptes, @ramana, @Valdorff, @Patches, @knoshua and @NonFungibleYokem? (going from the records in RPIP-29.)
  • You all know better than me all the non-meta things that need doing. Please consider proposing new bounties in the upcoming rounds. I’m happy to review any proposals in advance with the goal of getting them to fit more naturally with the portal.
1 Like

Providing a general update here on progress since the last post.

Work in progress portal can be found here: https://longforwisdom.github.io/rp-bounty/

Portal Work Since Last Update

Bounty Feed (previously forum RSS integration)

  • A page that lists the recent bounty-relevant activity by date. Currently this is just listing new bounties being added to the portal, and GMC bounty-related forum posts.
  • I’d like to expand this in the future with more events. It would be really cool to be able to mark a bounty as completed on a specific date, and thank those responsible for completing it.

Footer Content

  • Fairly boring, just adding a lot of links to useful things related to Rocket Pool, the GMC and this bounty board.

Styling

  • Styling is functionally complete. I wouldn’t quite call it professional quality, but it’s a huge improvement over the complete lack of styling present by default.
  • Thanks to ShfRyn for some invaluable support on this. It really helps to have someone that has done this type of work before available to give pointers.
  • Includes layout, colors, icons, etc. I’ve included a couple of screenshots below for color:

Bounty Process Work Since Last Update

New Templates + Guidelines
Proposal Template + Guidelines
Definition Template + Guidelines
Bounty Data Template

  • Handed over new templates for bounty proposals and definitions to the GMC.
  • Bounty Proposals are similar to what you’re used to.
  • Bounty Definitions is a more detailed set of headings / questions with the aim of putting the bounty hunter in the best possible position to complete the work.
  • Bounty data template is for internal GMC use.

RPIP Draft
https://longforwisdom.github.io/RPIPs/RPIPs/RPIP-bounty_standards

  • I created an initial draft of the RPIP. This contains some information about definitions, statuses, incentives, etc.
  • I’ll be reworking this a bit in the coming days, see below.

Pushing For Expanded Forum Permissions

  • I posted a thread calling for the use of tags, and expanded permissions on the forum for the GMC administrator. If implemented, this will make some processes slightly smoother, and bring a small improvement to the forum experience for those interested in GMC rounds.
  • I’ve been chasing this with Langers, but despite some initial movement, there have not been any changes yet. I’ll continue engaging and hopefully we’ll see at least some of these changes made to the forum soon.

Future Process Work

RPIPs

My current plan is to split the existing RPIP into two, one informational (describing the GMC bounty process) and one voted (authorizing the GMC to set incentives for certain bounty actions.) This should take place soon. I’ll link the draft RPIPs here once they have made it to the portal.

Bounty Statuses

Determine a full list of bounty statuses for internal (GMC and DAO) use and write these up in the RPIP. This is more complicated than it sounds, because there are a few ways bounties can progress through the system depending on how they’re defined.

Operating Procedures

Write up SOP’s + a checklist for the GMC Administrator that cover maintenance of the canonical bounty data. (What to check each week, each round, what to change when a bounty changes status, etc.)

Future Portal Work

Documentation

Document how the portal works. Document how data flows from the GMC to the frontend.

Error Handling

Make the portal more robust when faced with badly formatted data. None of the data should prevent the site from building!

Delivery

Handing the portal over to the GMC. I’m hoping to convince the core devs to put it on bounty.rocketpool.net, but if that is not possible, it will be handed over to the GMC and hosted wherever they feel is appropriate.

Features / Functionality

These may or may not get done. Most are nice-to-haves rather than hard requirements for common use-cases.

  • Map internal DAO/GMC statuses to external bounty-hunter-facing statuses (ie open or closed)
  • Add tooltips for potentially confusing elements.
  • Allow the addition / removal of filters via clicking tag icon in addition to checkboxes.
  • Expand the bounty feed to cover more relevant events (bounty completion, bounty payouts? etc)
  • Pull forum links from tag RSS feeds if / when tags are added to the forum.
  • Bounty leaderboard - high score of who has completed the most bounties / been paid out the most for bounties.
2 Likes

I’m happy to announce that v1 of the bounty board can now be considered functionally complete. It’s been forked to the GMC github org and is now hosted on rpbountyboard.com. I’ll be around to maintain it, fix any issues that arise and respond to any feedback from you all. Feel free to link it around the community if anyone expresses interest in bounty work.

At this stage I would not recommend pushing it too hard outside of the community, there are still a few items that would be good to complete before it’s shared more widely so we can get the maximum impact.

Process Work

Much of the planned process and auxiliary work has been completed and handed over to the GMC Administrator at this point as well. The discussed plan has been to introduce process changes gradually in order to both avoid lots of up-front work, and to avoid too much disruption to an actively used process.

As a quick reminder the headline change is to split the bounty adoption process into a ‘proposal’ and ‘definition’ where:

  • Proposal is a low-cost easily accessible way for a community member to try to convince the GMC to fund something.
  • Definition is a higher-cost exercise of figuring out the details of how a bounty hunter will complete the work in question such that everyone ends up happy with the results.

Supporting changes and materials have accompanied this, including:

  • Maintenance instructions of the public bounty data that is read by the new portal (and is freely accessible for any other front-end to consume.)
  • A better was to track current status for bounties that can also be applied to grants and retros.
  • More clear guidelines around how to define bounties in a way that improves the chances of them being picked up and successfully completed.

Outstanding Items

  • Incentives RPIP - Write up an RPIP that empowers the GMC to pay out incentives to those proposing, defining and supporting bounty work. (This would replace BA032305)
  • Bounty Definition Review - Read through the open bounty definitions, check them against the guidelines laid out in the definition templates, and if they fall short, make improvements. Check their current status makes sense and add any notes that need adding.
  • Bounty Solicitation - In an ideal world, we would see a larger number of bounties added to the board prior to marketing it heavily outside of the community.
  • Marketing - Intentionally and actively spreading the word outside of RP with the goal of attracting competent individuals or teams to complete bounty work.

Dropped Items

Informational RPIP

The plan had been to write up much of the GMC bounty-handling process as an informational RPIP. This has been dropped for two reasons.

  • First, the information largely already exists in public-access documents written by the GMC Administrator.
  • And second, the gradual implementation of process improvements means that a living informational RPIP implies a fair amount of maintenance work in the short to medium term.

This item may be revisited at a future date once the process changes have been proved out.

Getting Involved

My work on this is starting to reach a wrap-up phase. There are two huge ways you can help make this a success in a way that I can’t manage on my own.

Propose Bounties

I can’t emphasise enough how important it is to have bounties at Rocket Pool be a viable prospect to the talented people working in crypto. We want people to be able to find something they can contribute to, and to come back in the future. I think proven-reliable resource capacity that comes back regularly can really supercharge development of the DAO and protocol.

The best way to achieve this is to get all the work you all want to see done written up and submitted to the GMC. I plan to write into the incentives RPIP that any bounty incentives can be applied retroactively if the GMC wishes, so there’s reason to believe that this could be directly rewarding as well.

Marketing

This is something that’s very far from my skillset and that I have little interest in. I know there are much better known and outgoing personalities in this community than I, and I’d really appreciate if you could help push this more widely once we have a larger set of active bounties.

Who owns the rpbountyboard.com domain?

1 Like

Who owns the rpbountyboard.com domain?

I do. I’m happy to transfer it to some sort of shared access based on what others advise. Right now the GMC github organization’s administrative privileges are shared between myself, Joe, and dondo.

1 Like

Very minor, but “Official” on the Resources page is misspelled.

Offical Rocket Pool Discord

Much appreciated, thank you. I spotted a number of other typos like this in the early pages I’d written for the portal that I’d neglected to review thoroughly. I’ll get the fixes merged shortly.