You are on page 1of 4

Contribution Guidelines

 Finding an issue
 Contribution process
 Proposing a new issue

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**
o These issues are available for community contribution and you do not
need our permission to work on one of these.
o You may work on an issue labeled good first issue even if it's not your
first issue.
o 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.
o Issues tagged blocked are blocked by other work that needs to be done
first.
o 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.
o 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.
o 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:

 issues labeled "good first issue"


 issues labeled "help wanted"
 issues labeled "help wanted", and not labeled as "in progress"
 incomplete pull requests labeled "help wanted"

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.
o 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.
o 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.


Join the CC Developer
Community
 Mailing Lists
 Slack
o Slack Tips
 IRC

Join our Slack or mailing list communities to meet other developers interested in
Creative Commons, get feedback on your projects, and talk with CC's full-time
engineering staff. You can also keep up with us on the CC Open Source Blog or
via Twitter.

Mailing Lists
CC Developers: For general technical discussion open to all members. Join on
Google Groups or by sending an email to cc-
developers+subscribe@creativecommons.org .

CC Usability Announcements: Announcement-only list for users to sign up for


usability testing. Join on Google Groups or by sending an email to usability-
announce+subscribe@creativecommons.org .

Slack
Creative Commons has a large Slack community with sub-communities for
tech/developers (of course), the CC Global Network, specific countries, open
education, GLAM, and more. It is open to the public and you can sign up here. If
you're not familiar with Slack, please read "Getting Started" on Slack's usage guide.
Information on joining a specific channel is on "Join a channel".

Once you join, please introduce yourself in the #cc-developers channel.

The channels most relevant to CC's developer community are:

Channel Purpose

#cc-dev-browser-extension Discussion related to the CC Search browser extension.

#cc-dev-cc-catalog-viz Discussion related to the CC Catalog visualizations.

#cc-dev-legal-database Discussion related to the CC Legal Database.

#cc-dev-license-chooser Discussion related to the new CC license chooser.

#cc-dev-linkchecker Discussion related to the CC automated link checker.


Channel Purpose

#cc-dev-vocabulary Discussion related to CC Vocabulary.

#cc-dev-wordpress Discussion related to the CC WordPress plugin.

#cc-developers General technical discussion, new tech blog posts.

#cc-gsoc-outreachy General Google Summer of Code and Outreachy related discussion.

#cc-outreachy-platform-toolkit Discussion related to the CC Platform Toolkit Outreachy project.

#cc-search Discussion related to CC Search, the CC Catalog API, and CC Catalog.

#cc-usability General usability discussions, seeking feedback on new releases of CC pro

Slack Tips

 You will automatically join the #general and #cc-announcements channels when you


sign in to Slack for the first time.
o #general is for general purpose discussions relevant to CC.
o #cc-announcements is reserved for important announcements from CC staff.
 For more information about how Creative Commons uses Slack, see the Slack page
on the CC public wiki.
 If you're looking to talk to someone on CC's full-time engineering staff, you're most
likely to find us on Slack between 11:00 and 23:00 UTC on weekdays.

IRC
We don't use IRC much, but if you'd like, you can join the #creativecommons-
dev channel on Freenode. This channel is mirrored to the #cc-developers channel on
Slack so that messages posted on Slack show up on IRC and vice-versa.

If you're not familiar with IRC, here's a good guide to getting started. You can also
join using the Freenode webchat.

Back to top

All the content on this website is license

You might also like