Overview

We use two labels help wanted and good first issue to identify issues that have been specially groomed for new contributors. The good first issue label is a subset of help wanted label, indicating that members have committed to providing extra assistance for new contributors. All good first issue items also have the help wanted label.

Help Wanted

Items marked with the help wanted label need to ensure that they are:

  • Low Barrier to Entry

It should be tractable for new contributors. Documentation on how that type of change should be made should already exist.

  • Clear Task

The task is agreed upon and does not require further discussions in the community. Call out if that area of code is untested and requires new fixtures.

API / CLI behavior is decided and included in the OP issue, for example: “The new command syntax is trivy --format yaml IMAGE_NAME“_ with expected validations called out.

  • Goldilocks priority

Not too high that a core contributor should do it, but not too low that it isn’t useful enough for a core contributor to spend time to review it, answer questions, help get it into a release, etc.

  • Up-To-Date

Often these issues become obsolete and have already been done, are no longer desired, no longer make sense, have changed priority or difficulty , etc.

Good First Issue

Items marked with the good first issue label are intended for first-time contributors. It indicates that members will keep an eye out for these pull requests and shepherd it through our processes.

These items need to ensure that they follow the guidelines for help wanted labels (above) in addition to meeting the following criteria:

  • No Barrier to Entry

The task is something that a new contributor can tackle without advanced setup, or domain knowledge.

  • Solution Explained

The recommended solution is clearly described in the issue.

  • Provides Context

If background knowledge is required, this should be explicitly mentioned and a list of suggested readings included.

  • Gives Examples

Link to examples of similar implementations so new contributors have a reference guide for their changes.

  • Identifies Relevant Code

The relevant code and tests to be changed should be linked in the issue.

  • Ready to Test

There should be existing tests that can be modified, or existing test cases fit to be copied. If the area of code doesn’t have tests, before labeling the issue, add a test fixture. This prep often makes a great help wanted task!