GSOC -(Complete Guide )
Tags: gsoc, opensource
Published: 2023-01-24 06:26:41

After the completion of Google Summer of Code 2022 , a few months later I frequently received DM’s(just because of GSOC 🌝) on my LinkedIn, and social media accounts regarding,



****

How to start with Google Summer of Code(GSoC)?
When do I start Contributing? What all need to be learned ?
How to Select an Organisation ?
What all are included in it? Steps to be followed ?
After answering some of them , I just thought of writing this blog to give an overview and almost everything that you need to know about GSoC(of course everyone does the same 🙌).

Even if you are a newbie and haven’t heard about GSoC, this is something that might develop interest in you!

This Blog Consists of an intro to GSoC, my experience and step by step guide of how you can possibly get selected for GOOGLE SUMMER OF CODE! Plus, there are some extra tips too(Optional).

What Actually the Google summer of code is and What it isn’t?
GSoC is a non-competitive (after the selection, of course) program for students to get some experience in open source development. It is an initiative taken by Google that helps organisations get connected with students and get them started with their open source projects. It is a great platform to explore new areas and perhaps discover a new career path!

GSoC is not an internship or may not be considered an internship. Do not look at it as a way to earn money( “money is everything” ~melon lusk). Of course you get paid a decent step-end for your work according to the type and size of the projects (~175hrs / ~350 hrs).It is definitely not something you should do on semi-commitment or just for the sake of it being famous or giving valued, because the world depends on open-source software more than one might think.

Simply put, it’s a 10/12–22 weeks long program by Google aimed at promoting Open Source Software development among college and university students (from 2022 anyone age ≥ 18 can be apart of it).
You work with one of the many Open Source Organizations on a language/framework of your own choice.

we will not discussing any stuff related to the GSoC time lines and dates related to the GSoC in this blog as those all stuff will be already given on the official GSoC-Website.

What are the perks (benefits) of GSoC?

Before discussing any further, let’s know about the benefits of the GSoC offers so that you can get motivation during the preparation. Of course, everything is just an encouragement for the one who is participating.

The first and most apparent perk is getting to learn new stuff. You will have a chance to interact and be a part of an astonishing community. Mentors and community members are experts in their fields, and getting an opportunity to connect with them is incredible. You might be able to get recommendations or referrals from them, which might help forge your career path.
You get to work with the latest technologies on a large codebase again technologies are based on the your selection of projects and organisations(THINK PERFECTLY WHILE THINKING xD). Knowing the fact that your code will be merged into the main codebase and will be used by thousands of other developers is itself a considerable motivation. GSoC will significantly increase your skillset and surely will give a sense of accomplishment!
The tag of GSoC on your resume will give you an edge over other applicants while applying for jobs which played an role for me too. It shows that you have some real experience in developing software.
Google pays you a very decent amount of stipend for your work during GSoC. If you want to get exact info about the stipend, check the link.
(note) :- Every person who completes GSoC has provided a one-time referral for a possible job opportunity at Google which is stopped from few years ago (reason:- Google knows).

How can you start Open-source? Why is it essential for GSoC?
It’s never been easy to learn to program. But despite several ways to learn how to code, trust me, 😅, the best way to improve your skills and abilities is by contributing to open-source projects. For those who do not have any idea about open-source, at the simplest level, open-source is merely a way of writing code that other people can freely use, modify, and enhance.

For someone with no open-source experience, one of the best ways to get started is through GSoC, irrespective of whether you are a GSoC aspirant. First and foremost, you should select a programming language of your choice. Once you've decided on a programming language, look for a project that matches your interests and passions. And in the mean time you need a bit knowledge or pre-requisites of Git and GitHub as they are the most popular platforms for open source collaborations, so you will probably use it while exploring the world of open source. First, you need to create an account on GitHub and read the guide that helps you get started.

There are many organizations where people work together on their favorite pieces of technology in their free time, some of them as a daily job! I think the GSoC archives are one of the best-curated lists of excellent open-source organizations. The most straightforward path would be to see all the organizations and choose one purely based on what kind of end product excites you. Forget about the tech stack for the moment. Once you’ve selected an organization, try diving a little deeper into it. Most organizations have some instructions on getting started. Follow those instructions. For detailed knowledge about how something works, you can always find resources from a simple web search. Read up on the necessary concepts. You’re good to go. Try fixing a simple bug or implementing a simple feature. These first few steps are the most challenging and require nothing more than firm resolve and persistence.

Developers strictly adhere to the general rules and coding practices of their organizations. Therefore, while contributing to an Open Source project, one learns about what “clean code” is and how to write quickly readable and maintainable code. 😲. The main reasons why a developer opts to contribute to an open source project are to get recognition, to improve their programming skills, and to become a part of this vast community.

How can you get into GSoC ?
There is no exact or straightforward or correct answer to this question, but let’s discuss some key areas where you should take charge.

Step-1:- Make your Application

This is about learning to work in a team, how to write good code, teamwork, and of course- contribute. Introduce yourself in the open source community, and keep in mind that for every organization, the style of writing code differs just a tad bit — get the hang of the style for a few organizations and try fixing easy bugs (If you want to fix an existing bug, leave a comment on the issue, and wait for conformation before proceeding to work on the bug) — this gives you a flavor of the code base, and after a week or so, you can try skimming through the code base, and proceed to more challenging bugs, or patches, or even help build the documentation.

Gentle reminders at this point — getting the code base and setting it up is the hardest part- the rest is relatively simpler.

Every organization, has guidelines to set up its codebase in a developer environment, and also a robust community of open source enthusiasts who are all to ready to help just about anyone with an interest take their fledgling steps- after all, like any good collective effort, every little contribution matters in open source.

Step -2:- Find the organizations you want to work for.

Interest is key (communication as well). You can search for organizations based on your area of interest/language of interest.

Around early Nov/Dec, Select 3 to 4 organizations that have been listed for GSoC in the past, and go through their projects and homepage issues. Try not to go with the flow and choose only well known organizations, lesser known organizations have interesting projects, along with a greater chance of your proposal getting selected.

Set up the codebase of the projects, compile it and run- generally this makes it easier to find bugs, or go through existing issues. From December to February, try to make your presence felt in the organization.

GSoC selections depend to a great extent on how active you are in the organization- aim for at least one issue/fix per week. Once Google releases the list of organizations that are included in GSoC, restrict yourself to one, at most two projects, and increase your contributions to those projects- as a rule of thumb, two issues/fixes per week.

Apart from this, try to join online discussions on various issues and try to contribute your thoughts to the same.


Contact the mentors: Read the code of conduct, if any, and contact the mentors accordingly. This may be through email or their chat medium (Slack, Gitter, etc.). One thing that you should always keep in mind that DO NOT directly ask your mentors or the community for guidance without any legwork on your side. Even if the community doesn’t seem to provide getting started directions do some Googling, try to dive into the code on your own. After doing all this, when you get stuck and ask them any question, DO NOT FORGET to state all the legwork you did. This will show them that you are ready to put in the efforts.
Make a good impression: You need to make the community feel your constant presence. Complete some tasks before the proposal date and make sure to keep looking out for new bugs/features. If you want to start contributing and don’t know where to begin, try searching beginner-friendly 🤩 issues. Such issues generally have a “beginner” or “good first” label attached. Ask the organization admins if it’s still open and if you can work on it. You can also create a new issue if you find a bug in the application. Submit a Pull Request suggesting your code that solves the particular problem and ask the admins to review it. In this way, you can start making others perceive your presence.
Step-3:- Have a decent proposal:

This is one of the most crucial steps of your GSoC application.

The proposal should be ambitious, while also being achievable. It wouldn’t do if you just did something trivial, while overcommitting will lead to failure later on.

Draft your Proposal :-

Take at least 10–12 days to frame your proposal. Try to frame it early, as mentors can review it, and guide you further. Try to frame the proposal along the lines of the organization’s expected projects, which they put up immediately after Google’s announcement. (You can frame an entirely new proposal of you have started early on and have been very active, but it is tedious to get an organization to select a proposal outside their scope.)

Describe your work in detail with clarity-
Your proposal should advertise your work, and highlight how you would be useful to the organization. It should include — what you wish to do, how you wish to do it, if possible- a mock-up of how it would look like and a timeline of your proposed work and how your work is going to benefit the organization. In addition, include your existing contributions and provide links to the same.

you can contact me on LinkedIn for a sample proposal of mine.
Try to keep an active profile in the organization even after submitting your proposal, as it can increase the chances of your proposal getting noticed more. And yes, of course, keep your fingers crossed and hope for the best.


> Hope this helps “ Keep Learning and Keep Coding”

For any queries, feel free to contact LinkedIn,
Additionally, you can follow me on GitHub and Twitter, it will be appreciated.
See ya, will meet in the next blog until then

`Create | think| simple| humour.`