Open Source Work Programs: Applicant Guide

CC participates in open source work programs such as Google Summer of Code (GSoC) and Outreachy. Both CC staff and community members are welcome to lead projects. Details about specific programs and rounds are listed in the Overview page; this page serves as a general guide to applicants.

Getting Started

If you are interested in applying to be an open source contributor as part of a work program at Creative Commons (CC), here's a few things that will help:

Understand the Program

Here are some resources:

Understand Creative Commons

Your first step should be to understand Creative Commons and what we do. We are not simply an open source software project like many other work program organization. We are a nonprofit organization and we have a lot of different programs – technical, legal, educational, public policy, organizational, and more. You can start reading about us at our primary website (CreativeCommons.org) and you can find plenty of information through searching about us. You'll need to know a decent amount about us in order to help us effectively.

If you have a question about how we work, our programs, our licenses, or anything like that, please don't hesitate to ask (join the community)!

Join the Community

Join the #cc-dev-workprograms channel on the CC Slack as early as possible to introduce yourself and get feedback on your ideas. All our project leads are on Slack. Please ask your questions on the channel instead of via direct message. This lets other community members learn and participate.

Pick a Project

Your next step should be to pick a particular project that you are interested in working on. The Overview page will cover the current work program rounds and link to related project ideas.

Once you pick the project you are interested in, make sure to learn about the project thoroughly. You are going to be spending three months working on the project and you will need to understand what the work entails so that you can plan the work out ahead of time and submit a strong application. The project descriptions are quite short so we expect you to do a lot of work here on your own. You will need to take the project description and expand it out into a more detailed project plan and implementation timeline.

The project leads are here to help you. We expect you to have a lot of questions along the way and we are happy to answer them.

Contribute!

You will need to make at least one contribution to a Creative Commons project so that we can see a sample of your work. This is important for our evaluation of your application. For more details, see the Contributing section, below. Note that for Season of Docs applicants, mentions of "code contributions" in this guide are somewhat synonymous with documentation contributions, and we would like to see both code and documentation related contributions from Season of Docs applicants to show a well rounded skill set.

Draft Application

The final step is to create a draft application and share it with your chosen project lead for feedback. Do not wait until the last minute to do this. You should ideally get at least two rounds of feedback from the project leads before you submit your final application. For more details, see the Application section, below.

Contributing

Why contribute?

Contributions are for you to get a sense of what it is like to contribute to an open source project (getting used to the GitHub workflow, interacting with other contributors, etc.) and for us to see a sample of your work/skills. If we are impressed by your contributions, we are more likely to select you as a work program contributor.

How to contribute

Please read our Contributing Code page for information on how to contribute. You can contribute to any Creative Commons repository, although it's better if you demonstrate skills related to the project you are applying for. Also, check your project's description for more specific contribution guidelines (not all of them will have them).

If you're applying via Outreachy, remember to record your contribution via the Outreachy website! You can record contributions even if you have not yet received feedback on them or if they have not been merged--our project leads are busy so they can not always provide immediate feedback.

Contributing Documentation

If you are applying for Google Season of Docs, one of the best ways you can contribute to documentation is to find places where documentation can be improved, and open an issue for it on GitHub. Be sure to state what, specifically, could be improved, and how you plan to improve it.

We prefer to see contributions that make substantive changes or improvements to documentation such as improving the clarity of existing documentation or creating new documentation. Typo and grammar fixes are, of course, still welcome, but we do like to see more substantive improvements.

We would also like to see Season of Docs applicants make some code contributions to show a well rounded skillset and understanding of the project.

Application

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 the work program.

This is not something you should be working on in isolation. We expect you to have a lot of questions for the project leads 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 project leads before you submit the final application on the program's official site.

We suggest reading some articles on writing good Google Summer of Code proposals (even if you're applying for Outreachy). Here are some examples:

Template

Google Summer of Code (GSoC)

You must use our work program project template to create your GSoC application. Please make sure that your project leads have comment permissions before you share your document with them.

Outreachy

Our work program project template is not strictly required, but it is an effective tool that allows you to receive draft feedback from the project lead. Please make sure that your project leads have comment permissions before you share your document with them. Applications that include a link to our work program project template are preferred.

Contacting Project Leads

All the CC project leads are on Slack. Please use public channels on Slack as the primary method of communication. Public channels are better than direct messages because it allows any available project lead (or even another applicant and contributors) to answer your questions and interact with you. It also allows other applicants and contributors who have the same questions to benefit from the answer.

Please ask project leads specific questions. We don't know how to help you get started unless we know what you have questions about. People come from a variety of experiences and backgrounds and the things you may be confused about may be totally different than the things that someone else has questions about. Please give us as much information as possible, the more you tell us, the better we can help you.

Remember that the project leads are busy. It is good to follow up if you don't get a response, but wait a couple of business days first.

Please refrain from addressing project leads as "sir" or "ma'am". We prefer to be addressed by our first names or usernames.

Contributor Selection Criteria

Here are a few things we consider when selecting work program contributors:

  • Quality of the proposal: This is the most important thing. A good proposal includes attention to detail, externally measurable milestones, consideration for future maintainability and community involvement, and a demonstration of your skills.
  • Community involvement: One of our major goals is to build an active development community and attract long-term contributors. We see engaging in the community, whether it is asking questions, helping other students, contributing code, filing bugs, or whatever else, as a sign that you're genuinely interested in our work.
  • Contributions: We appreciate seeing your contributions! They help us gauge your ability to orient yourself to a new codebase or the quality of your writing. Contribution quality is instrumental in giving us the confidence that you have the skills necessary to implement your proposal.
  • Communication skills and initiative: These are essential to completing a successful project. Things we look for (among others): asking specific and detailed questions, following up on conversations, making sure to read available resources before asking questions, being patient and responding to critical feedback well.

Number of Accepted Contributors

Please, note that any work program has a limited amount of projects that are able to be funded. Therefore, we will probably not be able to select a contributor for every project idea that we have listed. CC will be allocated a limited number of project slots by the program and we can only accept the number of contributors that we have slots for.

Thank you

Thank you for your contributions and your time!