nodejs / nodejs/node

Improve how we handle active "good first issue" issues

Ouverte
#64,662 2 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

discuss meta
Langage dominant
JavaScript
Étoiles
122k
Forks
37.4k
Merge moyen
4 j 2 h
PR mergées (30 j)
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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Examinez le label actuel good first issue et l’exemple de issue #60884, puis comparez les approches proposées : un autre label, supprimer le label lorsqu’un PR actif existe, ou un système de revendication. Consultez les guides Godot et Rust liés pour trouver les détails pertinents du workflow. Le travail est terminé lorsqu’une approche approuvée pour Node.js est sélectionnée et documentée ; aucune approche n’a encore été choisie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github
Domaine
developer-experience
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.