I’ve been getting a lot of questions about GSoC from a lot of people, either via LinkedIn or via email. I think I’ve been saying the same things over and over again, so to save myself some time, I’ve decided to write a blog post about it. I’ll try to keep it as short as possible.
GSoC or Google Summer of Code is a program by Google where students get to work on open source projects for 3 months during the summer. GSoC is aimed at beginners to open source so it doesn’t matter if you haven’t contributed to a open source project before. However, some level of programming experience is required - GSoC while definitely a great way to get started with open source, is not a tutorial on how to code.
This answer will vary for everyone. For me, it was about giving back to the open source community - having relied on mostly free and open source software during my technical education, I wanted to make sure that I wasn’t just a user of open source software, but also a contributor. I also wanted to get a taste of what it’s like to work on a large scale open source project, and GSoC was a great way to do that.
GSoC is also a great way to network - you get to work with a lot of new people and learn from them. Apart from that, you’re paid for your work, which is a great way to get some extra money during the summer :-)
Start Early! I cannot stress this part enough. Don’t wait for the application submission phase to start. In fact, I’d suggest you start even before the list of participating organizations is out - most organizations which came last year are more than likely to come this year as well, so you can start looking at their projects and start thinking about what you want to work on.
Now the question becomes choosing the right organization. I would suggest that you choose an organization who’s technology you’re most familiar with. There will never be a 100% match but unless you’re really looking for a challenge, try to avoid projects where you’re completely lost. Other than that, you should also consider whether you’ll be able to contribute to the project long term - GSoC spans about 3 months but if you want to have a good chance of getting your proposal selected, you’ll probably want to start contributing code early - which means if you aren’t interested in what the project is about, you might lose motivation before GSoC even starts.
This is a question I get asked a lot. The answer is, you’ll never be ready. You’ll always feel like you don’t know enough. I still feel the same way :-)
That being said, you should have some experience with programming. You don’t need to be an expert by any means but you need to know enough to ask others or Google around for answers. If you feel like you can do that, congratulations, you’re ready for GSoC!
This depends a lot on the organization. Most organizations have a template for their proposals. Look at past accepted GSoC proposals for your organization to see what they’re looking for. If you’re looking for some general advice, there’s no better place than the official GSoC documentation - see Writing a proposal
To put it simply, most organizations are looking for a proposal which is well thought out, has a clear plan and can be completed within the stipulated time. The project topic that is put out by the organization will likely be vague - its your prior experience with the project which will give you an idea of what you can do with it.
Be in touch with your mentors. I know it can be scary at times but they’re here to help you - you need not worry too much about asking stupid questions. Also, unless its private, ask your questions publicly - be it IRC, Slack, email or whatever - chances are someone else has the same question and you’ll be helping them out as well. It might also happen that someone else may answer your question before your mentor does - which is great! You’ll get to learn from them as well.
Once you’re confident enough, you will start answering questions from other newcomers. This is a great way to be involved in the community.
And that’s about it! Be sure to read Google’s student guide for more information. Good luck!