Types
The type:
tag describes the general type of work that will be required.
-
type: bug
- Something is wrong or broken with the existing functionality. If you're filing a bug or starting to work on one, the most helpful first step is a reliable reproduction of the problem. Even if you're unable to resolve the bug completely, an accurate description of how to make the bug happen will help us (or another contributor) take care of it. -
type: improvement
- This feature already exists (or partially exists), but needs to be changed. -
type: new feature
- New functionality that does not exist yet. -
type: refactor
- Minimal user-visible changes, but significant internal work. -
type: task
- Either work that's not related to the code, or a small chore that does not fit into other categories.
Levels
The level:
labels describe how much knowledge of (or experience with) LBRY you'll likely need to resolve the issue. Don't let the level scare you. If you're a new contributor but you`d like to dig right in, please do. The level tag is there as a guide to let you know what you're getting into. Also, contributions at higher levels are generally rewarded with larger bounties.
-
level: 1
- No knowledge about LBRY necessary. Anyone with general programming knowledge should be able to make progress. Issues with this tag are good candidates for new contributors to start with. -
level: 2
- Some knowledge would be very helpful. This may refer to LBRY-specific knowledge (e.g. claims, blob encryption) or to other technologies that are central to the system (e.g. blockchain transactions, DHT, electron, etc). -
level: 3
- Significant knowledge. Issues with this tag are probably best for someone who has worked on a few other issues already. If you're gonna start an issue with this label, you may want to let us know. -
level: 4
- Intimate knowledge of the protocol. This level is generally used for major new features, large refactors, or other complex issues.
Areas
area:
labels group issues based on the logical section of the code that is affected. Getting familiar with one or two areas of the code at a time is easier than trying to understand the whole codebase at once. Areas also map well to prior experience. If you've worked on Bitcoin or similar projects before, you may already be comfortable with wallet issues. If you're familiar with Bittorrent, you may want to explore the network tag.