status-im / open-bounty

Enable communities to distribute funds to push their cause forward.
https://openbounty.status.im/
GNU Affero General Public License v3.0
118 stars 36 forks source link

Ability to revoke bounty or solve issue without payout for core contributors #174

Open oskarth opened 6 years ago

oskarth commented 6 years ago

Problem

Status as a consumer of SOB (see https://github.com/status-im/ideas/issues/10) wants to use it as much as possible. To do this there is a high-priority problem that we need to address:

Sometimes we have a critical path task that needs to be done, and no one is working on it at this very moment. As we have seen in the past (Macchiato PR), external contributors can often chime in and solve a specific issue quickly, presumably because it is their number one priority at the time.

However, if no one solves the issue, then we have a high-priority blocking issue with a bounty that a core contributor needs to address. Since it isn't clear to what extent we want to award bounties to core contributors (this is a another topic) this creates a lot of uncertainty around which issues should be bounties.

This uncertainty creates tremendous coordination and communication costs, as well as blocking us from getting things done. Instead of just putting a bounty on issue that needs to be done, several team members spend a lot of time going back and forth if we should put it up as a bounty or not.

Thoughts on MVP solution

Soft time restricted bounties.

1) Copy: a sentence in each bounty issue that states for how long the bounty is available to external contributors. For example "This issue is left alone to external contributors for 72 hours, after this an external core contributor (might) take it and no bounty will be paid out". Swarm for idea/10 can do this.

2) Suggested flow from SOB on how to achieve this and any concerns we have. It is ok to lose gas from contract deploy. It is not ok (for the purposes of this particular problem) to award bounty to core contributor, nor to lose the bounty money in the contract.

For example, can any dev file PR that solves a particular issue but the payout address goes back to our account? How can we do this with minimal amount of code (ideally zero)?

Further development

Not in scope for this issue.

arash009 commented 6 years ago

The timeline/deadline factor to be considered as a separate feature: https://github.com/status-im/open-bounty/issues/49

If there is also a requirement for core contributor to resolve the issue before the deadline, then yes we would need another mechanism.