We separate three levels of complexity for projects:
- Low complexity: You can work on these projects on your own and tell us afterwards about it. These are often tagged “easy” in our issues list.
- Medium complexity: You can work on these projects on your own, but you should write an RFC before you start implementing.
- High complexity: You should discuss these projects with us before you start working on design or solution.
A project is likely to be low complexity if all the following conditions apply:
- Users do not need to change the way they use CockroachDB as a result.
- Other CockroachDB contributors do not need to change the way they work as a result.
- The architecture of the software or the project doesn’t change in a way that’s visible to more than a handful of developers.
- The change doesn’t impact the cost model of CockroachDB (how much time and how much memory is used for common operations) in a way that's noticeable by users.
- You can predict in advance that completing the change will not cost you more than a week of work (provided this isn’t your very first contribution).
A project is likely high complexity if any of the following conditions apply:
Projects that are neither definitely simple nor complex can be considered medium complexity.