Good day to you! My name is Yatharth Rai, your host for today. I shall tell you about one of the most prestigious Open Source programme, called the ‘Google Summer of Code’ popularly referred as GSoC.
GSoC is an annual programme hosted by Google to involve more and more developers into the Open Source community. The name ‘Google’ is more than enough to make your resume shine, and also, for an aspiring developer, this is an opportunity not to be missed!
I shall start right from the basics, so if you’re new to this, don’t worry, you’re not alone!
Why Google Summer of Code (GSoC)? Why should I invest my time in Open Source Development?
But before I begin, what’s the point of open source development? Participation in open source development shows your skills, and dedication. From ‘getting hired’ point of view, this is extremely important for a job interview.
The talent acquisition team sees your development, and hires you! From a normal developer’s point of view, let’s say you publish your code online, and you come across an issue.
A developer from other part of the globe could chime in, and edit your code! How awesome is that?
Needless to say, Open Source Development only has pros, and no cons, and honestly, it is something every developer in the 21st century should get into!
Okay, so onwards with the guide!
Step One — The Timeline
GSoC is a programme that is focused to be done by student developers during their summer vacations. The programme is 3 month long, and to stop midway means failure. The 3 months start after the accepted students have been announced.
Let’s go over the dates important for you! The timeline is from GSoC 2018.
As clearly visible, GSoC 2018 was announced back in 2017, and the organization registration began in January.
The organizations that are participating are not known until the month of February. This year, the date was February 12th. Although the student registrations don’t start until March, students begin contributing before the registrations actually start.
Step Two — The Organization and Project
After the organizations are announced, your next task is to figure out which organization you want to work for. But you can stay a bit ahead and decide on an organization before they release!
You could also look into the archive to see what organizations participated last year, so you can start choosing your organization before they’re actually announced! Most organizations participate each year, like Apache and OpenAstronomy.
When you are looking at the organizations, keep these three things in mind,
- You’re experienced with the technology required in the project.
- You’re extremely interested to work on the specific project.
- You’re acquainted with the organization.
The third point is not necessary, but the first two are. For instance, if you wish to work on something related to Python, you should be experienced with the language. You needn’t be perfect, but you should know the basics, and some advanced functions and usage of the language.
The second point is that you have to be interested in their project. You must have a genuine interest in the project you wish to undertake. 3 months is a long time, and if you lack interest in the project, you won’t be able to give it your 100%.
Step Three — Setting the Stage
Okay, you’ve decided on the organization, you’ve decided on the project. Now what? Let’s assume you’ve started after the organizations have been formally announced. You still have a month to get your proposal ready.
GSoC is looking for students who are capable of completing the project they’ve chosen. How do you convince them that you’ve got what it takes?
Get involved during this month you get before the proposal submission.
Head over to the organization’s page where they list down their ideas. For instance, OpenAstronomy listed their projects on their website. Most of the organizations have a chat room, or a mailing list, which I highly recommend you join, and where you introduce yourself.
Often, the organization will have a list of things they’ll require in a proposal, so head over to their FAQ to get yourself acquainted with what is required!
Most organizations will have some prerequisites before you submit a proposal which are listed down in their FAQ section. OpenAstronomy required you to submit at least one PR to any of the Open Astronomy sub-orgs, so there’s that.
But, if your organization doesn’t have anything like that doesn’t mean you shouldn’t submit a PR. Your dedication to a project is visible only when you actually go out there and get your hands dirty. I highly recommend that you submit a few PRs to get yourself acquainted with the codebase as well as understand more about the project.
Now, what makes a great proposal?
“What’s the final goal of that project? Can you break it in sub-projects? Can you estimate how long these sub-projects are going to take you? The best applications we’ve had contains a list of problems to solve on a weekly basis. But… The best laid plans of mice and men gang oft astray, sure! you will encounter problems on the way, but having a plan will help you to prioritise when stuck. And of course, your mentors will help you too.”
A proposal is a plan of action, timetable and schedule all combined into one. You have to explain to the organization how you plan on using those 3 months to complete your project. You need to explain everything, right from the most basic problems, to the most complex problems, and how you will tackle them during this timeframe.
I highly recommend you get in touch with your mentor to understand more about the project. My mentor was extremely helpful! They helped me a lot in my proposal.
You can read my proposal if you wish to!
The Bottom Line
Google Summer of Code isn’t as hard as people put it. All you need to be selected is a bit of patience, smart work and hard work! If you’ve read this far, don’t worry, fire up your IDEs and get started already!
You’ve got ample amount of time, so try to learn new languages, learn new technologies, and the most important thing of all which I almost forgot, use Git from command line!
Good luck Padawan!
Credits: By — Yatharth Rai for Precisely – The Opportunity Hub
Some useful links —
1.) GSoC FAQ — https://developers.google.com/open-source/gsoc/faq
2.) How GSoC works — https://google.github.io/gsocguides/student/how-gsoc-works.html
3.) Writing a proposal — https://google.github.io/gsocguides/student/writing-a-proposal
4.) How to get selected: From the perspective of a successful participant — https://medium.com/@gautamprajapati/how-to-get-selected-for-gsoc-unfolding-my-story-at-libreoffice-52c0fa57886d