Google Summer of Code LogoWell, Kiwix is once again a Google Summer of Code (GSoC) mentor organization and you, a student, want to know how you could wiggle your way in.

Here’s the bad news: we expect close to 120 applicants this year, and we will get two, maybe three slots from Google. That’s like a 2% success rate.


But there is good news: more than 60% of applications we received last year were garbage, with 20% actually worth looking at. So your odds have already climbed to 1 in 7, and you haven’t even started yet! How awesome is this?

The next step is for us to explain how things work on our side, what makes us tick. This will help you make a great proposal and bring you to our top 10 candidates in no time. You will then have 1 in 3 chances of making it, and from then on it mostly will be a matter of luck, dark magic and the mood our mentors are in (ie nothing you can control, so relax).

Step 1: install Kiwix

Know your product. Be the user, if only for a day: that’ll put a lot of things in perspective. Use it (it runs on any platform, so you have no excuse not to try), and write down all the things you don’t like. Why isn’t this your favourite app? We want to know, and so do you.

Step 2: create a Github account and get to work

Hopefully a lot of things you didn’t like with Kiwix we’re not happy with either. Meaning that we have opened tickets for them (here and here).

We don’t judge proposals if we don’t know you can actually deliver. How do we know that you can? Because you’ve made a few Pull Requests and these were clean and useful. So get to work: here’s a list of preselected tickets.

What this means: we will not tell you what to do or how to do it. This is part of the selection process. We will, in fact, select applicants on the basis that they know how bug fixing works without us having to tell them.

Step 3: leave us alone

We specifically recruited dozens of mentors with nothing else to do than answer questions. If there are 100 applicants and each comes with 2 questions, that’s 200 pieces of code to look at, discuss and comment. Who has that much time on their hands?

We’re a small team with plenty of work to do already, so really, really don’t waste our time asking silly questions. This is not school. Go through the usual checklist and be your own troubleshooter. That inner monologue is actually part of the learning process.

Then, if you are still stuck, do ask (and show that you tried).

What this means: you will not get to interact with mentors so they can give you guidance before GSoC is started. The goal of the pre-selection period is for you to solve random bugs (even if immediately unrelated to the project you plan on doing) and for us to see who among candidates naturally produces good code.

Step 4: acknowledge that you are not a genius

If you are old enough to apply for GSoC, you are old enough to find out what your parents hid from you all until now: you are unlikely to be a genius. And even if you are, there’s a high correlation with schizophrenia which you may want to avoid.

What does that mean for your GSoC proposal? That you should not try to impress us with some wonderfully sophisticated new feature/pet language that no one needs nor will remember in two year’s time (but boy, is it cool now!). It’s hard enough to get the damn thing to work and not crash, so please do not try to pile additional discomfort.

Your goal should be elegance: “I’ve identified this problem. Here’s how to get rid of it.

Step 4b: it’s ok if you are not sexy either

Sexy is high maintenance. If Open Source code was dinner, it wouldn’t be at a fancy restaurant but a place where we can have quality time. Would you want to eat from a Three-Star chef for a day, or with your mama for a year? Same thing with us: don’t try to do shiny when you can do good.

Be simple, do what everyone actually needs: fix bugs, improve coverage, increase efficiency, improve UI/UX. Make us happy.

Step 5: your proposal

By going through the previous steps you should have a pretty clear proposal in your head after a few days already. Promise things that you know will keep you busy every day for 3 months, but that you also know you can do. Don’t oversell: some things may take longer than expected (don’t undersell either, eh).

Write it down and read it to yourself. Does it make sense? Yes? Great! You are in our top 10%. It is a good time to submit your project.

We made an application template: it is fairly simple, and you can find it here.

That’s it!

Applications run March 16 – 31, 2020, but the real time to start working is now. Selections will be announced on April 27th.

Good luck!