Skip to content

Commit 5124b9f

Browse files
authored
Merge pull request creativecommons#193 from creativecommons/update_contrib_guidelines
Updated contribution and PR guidelines; removed issue assignment step.
2 parents 43ed99e + cbe195a commit 5124b9f

File tree

2 files changed

+33
-17
lines changed

2 files changed

+33
-17
lines changed

content/contributing-code/contents.lr

+20-12
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,16 @@ Here's a list of [all our current projects](/projects). We use GitHub issues ass
1616

1717
We make extensive use of issue labels to desginate the status of various issues. We have a standard set of labels across all projects, [documented here](https://github.com/creativecommons/ccos-scripts/blob/master/normalize_repos/labels.py). Here are some of the ones that are most relevant to finding a good issue to work on:
1818

19-
* Issues tagged `help wanted` and/or `good first issue` are available for community contribution. You may work on an issue labeled `good first issue` even if it's not your first issue.
20-
* Issues tagged `in progress` are being worked on by someone else. If there hasn't been any issue or PR activity for at least 7 days, issues with this tag can be reassigned to someone else.
21-
* Issues tagged `blocked`, `not ready for work` or `ticket work required` are not yet ready for work. They need something else to be done first before they are ready.
22-
* Issues tagged `CC staff only` are not suitable for community contribution, usually because it requires infrastructure access or institutional knowledge that would be impractical to provide to the community.
23-
* Issues without any of the above labels may be open for contribution.
19+
* **Issues tagged `help wanted` or `good first issue`** are available for community contribution**
20+
* These issues are available for community contribution and you do not need our permission to work on one of these.
21+
* You may work on an issue labeled `good first issue` even if it's not your first issue.
22+
* Check the issue comments/labels to see whether someone else has indicated that they are working on it. If someone is already working on it and there has been activity within the last 7 days, you may want to find a different issue to work on.
23+
* **Issues tagged with one of these labels: `blocked`, `not ready for work`, `ticket work required`, `CC staff only` are not available to the community. Do not work on these.**
24+
* Issues tagged `blocked` are blocked by other work that needs to be done first.
25+
* Issues tagged `not ready for work` or `ticket work required` need additional work done on the issue before they can be opened to community contributors.
26+
* Issues tagged `CC staff only` are not suitable for community contribution, usually because it requires infrastructure access or institutional knowledge that would be impractical to provide to the community.
27+
* **Issues without any of the above labels _may_ be open for contribution.**
28+
* Please add a comment to ask whether the issue is available before starting work.
2429

2530
Some helpful saved searches on GitHub than can assist with finding an issue:
2631
- [issues labeled "good first issue"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
@@ -32,17 +37,20 @@ Some helpful saved searches on GitHub than can assist with finding an issue:
3237

3338
Once you've found an issue you'd like to work on, please follow these steps to make your contribution:
3439

35-
1. Comment on it and say you'd like to work on that issue.
36-
2. Wait for someone (usually a CC staff member or project maintainer) to confirm that you may work on the issue before writing any code. The person who confirms will assign the issue to you add an "in progress" label to the issue to indicate that the issue is being worked on.
37-
3. Once the issue has been updated to "in progress", write your code and submit your pull request. Be sure to read and follow our **[pull request guidelines](/contributing-code/pr-guidelines)**!
38-
4. Wait for code review and address any issues raised as soon as you can.
40+
1. Comment on it and say you're working on that issue. This is to avoid conflicts with others also working on the issue.
41+
* A project maintainer may mark the issue with an `in progress` label at this point, but we don't always get around to that.
42+
2. Write your code and submit your pull request. Be sure to read and follow our **[pull request guidelines](/contributing-code/pr-guidelines)**!
43+
3. Wait for code review and address any issues raised as soon as you can.
3944

40-
Even if you're not done with the issue, create a [draft pull request](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests) and push your code [early and often](https://www.worklytics.co/blog/commit-early-push-often/). If we haven't heard from you in over a week and someone else expresses interest in that issue, we will reassign the issue to the new person.
45+
**A note on collaboration:** We encourage people to collaborate as much as possible. We especially appreciate contributors reviewing each others pull requests, as long as you are [kind and constructive](https://medium.com/@otarutunde/comments-during-code-reviews-2cb7791e1ac7) when you do so.
4146

4247
## Proposing a new issue
4348

44-
If you want to work on something that there is no GitHub issue for, then create a a new GitHub issue associated with the relevant repository and propose your change there. Be sure to include implementation details and the rationale for the proposed change.
49+
If you want to work on something that there is no GitHub issue for, follow these steps:
4550

46-
If the project has a roadmap documented in the README, checking the roadmap to see if the feature is already in our pipeline would be a good first step.
51+
1. Create a a new GitHub issue associated with the relevant repository and propose your change there. Be sure to include implementation details and the rationale for the proposed change.
52+
* We are very reluctant to accept random pull requests without a related issue created first.
53+
2. The issue will automatically have the `not ready for work` label applied. Wait for a project maintainer to evaluate your issue and decide whether it's something that we will accept a pull request for.
54+
3. Once the project maintainer has approved the issue and removed the `not ready for work` label, you may start work on code as described in the "Contribution process" section above.
4755

4856
When in doubt, ask a question on [one of our community forums](/community).

content/contributing-code/pr-guidelines/contents.lr

+13-5
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,20 @@ body:
88

99
We ask that contributors to CC projects submit a pull request with your changes. If you're not familiar with pull requests, please read [this GitHub documentation](https://help.github.com/en/articles/about-pull-requests). Here are our expectations for pull requests; following them will expedite the process of merging your code in.
1010

11-
* Even if you're not done with the issue you're working on, create a [draft pull request](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests) and push your code [early and often](https://www.worklytics.co/blog/commit-early-push-often/).
1211
* Read and follow the contributing guidelines and code of conduct for the project. Here are screenshots of where to find them for [first time contributors](first-time-contributor-resources.png) and [previous contributors](previous-contributor-resources.png).
13-
* Use the format specified in pull request template for the repository.
14-
* Describe your change in detail. Too much detail is better than too little.
15-
* Describe how you tested your change.
16-
* If a reviewer is not assigned automatically, manually [request a review](https://help.github.com/en/articles/requesting-a-pull-request-review) from either the repository maintainer (if you have that information) or `@creativecommons/engineering`.
12+
* **Make a Branch**
13+
* Please create a separate branch for each issue that you're working on. Do not make changes to the default branch (e.g. `master`, `develop`) of your fork.
14+
* **Push your code ASAP**
15+
* Push your code as soon as you can. Follow the "[early and often](https://www.worklytics.co/blog/commit-early-push-often/)" rule.
16+
* Make a pull request as soon as you can and mark the title with a "[WIP]". You can create a [draft pull request](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests).
17+
* **Describe Your Pull Request**
18+
* Use the format specified in pull request template for the repository.
19+
* Describe your change in detail. Too much detail is better than too little.
20+
* Describe how you tested your change.
21+
* **Request Review**
22+
* Once your PR is ready, remove the "[WIP]" from the title and/or change it from a draft PR to a regular PR.
23+
* If a specific reviewer is not assigned automatically, please [request a review](https://help.github.com/en/articles/requesting-a-pull-request-review) from the project maintainer and any other interested parties manually.
24+
* Be sure to **re-request review** once you have made changes after a code review.
1725

1826
## Code guidelines
1927

0 commit comments

Comments
 (0)