TL;DR: we are budgeting $10,000 in Gitcoin bounties across 20+ Github issues for the next 3 weeks.
- Loom: Community Call
- Notion: Bounty Experiment
- GitHub: Project Board
- Miro: Value-Effort Chart
- Google Sheet: Athens Bounties
Table of Contents
"We must also make ourselves flexible, to avoid becoming too devoted to the plans we have formed." — Seneca
The value of a bounty is just an initial estimate based on @Jeff Tang's intuitive understanding of "Value" (to users, contributors, and Athens Research) and "Effort" (for a contributor).
- The value is an estimate based on expected effort and value to Athens Research.
- The value of the bounty may be increased or decreased based on the actual effort and value the issue turns out to be.
The bounty amount may change for a variety of factors in addition to the points above. Before we discuss these factors, it will help to first understand the Project Types available on Gitcoin. Each type has its tradeoffs. Not all of our bounties need to map directly to these 3 types.
Types of Games
Gitcoin calls these Project Types. "Game" as in Game Theory is perhaps more precise. See https://www.youtube.com/watch?v=MHS-htjGgSY and https://www.nateliason.com/notes/finite-infinite-games-james-carse for more context on Games.
This is the least likely kind of game for Athens. In open-source, it's pretty typical for someone to say they are going to work on an issue, and to never hear from them again (assuming this is their first interaction in the community).
An issue may be explicitly assigned to a contributor when they are a repeat contributor, who has more credibility and is known to have the ability to complete the issue.
Most games are probably contests, where any number of people can work on an issue at the same time. This prevents a contributor from blocking other contributors from working on it.
Cooperatives have not be done yet for Athens's first 4 bounties.
That said, if multiple people collaborate on the same bounty, and a better outcome results because of this collaboration, we should expect the final bounty size to increase. We want to incentivize collaboration.
Not all contributions need to become Cooperatives. Some issues might not easily be broken down into separate chunks. The coordination costs may be higher than the expected value.
- If a bounty is completed by a repeat contributor, we should expect the bounty size to increase. We want to incentivize long-term relationships and iterated games.
- Not all contests need to be zero-sum. Results are important, but winner-take-all may work against contributors who make a good attempt that doesn't get accepted. You shouldn't expect to get a bounty for not getting your code merged, but it's possible that you do. This doesn't fall into any of the 3 game types.
- Issues and bounties may be added to the project board within the 3-week timespan. New commits may introduce bugs, and some issues might've just been forgotten to be added to the project board.
- The current allocation of bounties is $6.7k. The budget for these 3 weeks is $10k. This means the remaining $3.3k is slack for undervalued bounties, for bounties that turn into successful Cooperatives, or for repeat contributors that become more deeply part of the Athens community. The ultimate spend may be more or less than $10k, that's just an intial budget.
- Many of these issues are not necessarily scoped and spec'd out yet. By default, we leave it up to the contributor to define the scopes. It's totally acceptable to submit a good-enough / minimally scoped PR and iteratively increase the scope and polish. This prevents stale branches (which can be hard to rebase) and accelerates the feedback loop, which does often lead to a better outcome on a shorter timeline.
- Some of these bounties are very undocumented and will require scoping. Please comment on those issues and @Jeff Tang will respond.
- Please start by opening your PR on your personal fork. Give it the same title as the bounty issue. When the PR is ready for review, please open a PR to the main athensresearch/athens repo. This is so we don't have a ton of PRs on the main repo that aren't ready yet.
- In general, but especially if you are new, you should breakdown the problem and discuss your approach at a high level (e.g. left-sidebar and most issues on this project board). You should also consider logging updates as you progress through the issue. It's a good habit to do this at the end of each day.
- Making your work legible allows others to learn from what you are doing and jump in. Part of your solution might be crucial for someone else. This is a great example of where you could get part of a bounty through cooperation.
- We do not yet have Gitcoin PRO yet, which enables "Contests" and "Cooperatives" within Gitcoin. We are working with Gitcoin to set us up with a PRO account.
- Upon completion, @Jeff Tang will submit the payment through Gitcoin, Paypal, or Transferwise.
- YC Demo Day is March 23rd. @Jeff Tang will be preparing for this starting 3/7, so expect some delays. (The constraint on time is actually one of the inspirations for trying this bounty program.)
- If you want to create your own bounties to accelerate the development of an issue you want, please do! Create a Gitcoin account and fund an issue.
- If you want to work on an issue that does not have a bounty on it, go ahead! Nothing is stopping us from putting a bounty on it retroactively.
- If you are new to Clojure and don't know know where to get started, checkout ClojureFam. Assuming this bounty experiment goes well, this won't be the last opportunity. Who knows, maybe bounties will be created for completing ClojureFam!
- This experiment is primarily about engineering. If you want to contribute to Athens with other skills such as copywriting, design, etc. in a bounty system, mention it in our Discord.