Skip to content

Commit 83307cb

Browse files
authored
Merge pull request creativecommons#187 from creativecommons/updated_code_guidelines
Updated code guidelines & added project proposal template
2 parents 63a7f9e + 27b6217 commit 83307cb

File tree

2 files changed

+26
-30
lines changed

2 files changed

+26
-30
lines changed

content/contributing-code/contents.lr

+22-28
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,43 @@ title: Contribution Guidelines
66
---
77
body:
88

9-
We do all of our development on GitHub and are generally open to pull requests and proposals for new community-maintained projects.
9+
<p class="lead">Thank you for your interest in contributing to Creative Commons open source projects!</p>
1010

11-
We would especially like help with reviving projects that CC's engineering team does not have the time to actively work on (such as [our WordPress plugin](https://github.com/creativecommons/creativecommons-wordpress-plugin) and [license chooser widget](https://github.com/creativecommons/cc-license-chooser)). We're also looking to improve our documentation and increase our automated test coverage across pretty much all our projects, so help with that would be greatly appreciated.
11+
We do all of our development [on GitHub](https://github.com/creativecommons/). If you are not familiar with GitHub or pull requests, [here is an excellent guide to get started](https://guides.github.com/activities/hello-world/).
1212

13-
Please follow our [pull request guidelines](/contributing-code/pr-guidelines) when submitting code. If you are not familiar with GitHub or pull requests, [here is an excellent guide to get started](https://guides.github.com/activities/hello-world/).
13+
## Finding an issue
1414

15-
## Working on an existing project
15+
Here's a list of [all our current projects](/projects). We use GitHub issues associated with each project to track the work associated with that project. That's where you can find things to work on.
1616

17-
Here's a list of [all our current projects](/projects).
17+
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-
We are actively working on documenting and licensing them and adding self-contained contribution guidelines but we still have a lot of work ahead of us. We're open to contributions on any of our public projects, as long as they have a license. The license for a project is located in a file named `LICENSE` in the root directory of the repository. If the repository you want to contribute to has no license file, please create a GitHub issue attached to that repository and we'll prioritize setting those up.
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.
2024

21-
You may also create GitHub issues for any other missing infrastructure such as a `README` file.
25+
Some helpful saved searches on GitHub than can assist with finding an issue:
26+
- [issues labeled "good first issue"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
27+
- [issues labeled "help wanted"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
28+
- [issues labeled "help wanted", and not labeled as "in progress"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+-label%3A%22in+progress%22)
29+
- [incomplete pull requests labeled "help wanted"](https://github.com/search?q=org%3Acreativecommons+is%3Apr+is%3Aopen+label%3A%22help+wanted%22)
2230

23-
### Working on open issues
31+
## Contribution process
2432

25-
We track all our work via the GitHub issues associated with a repository and that's where you can find things to work on. First, check the labels on the issue you're interested in:
26-
* Issues labeled **"in progress"** are generally not available, but may be available if there has been no activity on the issue or related PR for over a week.
27-
* Issues labeled **"help wanted"** or **"good first issue"** have been identified as available for community contribution. Feel free to work on issues labeled "good first issue" even if it is not your first issue.
28-
* Here's a list of [all issues labeled "good first issue"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
29-
* Here are lists of [all issues labeled "help wanted"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and [incomplete pull requests labeled "help wanted"](https://github.com/search?q=org%3Acreativecommons+is%3Apr+is%3Aopen+label%3A%22help+wanted%22)
30-
* Here's a list of [all issues labeled "help wanted", and not labeled as "in progress"](https://github.com/search?q=org%3Acreativecommons+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+-label%3A%22in+progress%22)
31-
* If the issue does not have either of those labels, it may still be open for contribution.
32-
33-
Once you have identified an issue you'd like to work on, follow these steps:
33+
Once you've found an issue you'd like to work on, please follow these steps to make your contribution:
3434

3535
1. Comment on it and say you'd like to work on that issue.
36-
2. Wait for someone to confirm that you may work on the issue before writing any code. The person who confirms will add an "in progress" label to the issue to indicate that the issue has been assigned.
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)**!)
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)**!
3838
4. Wait for code review and address any issues raised as soon as you can.
3939

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 may approve work by the new person.
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.
4141

42-
### Proposing a new issue
42+
## Proposing a new issue
4343

44-
If you want to work on something that there is no GitHub issue for, then propose the change in [one of our community forums](/community) or 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.
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.
4545

4646
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.
4747

4848
When in doubt, ask a question on [one of our community forums](/community).
49-
50-
## New projects
51-
52-
We are also open to working on or hosting projects that are related to the Creative Commons licenses or general mission. Our [Google Summer of Code project ideas](/gsoc-2019/project-ideas) list is a good place to find ideas we'd like implemented. If you're interested in working on one of them, please propose it in one of our [community forums](/community) (you don't need to be a student, anyone is welcome to work on those ideas) and work out implementation details with CC staff members before you write any code. If you want to suggest a new project idea, follow the same process.
53-
54-
In general, we'd like any new projects to use Python, WordPress/PHP, and/or JavaScript (our framework of choice is Vue.js) so that our team can help review and maintain the project.

content/internships/applicant-guide/contents.lr

+4-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ If you're applying via Outreachy, remember to record your contribution via the O
5151

5252
## Application
5353

54-
Your final application is very important to us. This is what we will use to determine how well you understand the project and how likely you are to successfully complete it. As part of the application, you should take the project description and flesh it out into a more detailed project plan and implementation timeline. The project descriptions are all fairly short and some of them include multiple paths for the project so we expect you to do a lot of work here to turn those into a feasible plan for a complete project that you can ship during your internship, with a detailed timeline of what you plan to do every week.
54+
Your final application is very important to us. This is what we will use to determine how well you understand the project and how likely you are to successfully complete it. As part of the application, you should take the project description and flesh it out into a more detailed project plan and implementation timeline. The project descriptions are all fairly short and some of them include multiple paths for the project. So, we expect you to do a lot of work here to turn those into a feasible plan and timeline for a complete project that you can ship during your internship.
5555

5656
**This is not something you should be working on in isolation.** We expect you to have a lot of questions for the mentors along the way as you try and understand the project, come up with ideas, evaluate feasibility, etc. We also expect you to come up with a first draft and get feedback from mentors before you submit the final application on the program's official site.
5757

@@ -62,7 +62,9 @@ We suggest reading some articles on writing good Google Summer of Code proposals
6262

6363
### Template
6464

65-
You must use this template _(coming soon)_ to create your application. Please make sure that your mentors have comment permissions before you share your document with them.
65+
You must use **[our internship project template](https://docs.google.com/document/d/18LWuA_iTSGSeRFtpVQdfOoz1G30ZgJg-_K0lNSQBYd0/)** to create your application. Please make sure that your mentors have comment permissions before you share your document with them.
66+
67+
If you are applying for Outreachy, please link to the project proposal document created using this template from your final Outreachy application.
6668

6769
## Contacting Mentors
6870

0 commit comments

Comments
 (0)