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.
(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.
Having done 100s of bounties myself, I’ve picked up some tricks for making sure the bounties are successful.
Want more detail here? We have examples for design, code, and bug bounties here — courtesy of a Gitcoin bounty completed by Anish Agnihotri!
https://github.com/gitcoinco/Gitcoin-Exemplars
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.
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.
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.
https://github.com/gitcoinco/Gitcoin-Exemplars
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
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!
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:
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 READMEcan 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!
https://github.com/gitcoinco/Gitcoin-Exemplars
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 founders@gitcoin.co and we’ll get it in front of our audience of 10,000 Open Source Contributors!
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.
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