How to Apply for Google Summer of Code
Basic information and advices from a former student
Google Summer of Code is a great program that helps students from all over the world get involved in open source. Last year I was a GSoC student from Pharo Consortium working on the DataFrame project. In this article I will give you the basic instructions on how to apply for this program.
All instructions are based on the official Student Guide and my personal experience. Should you have any additional questions, please leave a comment or contact me directly.
What is GSoC?
Google Summer of Code (g.co/gsoc) is Google’s summer program for university students to learn about, and get involved in open source. It’s happening again for the 14th year in 2018! Over 13,000 students from 108 countries have participated.
Google Summer of Code is a unique program where students are paired with a mentor to introduce them to the open source community and provide guidance while they work on a real world open source project during their summer break from university. Projects cover a wide range of fields including: Cloud, Operating Systems, Graphics, Medicine, Programming Languages, Robotics, Science, Security and many more. This is not an internship but still provides an invaluable experience and looks great on a resume!
The application period opens on March 12, 2018 and ends on March 27th, 2018. It’s a highly competitive program (and this year is expected to be even bigger than last year), so don’t wait to the last minute to prepare!
Got questions? Email email@example.com.
What are the eligibility requirements?
- You must be at least 18 years of age.
- You must currently be a full or part-time student (or have been accepted for the fall term) at an accredited university as of the student acceptance date.
- You must be eligible to work in the country you will reside in during the program.
- You have not already been accepted as a Student in GSoC more than once.
- You must reside in a country that is not currently embargoed by the United States. See Program Rules for more information.
OK, but am I good enough?
Do you have some programming experience at the university level? Then, yes, you are good enough! No, you don’t need to be a Computer Science or IT major. Students from all subject areas are successful GSoC students. Have work experience programming but spend your time studying philosophy full-time? Yes, you are good enough to be a GSoC student!
My personal opinion is that during GSoC communication skills are way more important than technical ones. Every day during this summer you will be talking to 5–10 people from different countries and backgrounds (including your mentors, fellow students, and other members of the community) through email, Skype, Slack, Discord, IRC etc. You will be writing weekly blog posts about your project and submitting the detailed daily reports (What did you do today? What do you plan to do tomorrow? What help do you need?). In some cases you will also be writing a lot of documentation, filming video tutorials. Perhaps you will even present your project at some conference or workshop.
Daily communication with your mentors and community is essential for successfully completing your GSoC. If you don’t know how to do something — ask questions on forums or community chats, ask your mentors to help you. If you have established a good channel of communication, you will get help within minutes.
So don’t hesitate to apply even if you are not sure that your technical skills are not strong enough. Of course, it’s important that you have some required minimum, but GSoC is about learning — your mentors will be more than happy to help you learn and fill the missing gaps in your skill set. Just don’t be afraid to ask.
When are the deadlines?
Be sure to check out the full program timeline. Here is a short list of the most important dates for your application:
- February 12
List of accepted mentoring organizations published.
- February 12 — March 12
Potential student participants discuss application ideas with mentoring organizations.
- March 12 — March 27
Student application period.
- April 23
Accepted student proposals announced.
Great! How can I apply?
Pro Tip: The earlier you apply, the better. Submitting your proposal early helps you get early feedback.
Step 1. Choose the organization
Choosing the mentoring organization is the most important decision you have to make when applying for GSoC. The project you will be working on, the technologies you will be using, the people you will be communicating with — it all depends on the organizations you choose. In fact, it is mentoring organization that will be reviewing your application, not Google.
Here is the list of questions that will help you choose the right organization:
- What open source software do you use?
- What are your professional interests?
- What are your hobbies?
- What is your skill set?
- What do you want to get out of GSoC?
It’s very important that you feel passionate about the open source project you choose to work with. You will spend a lot of time working on it — the precious days of summer that could be spent otherwise. So don’t choose the organization just because it is cool and you’ve heard of it somewhere. Make sure that you truly love and care about what this organization is doing.
Remember that you are not just choosing an employer for one summer. You are about to become a member of an open source community. Visit the forums of the organization you want to choose, subscribe to their mailing list. Introduce yourself. Ask questions. Is this community friendly and responsive? Do you feel comfortable there? Communication will be the most important part of your project. So make sure you will be enjoying it.
Here is a nice advice from the Student Guide:
For each organization, take some time to learn more about what they do. The organization’s mission, it’s size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you’ll find an organization that you are enthusiastic to be a part of.
The list of accepted organizations will be published on February 12. You can check out the list of the last year’s organisations. If you click on the organization in the list, you will be directed to the page with it’s description, technologies that are being used, and the ideas list. Take time to read all of it. Then follow the links and find more information on the Internet.
Step 2. Choose a project
When applying for GSoC, each organization is required to submit the list of ideas for projects publicly published on its website. Many organizations will allow you to propose your own project. In that case you must carefully discuss everything with your mentors. It is very important that your project is realistic, innovative, and will be useful for the community. Read this guide to learn how to propose an original project.
Each project has a mentor assigned to it and the list of required / preferred skills. Don’t get upset if you don’t have some of the listed skills. You have plenty time to acquire them, both before and during GSoC.
Pro Tip: Don’t be afraid to apply to projects where you only meet 51% of the listed requirements. Include a section on how you’ll compensate for or learn the missing skills — and demonstrate during the application process that you are working on acquiring those new skills.
I strongly suggest that you get in touch with the project’s mentor at this stage. Tell him why you are interested in the project he proposed. What are your expectations for this project? Do you have a clear understanding of what this project is about? What are his expectations? Ask him if your skill set would be enough to complete this project. Perhaps he can suggest you some resources (books, papers, online courses) that would prepare you for this project and provide some background knowledge for writing a good proposal.
Step 3. Get in touch with the community
After the organization and project were chosen, there is just one more thing left to do before you start working on your proposal — introduce yourself to the community. They are the people who will be using your project. Ask them what they expect from it? What features would they like to see implemented? Did someone work on a similar project already? Perhaps they have ideas that can be useful for you.
Make sure that by the time you start writing on your proposal, you are familiar with this community, their needs and expectations. Make sure you know your target audience and understand how your project can be useful for them.
No matter what, don’t wait until you apply to initiate contact! Engage with multiple communities once the participating organizations are chosen to get a feel for how different groups work.
Step 4. Prepare your project proposal
Project proposal is basically your whole application. It should contain the detailed description of your project (including deliverables and the timeline), related projects, your biographical information etc. Typically, organizations should publish their own requirements for project proposals, but the general guidelines can be found in the Elements of a Quality Proposal.
Share your draft with the community and ask them for feedback. You might have to rewrite your proposal several times, but that’s great — every draft will be much better than the previous one, and that will improve your chances. If the organization you are applying to is relatively small, the community might even help you write your whole proposal.
When you are ready, submit your final PDF and wait for results.
You can take a look at my proposal: Pharo GSoC 2017 to get a general idea of what it is and how it should be structured (but remember that your organization might have different requirements). You can also find two proposal examles in the Student Guide.
What will I get out of it?
- You will become part of an open source community. Many students continue working on their projects after GSoC and become active open source contributors.
- In just one summer your will take your programming and communication skills to a whole new level. GSoC offers a truly unique learning experience.
- You will build your network, interact with some of the greatest people in the field, learn from amazing teachers, find good friends from all over the world. You might be offered a job or invited for internship by the members of your community or offered a chance to present your work at a conference and publish a paper about it.
- You will be earning a stipend from Google. The ammount of stipend depends of the country of your origin. As a Ukrainian student I was granted $2,400 for summer. You can read the article about Student Stipends to find more information on how they are paid and what is the total stiped amount for the students from your country.
- Being a successful GSoC student is a prestigious achievement that will make your resume much more impressive.
- All successful GSoC students who would like to apply for a role at Google (an internship or a full time position) will be offered a one time referral.