Summer of Code Application
How to apply to Creative Commons for the Google Summer of Code program.
- We want to get to know you.
- Hi! We've never met. So the first thing to do is to get to know each other. You can send us email, but if you can catch us on irc that's a great way to start. Have you read the ideas page, do you know what CC is trying to build? (hint: you should really do that ASAP). Tell us about your interests, past and present, about your school, and your past projects. Also let us know what timezone you're in, whether you've participated in any open source development before, and how you are most comfortable communicating.
- We want to match you to the right task.
- Neither of us will be happy if you're mismatched for the project you sign up for. We need to learn what platforms/OS you prefer, and how much coding you've done. We also want to know what are the languages and frameworks you're most familiar with (and how familiar with each), and if you can back that up with github links or patches on bugzilla that's even better. Pay particular attention to the "Knowledge Prerequisite" section of each idea. Does it sound too easy, too hard, or "just right"?
- We want to know you're thinking about our ideas and coming up with your own.
- Do you understand our project goals, and our ideas? You're welcome to propose working on them as-is, but keep in mind that we consider them in some ways "conversation starters"--and are looking to you to let us know exactly what you want to build. Why are you interested in a particular idea? Want to mix two ideas? Or have a new direction? We'd love to chat about your ideas and whether they make sense or not (and why). Have you already started asking your friends for advice on particular designs or problems you anticipate? Have you started to make any bare-bones prototypes so you can show us what you're after?
- We want you to build a realistic plan for your project
- You need to be very clear on what you want to achieve. Your final, written proposal have the following information in it:
- 1. Briefly describe the overall context for your project and describe how it fits into what CC is trying to achieve.
- 2. Summarize your project and goals. What are the main components you'll be working on? Which parts are new? What is "success" for each part?
- 3. Are there any "stretch" goals? What would you do if you had extra time?
- 4. Design overview: based on what you know thus far, what is the overall design for the project?
- 5. Risk & dependency analysis: Think about each component of your proposal. What is the likelihood of something going wrong? Does it depend on any external factors? Are there new algorithms or technologies you will need to learn to do it? Then, think about what a failure to deliver on that component would do to the rest of your project--would you be able to complete your overall goals if you failed to execute that part of the plan? If not, how can you mitigate risk?
- 6. What will your schedule be like? Do you have a lot of projects going on? Will you be in school at the same time? Any planned vacations?
- 7. Write down a schedule detailing each task you will need to accomplish. Make sure that completing the tasks is enough to complete the project. What percentage of the time have you allotted to writing tests and documentation? What about code cleanup and refactoring?
We hope that this gives you a rough roadmap for all the things that you will need to consider/do as you apply to GSoC for CC. We're really looking forward to meeting you, hearing your ideas, and having you join the team!