nodejs / nodejs/node

Improve how we handle active "good first issue" issues

オープン
#64,662 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

discuss meta
主要言語
JavaScript
スター
122k
フォーク
37.3k
平均マージ
4日 2時間
マージ済み PR(30日)
283

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

現在の good first issue ラベルと issue #60884 の例を確認し、提案されているアプローチを比較する: 別のラベル、アクティブな PR が存在する場合にラベルを削除する方法、またはクレームシステム。関連するワークフローの詳細について、リンクされている Godot と Rust のガイダンスを確認する。Node.js に対して合意されたアプローチを選択して文書化すれば完了とする。まだアプローチは選択されていない。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github
領域
developer-experience
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。