content / REVIEWING.md
AbdulElahGwaith's picture
Upload folder using huggingface_hub
780c9fe verified
# Reviewing pull requests
This document describes the review process for content changes on MDN Web Docs,
and is for use by those who have been tasked with reviewing MDN content PRs.
## Process for reviewing content changes
Content changes we get on MDN are related to a variety of work streams,
for example:
- Day-to-day content improvement work β€” new APIs, new CSS properties, and
other significant platform updates and content additions, usually done
by MDN staff working for Mozilla, Google, Open Web Docs, Samsung, etc.,
but also sometimes by community volunteers.
- "Drive-by fixes" β€” small updates done to the site to fix typos, grammatical
issues, and technical inaccuracies, usually as they are found by users of MDN.
- MDN content bug fixes, usually done by volunteers to close issues on this repo.
Regardless of how a content change is done, they will be submitted as
[pull requests](https://github.com/mdn/content/pulls) on this repo, which will
require rapid reviewing and merging to ensure that the site does not get
out-of-date. This is being handled as follows:
1. Different MDN staff members and volunteers have been assigned as "topic
review owners", meaning that when a pull request comes in related to a
particular topic area of the site (e.g., the CSS reference, or the learning
area), it will be assigned to that area's topic review owner(s) and they
will receive an email notification asking for a review. This is being
handled using a [CODEOWNERS](https://github.com/mdn/content/blob/main/.github/CODEOWNERS)
file, in which particular content directories are assigned to the topics
review owner's GitHub usernames.
2. Once the review has been done and the pull request has been approved, the
reviewer should also merge the pull request.
3. The site will be rebuilt once every 24 hours to ensure that the content
does not get too stale.
## Review guidelines
If you are reviewing MDN content changes, read through the following
guidelines. There's quite a lot here, but don't worry if you don't review
perfectly in accordance with all of these points immediately. It is more
important to make sure the content is readable, useful, correct, and not
inappropriate, than it is to follow every guideline to the letter.
1. Familiarize yourself with the [MDN Code example guidelines][]
and make sure that code examples follow the guidelines. You'll get used to
them eventually, and we are intending to automatically lint against our
guidelines at some point in the future.
2. Familiarize yourself with the [MDN Writing style guide][],
and use it to inform your reviews of new text content.
3. Familiarize yourself with the MDN [pull request guidelines](https://github.com/mdn/content/blob/main/README.md#pull-request-etiquette).
The key points here are
- You have the right to request more information to help your review if the
submitter has not explained why they are making this change.
- You have the right to close a pull request if it is too complex and/or
contains multiple unrelated changes and ask the submitter to submit their
changes in smaller atomic chunks.
4. When reviewing a pull request, use the [GitHub review tools](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews).
Use "Request changes" when submitting a review that will require the
submitter to do some more work, or "Approve" if the submission is ready to
add and you want to merge it. [Reviewing proposed changes in a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)
is also useful if you want more information.
5. Be polite and constructive at all times when writing review comments, or
otherwise interacting with the submitter and other community members. We are
all bound by [our Code of Conduct](CODE_OF_CONDUCT.md) when contributing to
MDN, which means adhering to Mozilla's [Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/).
If anyone has engaged in behavior that is potentially illegal or makes
you or someone else feel unsafe, unwelcome, or uncomfortable, you are
encouraged to [report it](https://www.mozilla.org/en-US/about/governance/policies/participation/reporting/).
We want MDN to be a welcoming, friendly community that we can all be
proud of.
6. If a pull request is fine apart from a small typo or some other minor
issue, you might want to just fix the issue yourself rather than ask the
submitter to change it. You can do this provided the PR has been set up
to allow changes (see [Allowing changes to a pull request branch created from a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
for more details). If you are not sure how to make changes to someone
else's pull request, [@vkWeb](https://github.com/vkWeb/) wrote some nice
simple instructions on how to do this on the command line; see
[ReviewPRCommands](https://gist.github.com/vkWeb/dcec82b079f1edc19478ddb58b0ffc5e).
- Alternatively, you can edit files using the GitHub UI β€” go to the pull
request's "Files changed" tab, find the file you want to edit, and
choose "three dot" menu (...) > Edit file.
7. If a pull request is fine in itself, is a clear improvement to the content,
and makes the change it claims to make in the description, you should as a
rule merge it, even if you can see other improvements that could be made in
the same file. If you want to ensure that these other improvements will
be taken care of, file a follow-up issue or pull request of your own to
address them.
8. If you don't understand a content change that you've been selected to
review, or feel that it is too large and complex for you to deal with,
don't panic! Feel free to reach out to someone else to ask for help,
like a colleague, or someone else in your group of topic review owners
(if you know who they are). If you are not sure who to approach for help,
then ping our `@core-yari-content` group to ask for help.
9. Related to the above point, it is rare that you'll be required to review
a large, complex content change with no warning, like a complete page
rewrite, or the addition of several new reference pages or tutorials.
Usually such changes are done as part of specific work streams where
the content has been approved for addition, and reviewer(s) have been
assigned already. In such cases, the PR should be linked to an issue
that explains all these details. If you are not sure, ask the submitter
if they need a review of the content, and where the rationale behind the
change is explained. Ping our team in the [MDN Web Docs chat rooms][] to ask for help if you are still not sure, or
if you think the content is suspicious.
Note: You may encounter merge conflicts as you review pull requests, if another
pull request that touches some of the same files got merged before
the one you are reviewing.
[Addressing merge conflicts](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts)
is a useful resource to help you. Feel free also to ask your team(s) for help
if you need it.
## Specific reviewer overrides on pull requests
Some of the pull requests submitted on the `content` repo relate to specific
workstreams being undertaken by browser vendors or other organizations that
have a defined set of writers and reviewers. In these cases, the submitter
of the PR will include the username of the reviewer in a line at the bottom
of the pull request description, for example:
`reviewer: @jpmedley`
Upon submitting the pull request, they will request a review from the reviewer
specified in the pull request description. Once that reviewer has approved
the new content, they will then ask you for an approval as required by the
CODEOWNERS system for the pull request to be mergeable.
Therefore, if you receive a pull request review request and then see that
you have been overridden with another reviewer in the manner described above,
then don't review the pull request β€” just wait for an approval request.
## Topic review owners
The following specific topic areas are being reviewed by the kind souls listed
underneath them. Be kind to them, and thank them for all the help they give
to this project. If you would like to help with MDN content reviews,
[get in touch with us][].
Note that changes to any content areas not explicitly listed below will be
handled by the [@core-yari-content](https://github.com/orgs/mdn/teams/core-yari-content)
team, which currently consists of [@Rumyra](https://github.com/Rumyra/).
- [Web accessibility content](https://github.com/mdn/content/tree/main/files/en-us/web/accessibility):
- [@ericwbailey](https://github.com/ericwbailey)
- [General learning content](https://github.com/mdn/content/tree/main/files/en-us/learn):
- [@chrisdavidmills](https://github.com/chrisdavidmills/)
- [CSS learning content](https://github.com/mdn/content/tree/main/files/en-us/learn/css):
- [@rachelandrew](https://github.com/rachelandrew)
- [Server-side learning content](https://github.com/mdn/content/tree/main/files/en-us/learn/server-side):
- [@hamishwillee](https://github.com/hamishwillee)
- [MDN meta docs](https://github.com/mdn/content/tree/main/files/en-us/mdn)
β€” the [@yari-content-mdn](https://github.com/orgs/mdn/teams/yari-content-mdn)
team, which consists of:
- [@Rumyra](https://github.com/Rumyra/)
- [@Elchi3](https://github.com/Elchi3)
- [Firefox Developer Tools content](https://github.com/mdn/content/tree/main/files/en-us/tools):
- [@hamishwillee](https://github.com/hamishwillee)
- [Mozilla Add-ons reference content](https://github.com/mdn/content/tree/main/files/en-us/mozilla/add-ons)
β€” the [@yari-content-mozilla-add-ons](https://github.com/orgs/mdn/teams/yari-content-mozilla-add-ons)
team, which consists of:
- [@caitmuenster](https://github.com/caitmuenster)
- [@rpl](https://github.com/rpl)
- [@Rob--W](https://github.com/Rob--W)
- [@zombie](https://github.com/zombie)
- [@mixedpuppy](https://github.com/mixedpuppy)
- [HTTP reference content](https://github.com/mdn/content/tree/main/files/en-us/web/http)
β€” the [@yari-content-http](https://github.com/orgs/mdn/teams/yari-content-http)
team, which consists of:
- [@hamishwillee](https://github.com/hamishwillee)
- [@Elchi3](https://github.com/Elchi3)
- [@mirunacurtean](https://github.com/mirunacurtean)
- [CSS reference content](https://github.com/mdn/content/tree/main/files/en-us/web/css)
β€” the [@yari-content-css](https://github.com/orgs/mdn/teams/yari-content-css)
team, which consists of:
- [@rachelandrew](https://github.com/rachelandrew)
- [@ericwbailey](https://github.com/ericwbailey)
- [@mirunacurtean](https://github.com/mirunacurtean)
- [HTML reference content](https://github.com/mdn/content/tree/main/files/en-us/web/html)
β€” the [@yari-content-html](https://github.com/orgs/mdn/teams/yari-content-html)
team, which consists of:
- [@rachelandrew](https://github.com/rachelandrew)
- [@ericwbailey](https://github.com/ericwbailey)
- [@mirunacurtean](https://github.com/mirunacurtean)
- [JavaScript reference content](https://github.com/mdn/content/tree/main/files/en-us/web/javascript)
β€” the [@yari-content-javascript](https://github.com/orgs/mdn/teams/yari-content-javascript)
team, which consists of:
- [@Rumyra](https://github.com/Rumyra)
- [@sideshowbarker](https://github.com/sideshowbarker)
- [@Elchi3](https://github.com/Elchi3)
- [Web API reference content](https://github.com/mdn/content/tree/main/files/en-us/web/api)
β€” the [@yari-content-web-api](https://github.com/orgs/mdn/teams/yari-content-web-api)
team, which consists of:
- [@Rumyra](https://github.com/Rumyra)
- [@sideshowbarker](https://github.com/sideshowbarker)
- [@Elchi3](https://github.com/Elchi3)
- [@jpmedley](https://github.com/jpmedley)
### Reviewer alumni
The following folks used to be in one or more of our review teams, but no
longer have the time to contribute; we want to give them our sincere thanks
for all their help.
- [@vkWeb](https://github.com/vkWeb/)
- [@Ryuno-Ki](https://github.com/Ryuno-Ki)
<!---
Reference links syntax is used here because of linting markdown files ("fqdn-moz-links" rule).
See https://github.com/mdn/content/pull/21432 and https://github.com/mdn/content/pull/38369.
It can be replaced with the normal links syntax after successfully closing https://github.com/DavidAnson/markdownlint/issues/673.
-->
[mdn code example guidelines]: https://developer.mozilla.org/en-US/docs/MDN/Writing_guidelines/Writing_style_guide/Code_style_guide
[mdn writing style guide]: https://developer.mozilla.org/en-US/docs/MDN/Guidelines/Writing_style_guide
[mdn web docs chat rooms]: https://developer.mozilla.org/en-US/docs/MDN/Community/Communication_channels
[get in touch with us]: https://developer.mozilla.org/en-US/docs/MDN/Community/Getting_started#what_can_i_do_to_help