Contribution Guidelines

We do all of our developmenton GitHub.If you are not familiar with GitHub or pull requests,here is an excellent guide to get started.

Finding an issue

Here's a list ofall our current 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.

We make extensive use of issue labels to designate the priority, status and beginner-friendliness of various issues. We have a standard set of labels across all projects,documented here.Here are some of the ones that are most relevant to finding a good issue to work on:

  • Issues available for community contribution:
    • The following tags mark issues that are open for community contribution:
      • help wanted:Open to participation from the community but not necessarily beginner-friendly
      • good first issue:Open to participation from the community and friendly towards new contributors
    • You do not need our permission to work on one of these issues.
    • You may work on an issue labeledgood first issueeven if it's not your first issue.
    • Please don't ask for issue assignment or claim issues. Do the work and submit a pull request (PR).
      • Even if multiple people submit PRs for the same issue, multiple ideas and implementations strengthen the final product.
      • For work program applicants, each can all list their own PRs on their application. It is the quality of work that is important, not whether it is merged.
  • Issues not available for community contribution:
    • The following tags mark issues that arenotopen for community contribution:
      • 🔒 staff only:Requires infrastructure access or institutional knowledge that would be impractical to provide to the community
    • Do not work on these.
  • Issues not ready for work:
    • The following tags mark issues that arenotopen for community contribution:
      • 🚧 status: blocked:Blocked by other work that needs to be done first
      • 🧹 status: ticket work required :Needs additional work before it is ready to be taken up
      • 🚦 status: awaiting triage: Has not been triaged by a maintainer
    • Do not work on these.
  • Issues without any of the above labels:
    • These issuesmay(or may not) be open for contribution.
    • Please add a comment asking one of the maintainers to triage the issue and label it as appropriate.

You can use ourIssue Finder toolto find a good issue that matches your skills and familiarity with our software and community.

Some helpful saved searches on GitHub that can assist with finding an issue:

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.

Contribution process

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

  1. If you have followed the guidelines above, you don't need to ask permission to start work on an issue.
  2. Write your code and submit your pull request (PR). Be sure to read and follow ourpull request guidelines!
  3. Wait for code review and address any issues raised as soon as you can.

A note on collaboration:We encourage people to collaborate as much as possible. We especially appreciate contributors reviewing each other's pull requests, as long as you arekind and constructivewhen you do so.

Proposing a new issue

If you want to work on something that there is no GitHub issue for, follow these steps:

  1. Create 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.
    • We are very reluctant to accept random pull requests without a related issue created first.
  2. The issue will automatically have the🚦 status: awaiting triagelabel applied. Wait for a project maintainer to evaluate your issue and decide whether it's something that we will accept a pull request for.
  3. Once the project maintainer has approved the issue and removed the🚦 status: awaiting triagelabel, you may start work on code as described in the "Contribution process" section above.

When in doubt, ask a question onone of our community forums.

Donations

Recurring donations to Creative Commons Open Source can be made viaSponsor @creativecommons on GitHub Sponsors.

Thank you to ourSupporters!