(This is not part of the mandatory bi-weekly report post series. This post targets potential GSoC participants, as a short guide to how to get selected)
Well, GSoC ended a few months ago. I said, in my last bi-weekly report, that I’ll publish a post to summarize my project and my experience in the program, so here it is.
A few quick words before the post content begins. All my GSoC-related posts, especially the first one and this one, target any potential future GSoC participants. My aim is that through reading my journey and experience in the program, you’ll be able to understand more about what GSoC is, what it is like, how it works, etc.
What is GSoC About? Who is GSoC for?
Google Summer of Code is a global program focused on bringing more student developers into open source software developmentHome Page, Google Summer of Code Website
It is a global program. Yes, you’ll find students from different parts of the world joining the program. Depending on whether the host organization hosts events for all participants, and how willing you are to participante in those activities, you’ll most likely get to know someone from another part of the world.
It aims to bring students into open source software dev. That, I might not feel totally aligned with. Not that i don’t support the open source movement, which as a matter of fact I do support, but I think that is not really what this program, particularly, is doing to its participants.
Instead of bringing students to open source dev, it’s more about giving students the opportunity to work on a specific project in a well-established organization, possibly with some level of benefit to the community, a.k.a. making the world a better place.
How to Get Started
How to get started (and also how to get selected). This is a very common question amongst students who wanna participate in GSoC, here’s step-by-step how to do so, or at least, or I did so:
1) Pick 1 (or a few more) organizations and project. It’s best to pick just one if you could find a project that really suits you. However, if that wasn’t possible, you could have a few to start with.
Now you might be thinking, the list of projects isn’t published till application period starts, how would I know what projects there are for me to choose from? Simply look through the list of organizations for the previous year’s GSoC. Usually, as open-source development organizations, they do things “open sourced-ly”, i.e. you’ll be able to find a publicly accessible page that documents the list of projects that organization is planning to provide this year.
As to how to choose a project. What I do is I look for projects that require a skillset that I have basic knowledge of. It’s best if you know something about the project, but you can’t complete it without help. That’s how you can make sure that the project won’t be too easy that you won’t learn anything in the program but you will be able to complete it with help from your mentors.
2) Blend into the community. All GSoC projects are mostly connected to existing projects under those organizations, simply start contributing to those projects. Find bugs, report bugs, fix bugs, give suggestions…
This will help the community learn more about you, who you are, how you code, what you’re good/bad at. Also, with existing contributions, they’re more likely to select you over other candidates.
One thing to note, do not ask stupid questions, i.e. those that can be solved by simply Googling the question.
3) Start working on your GSoC proposal. You wanna start early, not only this gives you enough time to modify and improve your proposal, but also show the organization that you’re committed.
Have a look at the proposals accepted by that organization in past years, take note of some common elements, for example, the structure of those proposals, do most of them have a lot of graphs, etc.
Once you’ve got the first draft of the proposal done, share it with the mentors, ask for input and modify your proposal according to your proposal.
4) Submit and wait patiently for the results.
Finally, good luck!