Google Summer of Code

Guidelines and my approach.

Swapnal Shahil
7 min readAug 31, 2021

About Me

Before moving to the main events below I just want to introduce myself so that you can connect the below dots in a better way. I am Swapnal Shahil an undergraduate student at IIT Guwahati, major in Chemical Science and Technology (2019–2023) and I grew up in Patna, capital of Bihar. I got accepted for Google Summer of Code 2021 in my sophomore year.

🤔 What is Google Summer of Code?

Google Summer of Code (GSoC) is a global program that matches students with open source, free software, and technology-related organizations to write code and become part of these communities while making some money along the way! The organization provides mentors so that the students get proper guidance throughout the program and review all the ideas and code to ensure quality in the project. The whole idea of this program is to get students involved in open source and its community and utilize their summer efficiently.

Students who are accepted gain some exposure to real-world software development and employment opportunities in areas related to their academic pursuits. Also, they get some attention from some good companies in their later career.

🤷 Why should you apply?

1.GSoC is a place where you get to learn while applying skills to your project. And the learning is not just limited to technical knowledge. GSoC introduces you to a new paradigm about building code collaboratively.

2. Completing GSoC is a big achievement as your code will be used by thousands of other folks all across the globe.

3. Working on a project will enhance your skills and help you to decide on better and efficient algorithms. Students who are already active developers can apply themselves to a specific project even before the GSoC.

4. During the 12 weeks of writing good code, you interact and share ideas with some great people. At the end of it, you’ve made some great friends from all over the world with whom you can discuss fun projects, get feedback on your code, and just about anything.

5. GSoC is a great place to get you jump-started and up to speed on the basics of the open-source community. This paves your way forward for making big contributions. It’s a great way to make your first entrance on the open-source stage and get noticed.

6. One very tangible and obvious advantage of participating in GSoC is the stipend that you make while working with amazing people on a great project. Being a successful GSoC student is in fact a prestigious achievement. It’s another way to make your resume more impressive.

🔍 How to choose an organization?

Choosing an organization is always a big question for students. The very first step towards choosing an organization is to find out What type of skills you have?, What are your professional interests?, What do you want to get out of GSoC?

After finding all these questions, you can find the previous year's organizations list which got accepted here at GSoC Archive. It's always better to filter organizations using tags based on your skills and interests.

In my case, I created a google sheet that contains the organization’s list, number of times the organization got selected in previous consecutive years, number of selected students in that organization, technology used, and my priority to that project. And after researching a lot and prioritizing things I selected one organization and work majorly on a particular project. It was a bit risky and I will recommend you to try for at least two projects unless you are confident for one project only.

After choosing organization you must introduce yourself to the community there and don't forget to tell them why you joined that community. Start contributing small and end it with a big one!

Pro Tip: Communicate as much as you can!!

It’s always better to discuss what you are thinking with the community members and mentors before making a contribution. Also, don't forget to ask if the organization will be participating in GSoC or not! It may possible that the organization is not thinking about GSoC and you are putting your effort there. Although it's always good to contribute and add value to a project which can solve real-world problems.

🔍 Finding the Right Project

Each organization will have a Project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by students.

Once you’ve researched the shortlisted projects and got your questions answered, re-evaluate your options before writing the proposal.

FYI: You can submit only three proposals!

In my case, I submitted only one proposal and luckily it got accepted.

📝 Writing a proposal

Most organizations have their own proposal guidelines or templates. You should be extraordinarily careful to conform to these. Also, most organizations have many, many proposals to review. Failure to follow simple instructions is highly likely to land you at the bottom of the heap.

There are certain elements of the proposal that should apply to every organization. Proper attention to these elements will greatly improve your chances of a successful proposal.

  1. Provide your full information as much as you can.
  2. Your project title should be short, clear, and interesting.
  3. If the format allows, start your proposal with a short summary, designed to convince the reviewer to read the rest of the proposal.
  4. Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding, and documentation.
  5. Make sure you did exhaustive research while writing proposal that fits into the target organization. Be sure to explain how the proposed work is different from similar related work.
  6. Be sure to communicate personal experiences and skills that might be relevant to the project. Summarize your education, work, and open source experience. List your skills and give evidence of your qualifications. Convince your organization that you can do the work. Any published work, successful open-source projects and the like should definitely be mentioned.
  7. Use charts or images in your proposal to demonstrate how you are going to work.
  8. Don't show your proposal to others until it got selected!

Pro Tip: Submit your draft proposal as early as possible!!

Remember, thousands of students submit their proposals. So, submitting your draft proposal early helps you to get early feedback from mentors.

Don't forget to submit your final PDF proposal before the application period closes.

Even if you submitted your proposal you should continue thinking about the project and discussion in the community channel. This will show your presence in the eyes of mentors and admin there.

Now you just need to wait for “Student Projects Announced Day”. On this day you will get a mail stating whether your proposal got accepted by the organization or not.

📌 The Unique Rule

When I was applying, I observed certain things which were common in earlier accepted projects proposals. All proposals have something unique in their own way and maybe the reason for selection. I called this “The Unique rule” which states that at least one of the following should be present in your attempt:

  1. Unique tech stack: There will be thousands of students who will be knowing web development only. If you are one of them, make sure you know better than others. If you know Verilog, R, game development, etc. you will face fewer competitors there.
  2. Unique project: You will encounter a wide variety of interesting projects but it's a bit tricky to find uniqueness in the project from other ones. It may possible you introduce a project idea that mentors may find unique and never thought of before in the community. In that case, you have a greater than 50% chance of selection.
  3. Unique proposal: Definitely mentors select the unique proposal which contains all types of information and description of your work which you have done till that day and what you are going to do in the coding period. Try to show your insights in tabular or chart which will be catchy and easily readable for mentors and admins. Also, maintain professionalism in your words there.

Being Turned Down

What if you didn't get into GSoC?? 🤯

Remember you are a learner! The beauty of engaging in the GSoC process is that you’re learning about groups of people that extend beyond just GSoC. Making contact with potential mentors and a software community sets the stage for future opportunities for participating in community-developed open-source software projects. Also, you can add in your resume that you contributed to XYZ organization which will show that you invested your time meaningfully.

I hope you have now an idea about how you should approach it and how you are going to write your next proposal! 😉

Remember! “Yesterday is history, tomorrow is a mystery, today is a gift of God, which is why we call it the present”. So start your open-source contribution as early as possible!

Keep Hustling!!

❤️ Connect with me: Linkedin, Github, Instagram, Twitter! ❤️

--

--

Swapnal Shahil

GSoC’22 Mentor || GSoC’21 @SCoReLab || B.Tech at IIT Guwahati'23