Google Summer of Code 2012: Applying for Pygame

While I’m fully aware that I haven’t posted here for more than six months, I’m going to completely ignore this and carry on. Hope that would work.


Google Summer of Code is a brilliant thing. For those of you who don’t know it, every summer Google uses its influence and many dollars to connect Computer Science students with open source projects, paying students for a 3 months long contribution to an accepted open source project.

Students win, because they gain experience while studying (and also, dollars).
Open source projects win, because they can get a lot done during the summer, and ‘recruit’ new contributors.
Open source wins, because more young students are familiar with it and the way it works.
Google wins, because it can’t ever lose.

During the 2011 summer I’ve participated in GSoC, developing a Maltese-Hebrew machine translation module for the Apertium open source translation toolkit.
It was a lot of fun and a whole lot of work. I learned an absurd amount of stuff about computational linguistics, text manipulation, Python work and open source projects internals. I’ve worked with some really cool people. And I actually built a machine translation module.

But it was also somewhat overwhelming, merely from a logistic point of view.
You see, even though most GSoC students are internationals, Google’s timeline is set according to that of American schools. So instead of using my summer vacation for the project, I had to start work during my finals period. This wasn’t fun. And for most of the development time, I had to juggle between school, GSoC work, and my dayjob at Waze. This wasn’t fun at all.

Why, then, would I apply again?
My best guess is I’m too much of a nerd, and an open source geek, to miss such a brilliant opportunity.

So here I go again. Last week I submitted my proposal to contribute to the Pygame project.

Pygame is an open source Python library for building games. Yes, actual computer games. With graphics and stories and high scores and all. They’re doing pretty good, and I was actually just checking it out using the new Making Games with Python book when I noticed they’re participating in GSoC this year.

My project proposal is about re-designing and re-writing their Sprite and Scene systems, which are two very basic modules that handle graphics and game workflow.
These are very basic, fundamental modules, which mean a large part of the work would consist of consulting the Pygame community, thinking and designing.

Three reasons I’m hyped about this project:

  1. It’s game development! The reason I got into programming all along! Which is pretty awesome. And also, it’s a lot different than the programming I’m used to, and that’s cool too.
  2. It’s about code design and best practices, which is a part of development I’ve grown to really like. This is a great opportunity to evolve in this field.
  3. It’s about working with a large open source community, and using a lot of feedback. Which is always fun, and very educating.

Two things I’m not so excited about:

  1. It falls on my finals period this year too. So, another month of juggling.
  2. It might not happen at all! Right now my proposal is reviewed by Pygame and The Python Software Foundation and accepted proposals will only be announced on April 23rd. Until then, all I have is suspense.

Last year, I didn’t have any blog set up and I managed my project journal in the Apertium wiki.

So I was thinking, this year, if all goes well, I could use this here blog to tell you (and the Pygame guys) about the progress I’m making and about the many things I’m learning in the process. Could be nice.

So, here’s to that.