nodejs / nodejs/node

Improve how we handle active "good first issue" issues

Open
#64,662 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discuss meta
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

Problem

I’m concerned that good first issue (https://github.com/nodejs/node/labels/good%20first%20issue) issues get spammed so heavily that we may become less likely to use the label at all. Which I think is already happening.

That would be a bad outcome, because it could quietly raise the barrier for new contributors. A genuine contributor may see several open PRs and a long comment thread, assume the issue is already taken, and move on.

One example is https://github.com/nodejs/node/issues/60884, where people continue opening PRs or asking to work on it despite several PRs already being open.

To be clear, the goal is not to prevent multiple PRs. It is to keep good first issue useful as an entry point for genuine new contributors.

Potential improvements

I checked how some other large repositories handle this and found a few approaches worth considering. I'd be happy to hear other approaches though.

1. Use a different label

Some repositories use less well-known labels instead of good first issue, such as Rust’s [E-easy](https://github.com/rust-lang/rust/issues?q=sort%3Aupdated-desc%20is%3Aissue%20state%3Aopen%20label%3AE-easy).

Since good first issue is heavily targeted by bots and automated searches, using a different label could reduce some of that noise.

2. Remove the label once there is an active PR

Godot does this: the good first issue label is removed while there is an active PR that appears to solve the issue.

We could start by doing this manually and potentially automate it later based on linked PR status.

3. Add a claim system

Rust uses [@rustbot claim](https://github.com/rust-lang/rust-clippy/blob/master/CONTRIBUTING.md) to let contributors claim issues.

I like this option less because of the risk of people claiming issues and disappearing, but claims could expire after a few days unless there is an open PR or visible progress.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the current good first issue label and the example in issue #60884, then compare the proposed approaches: a different label, removing the label when an active PR exists, or a claim system. Check the linked Godot and Rust guidance for relevant workflow details. Done means selecting and documenting an agreed approach for Node.js; no approach is chosen yet.

Written by the indexing model from the issue text.

Assessment

Tech stack
github
Domain
developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.