Contribution Guidelines

Thank you for your interest in contributing to Creative Commons open source projects!

We do all of our development on 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 of all 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 desginate the status 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 tagged help wanted or good first issue are available for community contribution**
    • These issues are available for community contribution and you do not need our permission to work on one of these.
    • You may work on an issue labeled good first issue even if it's not your first 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.
  • 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.
    • Issues tagged blocked are blocked by other work that needs to be done first.
    • 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.
    • 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.
  • Issues without any of the above labels may be open for contribution.
    • Please add a comment to ask whether the issue is available before starting work.

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

Contribution process

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

  1. Comment on it and say you're working on that issue. This is to avoid conflicts with others also working on the issue.
    • A project maintainer may mark the issue with an in progress label at this point, but we don't always get around to that.
  2. Write your code and submit your pull request. Be sure to read and follow our pull 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 others pull requests, as long as you are kind and constructive when 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 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 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.
  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.

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

Back to top