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

docs: good first issue doc english #699

Merged
merged 2 commits into from
Jun 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/contributing_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Absolutely everyone is welcome to come to any of our meetings. You never need an

We have good first issues for new contributors and help wanted issues suitable for any contributor.

- [good first issue](https://github.com/devstream-io/devstream/labels/good%20first%20issue) has extra information to help you make your first contribution. If you are new to DevStream (or even new to open-source,) this is a good place to get yourself started.
- [good first issue](https://github.com/devstream-io/devstream/labels/good%20first%20issue) has extra information to help you make your first contribution. If you are new to DevStream (or even new to open-source,) this is a good place to get yourself started. For more information, see the [good first issues doc](./development/good-first-issues.md).
- [help wanted](https://github.com/devstream-io/devstream/labels/help%20wanted) are issues suitable for someone who isn't a core maintainer and is good to move onto after your "good first issue."
- Sometimes there won’t be any issues with these labels. That’s ok! There is likely still something for you to work on. If you want to contribute but you don’t know where to start or can't find a suitable issue, you can reach out to us on our [Slack channel](https://join.slack.com/t/devstream-io/shared_invite/zt-16tb0iwzr-krcFGYRN7~Vv1suGZjdv4w) and ask for an issue to work on.

Expand Down
54 changes: 54 additions & 0 deletions docs/development/good-first-issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Good First Issues

Want to contribute to DevStream (or open-source in general), but not sure where to begin?

Browse [good first issues](https://github.com/devstream-io/devstream/labels/good%20first%20issue) to start!

## The "good first issue" Label

Items marked with the “good first issue” label are intended for _first-time_ contributors.

### For Contributors

After a contributor has completed one (or two) "good first issue" items, it's recommended to move on to the "[help wanted](../contributing_guide.md/#find-an-issue)" label, saving the remaining "good first issue" items for other new contributors.

### For Reviewers

- Keep an eye on pull requests for "good first issue" and guide the contributors through the [pull request process](../contributing_guide.md#pull-request-lifecycle).
- Let them know what the next step is. For example:
- move on to another good first issue if they are not completely confident yet
- find "help wanted" issues
- join the community [Slack channel](https://join.slack.com/t/devstream-io/shared_invite/zt-16tb0iwzr-krcFGYRN7~Vv1suGZjdv4w), etc.
- Proactively call out when there is a problem, and provide information on how to fix it.

All of these make new contributors feel welcome and valued and assure them that they will have an extra level of help with their first contribution.

_Please make sure that new contributors should not be left to find a reviewer, ping for reviews or bump, understand why the CLA([Contributor License Agreement](https://en.wikipedia.org/wiki/Contributor_License_Agreement))/DCO([Developer Certificate of Origin](https://developercertificate.org/))_ check failed, identify that their build failed due to a flake, etc._

## Criteria for "good first issue" Items

A good test for "good first issue" is: that a new contributor should be able to claim and address the issue, submitting an acceptable pull request without requiring more help.

Part of an issue's suitability comes from the nature of the issue itself, but the rest is determined by how much context you provide in the issue so that the new contributor can be successful. With that in mind, please do provide as much detail as possible.

- No Barrier to entry: a new contributor can tackle without advanced setup, or domain knowledge.
- Provides context: if background knowledge is required, this should be explicitly mentioned, and a list of suggested readings included. Do not apply the label to an issue without first editing it to add context.
- Solution explained: the recommended solution is clearly described in the issue.
- Gives examples: link to examples of similar implementations so new contributors have a reference guide for their changes.
- Identifies relevant code: the relevant code and tests to be changed are linked in the issue.
- Ready to test: there are existing tests that can be modified, or existing test cases suitable for copy-pasting. If the area of code doesn't have tests, before labeling the issue, add a test. This prep often makes a great help wanted task!

## Building a Passionate Community

If you make someone feel like a part of our community, that it's safe to ask questions, that people will let them know the rules/norms, that their contributions are helpful and appreciated... they will stick around!

To make our community as welcoming as possible, the following action items are suggested:

- Encourage new contributors to seek help on the appropriate Slack channels, introduce them, and include them in your conversations.
- Invite them to your project's meetings, introduce them when they attend, and give them a chance to participate.
- Give credit to new contributors so that others get to know them, "Hey, would someone help give a second LGTM on @newperson's first PR on chocolate bunnies?". Mention their work in [Slack](https://join.slack.com/t/devstream-io/shared_invite/zt-16tb0iwzr-krcFGYRN7~Vv1suGZjdv4w) or during a meeting, thank them on Twitter, etc.
- Use all the emojis in your approval or LGTM comment. 💖 🚀
- Acknowledge and thank them for submitting their first pull request and then let them know that you are here to help.
- Suggest a related help wanted so that can build up experience in an area.
- People are more likely to continue contributing when they know what to expect, what is an acceptable way to ask people for a review and nudge things along when a pull request is stalled. Demonstrate how your project works by helping move their first pull request along.
- If you have time, let the contributor know that they can DM you with questions that they aren’t yet comfortable asking the wider group.
3 changes: 3 additions & 0 deletions docs/development/good-first-issues.zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Good First Issues 中文文档

todo
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ nav:
- 'contributor_ladder.md'
- 'contributor_ladder.zh.md'
- Developer Guide:
- 'development/good-first-issues.md'
- 'development/good-first-issues.zh.md'
- Core Concepts in Detail:
- 'core-concepts/config.md'
- 'core-concepts/config.zh.md'
Expand Down