Skip to content

Commit

Permalink
doc: feature management proposal
Browse files Browse the repository at this point in the history
Refs: #40823
Refs: #41113

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: #41420
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
  • Loading branch information
mhdawson authored and ruyadorno committed Feb 8, 2022
1 parent 72a857f commit 451f333
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ body:
Thank you for suggesting an idea to make Node.js better.
Please fill in as much of the following form as you're able.
For more information on how the project manages feature
requests, see [Feature request management](https://github.com/nodejs/node/blob/HEAD/doc/guides/feature-request-management.md).
- type: textarea
attributes:
label: What is the problem this feature will solve?
Expand Down
89 changes: 89 additions & 0 deletions doc/contributing/feature-request-management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Feature request management

Feature requests are a valuable source of input to the project.
They help our maintainers understand what additions will be of
value to users of the Node.js runtime.

At the same time, the project is volunteer run and does not
have the ability to direct resources toward specific work. The
features which are implemented are those for which volunteers
are individually motivated to work on. The best way to ensure
a feature gets implemented is to create a PR to add it.
The project strives to support people who do that.

An open feature request does not provide any indication that work
on that feature will take place and after some period of time
may be detrimental as it may result in an expectation that will
never be fulfilled.

This process tries to balance retaining the valuable input
we get through feature requests and the overhead of
maintaining open feature requests that will never get
implemented.

## Creating feature requests

A feature request can be created by adding the `feature request`
label to an issue. This may be done automatically when the issue
is opened or at a later point (often when investigation of a bug
report results in it being considered a feature request as opposed
to a bug).

The current list of feature requests can be found through the
[is:issue is:open label:"feature request"](https://github.com/nodejs/node/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+request%22) query.

## Triage of feature requests

There is no set process for triaging/handling feature requests.
Individual collaborators review issues marked as `feature request`
along with other issues and may or may not decide to
work on an implementation or advocate on their behalf.

If a collaborator believes a feature request must be implemented
they can add the `never-stale` label to the issue and it will
be excluded from the automated feature request handling
as outlined below.

## Expressing support for a feature request

If you come across a feature request and want to add your
support for that feature please express your support
with the thumbs up emoji as a reaction. At some point in the
future we may use this as additional input in the automated
handling of feature requests.

## Automated feature request handling

Our experience is that most feature requests that are
likely to be addressed, will be addressed within the first
6 months after they are submitted.

Once there has been no activity on a feature request for
5 months, the following comment will be added
to the issue:

```markdown
There has been no activity on this feature request for
5 months and it is unlikely to be implemented.
It will be closed after 6 months after the last non-automated comment unless there is renewed
discussion or collaborators advocating that it be kept
open. For more information on how the project manages
feature requests please consult the
[feature request management document](https://github.com/nodejs/node/blob/HEAD/doc/guides/feature-request-management.md).
```

If there is no additional activity/discussion on the
feature request in the next month, the following
comment is added to the issue and the issue will be
closed:

```markdown
There has been no activity on this feature request
and it is being closed. We value your input
and if you feel closing this issue was not the
right thing to do, please re-open it.

For more information on how the project manages
feature requests please consult the
[feature request management document](https://github.com/nodejs/node/blob/HEAD/doc/guides/feature-request-management.md).
```

0 comments on commit 451f333

Please sign in to comment.