Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: improve contributors guide #15123

Closed
wants to merge 17 commits into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Aug 31, 2017

@nodejs/collaborators ... PTAL

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Aug 31, 2017
CONTRIBUTING.md Outdated
is too small and all contributions are valued.

This guide details the basic steps for getting started contributing to the
Node.js projects core `nodejs/node` GitHub Repository.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

project's

CONTRIBUTING.md Outdated

## Issue Contributions
As a contributor to Node.js, how you choose to act and interact towards your
follow contributors, as well as to the community, will reflect back not only
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: fellow.

CONTRIBUTING.md Outdated
When opening issues or commenting on existing issues, please make sure
discussions are related to concrete technical issues with Node.js.
Should any individual act in any way that is considered in violation of the
[Code of Conduct], corrective actions will be taken. It is possible, however,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing square brackets: [Code of Conduct][].

CONTRIBUTING.md Outdated

* For general help using Node.js, please file an issue at the
[Node.js help repository](https://github.com/nodejs/help/issues).
Open, diverse and inclusive open communities live and die on the basis of trust.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate "open"?

CONTRIBUTING.md Outdated

This section will guide you through the contribution process.
1. By opening the issue for discussion: For instance, if you believe that you
have uncovered a bug in Node.js, creating a new issue in the nodejs/node
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backticks for nodejs/node?

Copy link
Member

@watilde watilde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the new ### Step 4: Rebase part. Rebasing is sometimes hard to any developers when the conflicts are complicated. This will be very helpful :)

I just put some comments for typos I found.

CONTRIBUTING.md Outdated
For developing new features and bug fixes, the `master` branch should be pulled
and built upon.
Short, clipped responses that do not provide either additional context nor
supporting detail are neither helpful nor professional. To many, such responses
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

supporting detail is ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are is correct here, I believe but I think a comma is in order.

CONTRIBUTING.md Outdated
### Resolving a Bug Report

In the vast majority of cases, issues are resolved by opening a pull request.
The process for opening an reviewing a pull request is simliar to that of
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: simliar => similar

CONTRIBUTING.md Outdated
repository.

There are two fundamental components of the Pull Request process: one concrete
and technical, and one more process oriented. The concete and technical
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: concete => concrete

CONTRIBUTING.md Outdated
to the `test/parallel/` directory and the right location will be sorted out
later.

Before submitting your changes in a pull requests, always run the full Node.js
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: a pull requests => a pull request

CONTRIBUTING.md Outdated
#### Step 7: Push

Once you are sure your commits are ready to go, with passing tests and linting,
begin the process of opening a pull requests by pushing your working branch to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: a pull requests => a pull request

@jasnell
Copy link
Member Author

jasnell commented Aug 31, 2017

Updated!

@vsemozhetbyt
Copy link
Contributor

I recall @refack recently provided this link in some issue. Is it worth to add it in the issue chapter or this is overkill for this doc?

@jasnell
Copy link
Member Author

jasnell commented Aug 31, 2017

I think that level of detail is overkill, but it may make sense to have a "helpful resources" section at the end

CONTRIBUTING.md Outdated

For developing new features and bug fixes, the `master` branch should be pulled
and built upon.
Short, clipped responses--that provide neither additional context nor supporting
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these double dashes intended (+ in the next line)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, stand in for an emdash. I should make those actual dashes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should they be rendered as emdash by GitHub or they are OK by convention? Sorry, I do not want to bother anyone needlessly for this in the future)

CONTRIBUTING.md Outdated
### Resolving a Bug Report

In the vast majority of cases, issues are resolved by opening a pull request.
The process for opening an reviewing a pull request is similar to that of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

an reviewing -> and reviewing ?

CONTRIBUTING.md Outdated
Or you can amend the last commit (for example if you want to change the commit
log).
**Important:** The `git push --force-with-lease` command is one of the few ways
to delete history in git. Before you use it, make sure you understand the risks.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in git -> in `git` ?

@vsemozhetbyt
Copy link
Contributor

vsemozhetbyt commented Aug 31, 2017

Is it worth to add that user.name and user.email should be the same as in the GitHub?

(Sorry for accidental closing, wrong button)

@jasnell
Copy link
Member Author

jasnell commented Aug 31, 2017

Is it worth to add that user.name and user.email should be the same as in the GitHub?

Likely.

CONTRIBUTING.md Outdated
time to ensure that the changes follow the Node.js code style guide.

Any documentation you write (including code comments and API documentation)
should follow the [Style Guide](doc/STYLE_GUIDE.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention that code fragments in docs are also the subject for the make lint?

@vsemozhetbyt
Copy link
Contributor

Consider adding https://github.com/evanlucas/core-validate-commit to the possible helpful resources.

CONTRIBUTING.md Outdated
Any documentation you write (including code comments and API documentation)
should follow the [Style Guide](doc/STYLE_GUIDE.md). Code samples included
in the API docs will also be checked when running `make lint` (or
`vsbuild.bat lint` on Windows).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vsbuild.bat -> vcbuild ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heh. I've always disliked that file.

@vsemozhetbyt
Copy link
Contributor

Concerning the untouched fragment:

You can usually run tests directly with node:

$ ./node ./test/parallel/test-stream2-transform.js

Is this path right? Should it be ./Release/node?

CONTRIBUTING.md Outdated
* [Respect the minimum wait time for comments](#respect-the-minimum-wait-time-for-comments)
* [Abandoned or Stalled Pull Requests](#abandoned-or-stalled-pull-requests)
* [Approving a change](#approving-a-change)
* [Accept that there are different opinions about what belongs in Node.js](#accept-that-there-are-different-opinions-about-what-belongs-in-node-js)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#accept-that-there-are-different-opinions-about-what-belongs-in-node-js ->
#accept-that-there-are-different-opinions-about-what-belongs-in-nodejs

CONTRIBUTING.md Outdated

If a Pull Request appears to be abandoned or stalled, it is polite to first
check with the contributor to see if they intend to continue the work before
checking if the they would mind if you took it over (especially if it just has
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if the they -> if they ?

CONTRIBUTING.md Outdated
Node.js has always optimized for speed of execution. If a particular change
can be shown to make some part of Node.js faster, it's quite likely to be
accepted. Claims that a particular Pull Request will make things faster will
almost always be met by requests for performance benchmark results that
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe benchmark results should be linkified to doc/guides/writing-and-running-benchmarks.md or benchmark/README.md?

CONTRIBUTING.md Outdated
[CI (Continuous Integration) test run]: #ci-testing
[notes about the waiting time]: #waiting-until-the-pull-request-gets-landed
[https://ci.nodejs.org/]: https://ci.nodejs.org/
[Onboarding guide]: ./docs/onboarding.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs -> doc

CONTRIBUTING.md Outdated
@@ -262,11 +545,176 @@ point, but don't worry. If you look at the branch you raised your
Pull Request against (probably `master`), you should see a commit with
your name on it. Congratulations and thanks for your contribution!

### Reviewing Pull Requests

All Node.js contributors who choose to review and provide feedback on pull
Copy link
Contributor

@vsemozhetbyt vsemozhetbyt Sep 1, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pull requests -> Pull Requests ? (for consistency)

CONTRIBUTING.md Outdated
@@ -343,3 +799,16 @@ By making a contribution to this project, I certify that:
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

[Code of Conduct]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All this part may need ASCII-sorting.

@jasnell jasnell requested review from a team September 1, 2017 14:15
CONTRIBUTING.md Outdated
### Reviewing Pull Requests

All Node.js contributors who choose to review and provide feedback on Pull
Requests have a responsibility both the project and the individual making the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

responsibility -> responsibility for ?

CONTRIBUTING.md Outdated
short amount of time to review and are not ill-intended. Such issues can often
be resolved with a bit of patience. That said, reviewers should be expected to
be helpful in their feedback, and feedback that is simply vague, dismissive and
helpful is likely safe to ignore.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

helpful -> unhelpful ?

@jasnell
Copy link
Member Author

jasnell commented Sep 5, 2017

Ping @nodejs/collaborators @nodejs/tsc ... one final request for comments

@Trott
Copy link
Member

Trott commented Sep 6, 2017

My only comment is that making CONTRIBUTING.md significantly longer may mean that people are less likely to actually read it, thus defeating the purpose of the added material. I don't know that I have a good solution other than make sure you mercilessly edit for brevity.

CONTRIBUTING.md Outdated
fellow contributors, as well as to the community, will reflect back not only
on yourself but on the project as a whole. The Code of Conduct is designed and
intended, above all else, to help establish a culture within the project that
allows anyone and everyone who wants to continue to feel safe doing so.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"continue"? Not sure I follow that sentence, but maybe you meant "contribute"?

CONTRIBUTING.md Outdated
Be aware that *how* you communicate requests and reviews in your feedback can
have a significant impact on the success of the Pull Request. Yes, we may land
a particular change that makes Node.js better, but the individual might just
not want to have anything to do with Node.js every again. The goal is not just
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: "ever again"

CONTRIBUTING.md Outdated
check with the contributor to see if they intend to continue the work before
checking if they would mind if you took it over (especially if it just has
nits left). When doing so, it is courteous to give the original contributor
credit for the work they started.
Copy link
Contributor

@ronkorving ronkorving Sep 6, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are people expected to give credit? In the PR? In commits? Is there an official way, or do you mean conversational on GitHub?

@@ -262,11 +545,176 @@ point, but don't worry. If you look at the branch you raised your
Pull Request against (probably `master`), you should see a commit with
your name on it. Congratulations and thanks for your contribution!

### Reviewing Pull Requests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONTRIBUTING.md is for people who have never before (or very infrequently) contributed to Node.js. This section seems geared towards Collaborators and seems better suited for the COLLABORATORS_GUIDE.md doc. Are we just putting it here for visibility?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems the message of this commit contains some explanation: daf0847

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, the commit log message contains the details. One bit of feedback that I have received from the community is that there is extremely little understanding about what to expect when a PR is opened. I've added this here to help ensure that the process is more visible.


You will probably get feedback or requests for changes to your Pull Request.
This is a big part of the submission process so don't be discouraged!
```markdown
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to get out of date, couldn't it just be a link?

https://raw.githubusercontent.com/nodejs/node/master/.github/PULL_REQUEST_TEMPLATE.md

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could be, but I'd prefer to keep it here, understanding that, yes, it will need to be kept up to date.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but I'd prefer to keep it here

I don't care terribly strongly, but why? The file is already (IMO) too long as is, and the contributor will see the template when they raise the PR.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The key complaint that I've received is that new contributors have no idea what to expect when they start the process. This is largely an attempt to make those expectations clearer.

CONTRIBUTING.md Outdated

```text
$ git config --global user.name "J. Random User"
$ git config --global user.email "j.random.user@example.com"
$ git checkout -b my-branch -t origin/master
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't my local branch typically track upstream/master?

@jasnell
Copy link
Member Author

jasnell commented Sep 6, 2017

Updated!

@jasnell
Copy link
Member Author

jasnell commented Sep 12, 2017

@nodejs/collaborators @nodejs/tsc ... one final call for objections. I plan to land this tomorrow.

jasnell added a commit that referenced this pull request Sep 13, 2017
PR-URL: #15123
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
@jasnell
Copy link
Member Author

jasnell commented Sep 13, 2017

Landed in bf1ca8f

@jasnell jasnell closed this Sep 13, 2017
@jasnell
Copy link
Member Author

jasnell commented Sep 13, 2017

Any additional tweaks on this can be made in separate PRs

jasnell added a commit that referenced this pull request Sep 20, 2017
PR-URL: #15123
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations.
Projects
None yet
Development

Successfully merging this pull request may close these issues.