Increasing Action On Your Gitcoin Bounty
We see a lot of software development ‘first dates’ between contributors and maintainers here at Gitcoin. We’ve seen a lot of things go right, but we’ve also seen a lot of things that could be improved. This post is designed to help bounty funders who would like to see uptick in their bounty success rate.
Before The Bounty
1. Get the repo maintainer onboard
(If you are the maintainer and the funder, skip this section) It’s important to achieve consensus between the funder and maintainer that what you want to post a bounty on is actually a priority, is architecturally feasible, and is on the roadmap. Here’s an excerpt from a recent bounty that was funded without consultation by the project maintainer.
Funder: is there specific reason [you don’t want this done]?
Maintainer: Let’s start with the fact that you started this initiative in a project that you have no previous relation to, did not consult the maintainer or the community, provided no elaboration on the pros or cons of this change.
But suppose you did that. The answer is still no, because integrating an unknown service run by unknown third parties into a site that deals with user funds is asking for trouble. Thanks for understanding.
It’s always good to have consensus between funder and maintainer before a bounty is posted.
2. Articulate what you want to see (& leave room for error)
Having done 100s of bounties myself, I’ve picked up some tricks for making sure the bounties are successful.
-
Describe your expected result, and parameters for success for your bounty clearly as possible.
-
Specify the skillset of the person of who you want to see.
-
If the skillset associated with the bounty is qualitative, consider making your bounty ‘approval required’, so that you can screen applicants .
-
Specify how many iterations you’re looking for (usually 2–3 is fine).
-
Always have 20% in my back pocket to tip out out a job well done.
-
Always have 20% in my back pocket in case the scope increases during the course of the bounty.
-
If someone has started my bounty, and it’s not working out, tell them professionally as soon as possible. Most contributors will understand, and will off-board amicably. I like to tip them out for their time, but this is not explicitly required. Want more detail here? We have examples for design, code, and bug bounties here — courtesy of a Gitcoin bounty completed by Anish Agnihotri!
After Posting The Bounty
Ok, so let’s presume that you’ve gotten the bounty posted and it’s not getting any action. First, it’s worth noting that while this is uncommon, it’s not a huge deal. Software development is abstract, and it might mean you just have a to tune a few things on your bounty! ⚙️ The median time it takes to attract a bounty hunter is 6.6 hours , so you should start thinking about this if a few days have passed and no one has expressed interest. Usually, there’s a couple buckets bounties fall into.
1. The scope is not clear.
We’ve seen a few bounties that haven’t gotten any contributors on them because the scope is not clear. In that case, we recommend taking another pass at the issue scope to make sure its been clarified that someone new to your repo could effectively work on it. See examples of what good design, feature, and bug bounties look like.
2. Repo documentation needs improvement
If you want to have an active community of contributors for your Open Source Repo, it’s helpful to make the repo as self explanatory as possible to prevent unnecessary communication problems or barriers to entry for newcomers. In this post, the Gitcoin team has aggregated our experience working on open source to provide you with a few ‘best practice’ tips.
-
Have a good readme.md
-
Docker-ize everything
-
Documentation.
-
Marketing
3. The Bounty is not priced effectively
One of the core reason your bounty might not have any action is that it’s underpriced. We’ve been crunching the numbers, and we’ve found that
-
If you offer $ 120 per hour, you will have a 95% success rate.
-
If you offer $ 80 per hour, you will have a 83 % success rate.
-
If you offer $ 40 per hour, you will have a 69 % success rate.
-
If you offer $ 20 per hour, you will have a 54 % success rate.
It’s important to offer a respectable hourly rate to get potential contributors interested. We’ve written extensively about how to price bounties on Gitcoin effectively, read more about this here .
Note that Gitcoin provides a convenient ‘Increase Payout’ button so that you can always re-up the amount of coins on your bounty!
4. Sell your project’s mission
We believe that, while having a bounty that is priced effectively is an important part of attracting contributors, it does not tell the whole story.
Humans are motivated both intrinsically and extrinsically , and therefore you need to optimize for both. We believe humans are looking to prioritize:
-
Actions that have an impact .
-
Actions that compensate well .
-
Actions that align with their values .
If you can articulate that the work that a contributor does will do good for the world, and that it’ll actually ship, then that really helps your project get more contributors.
This can manifest in many ways, but the easiest place to start is a README. The README can sell your project mission’s and give people the broader context needed to know if they’re working on something that aligns with their values and has a broader impact.
If you want to go a step further, a mission page somewhere on your project never hurts. Here’s an example of what drives us at Gitcoin!
5. The Bounty Needs Marketing
The median issue on Gitcoin is started within 7 hours, and turned around within 7 days. If you’ve tried tips one through four above, and your issue still isn’t being turned around, then it’s probable that your issue needs to be marketed a little more effectively.
If you have an existing audience of contributors, try getting the bounty in front of them via Twitter, your email list, or by tagging them on Github.
Gitcoin provides a convenient way to publish your bounty to the major social platforms. Just click the ‘contribute’ button from the bounty details page.
If you do not have an existing audience of contributors, that’s fine too! Get in touch with us on the Gitcoin Slack or email [email protected] and we’ll get it in front of our audience of 10,000 Open Source Contributors!
6. The Bounty Hunter is MIA
It’s an unfortunately consequence of contributors on Gitcoin not being face to face with each other that sometimes a contributor that has signaled they will work on something, has instead dropped off the face of the earth.
At any time after a bounty hunter has started work, you may remove them by clicking ‘stop work’ on their profile on the bounty details page.
Gitcoin Bot will automatically attempt remedy the situation by reminding the bounty hunter to check in every few days:
Sometimes this helps. Sometimes it does not. If a bounty hunter is MIA after 6 days, we will escalate the issue to Gitcoin’s moderation team.
In particularly egregious situations (a bounty hunter claims multiple issues, then disappears), the Gitcoin moderation team will remove bounty hunters from all bounties and place a block on their profile so they don’t gum up any bounties in the future.
Needless to say, it’s helpful if you, as a maintainer, are on top of your repo and are removing bounty hunters who aren’t fitting the needs of your project. If this happens too often, let us know — we’re likely already looking at ways to remedy the solution.
We hope this article helps!
If you have anything you’ve tried that’s really help, please get in touch on Twitter . I’d love to hear from you! — @owocki
To learn more about Gitcoin, click below. We welcome you on our journey to grow open source while changing the way we work.
- Kauri original title: Increasing Action On Your Gitcoin Bounty
- Kauri original link: https://kauri.io/increasing-action-on-your-gitcoin-bounty/4a504eff854e49f99d7872ece5abbf2c/a
- Kauri original author: Gitcoin (@gitcoin)
- Kauri original Publication date: 2018-10-26
- Kauri original tags: none
- Kauri original hash: QmQWrb96Vjc8jzDNBmDqJNADeWnVdNwx1p39xeyxJVoYSD
- Kauri original checkpoint: QmZSRFGq9bnBLosiVwSTANrDR9YdXbWkwG71aw35jAjyLo