Google Summer of Code 2007 is on and applications are now being accepted. Mentoring organization applications have been examined and the Open Source Team at Google have published the final list. There are some amazing organizations offering students an opportunity to take part in some fantastic work.
FIRST THINGS FIRST
The first thing that you need to do is take a look at the list of organizations that are involved this year. Perhaps you know the organization that you want to apply for but maybe you don't. If you don't then you could do what I have done and look at the ideas link for every project. You can normally understand quite quickly what that organization works on from the projects that they propose.
coresystems GmbH gives away nothing but upon closer inspection it looks like they are interested in people working on an open source BIOS. And we probably would have totally disregarded them if we didn't click the link.
OpenMoko don't give away much in there name either but they are working on an open source mobile platform which is pretty damn cool.
Sparse is a semantic parser. There are even projects tailored to what might be considered academic pursuits on the Summer of Code Program.
If you are seriously interested in applying for a project and you believe that you are capable of undertaking the workload then you should get in touch with the organization through mailing lists or IRC to gauge the mentoring team's interest in your application.
I think that most project coordinators and mentors would agree. They will like to see an application from a name that they recognise. If you show a real interest then it seems reasonable that they are more likely to show a real interest to.
This is probably one of the best ways to determine whether or not your application will be well received. Whether or not you do actually possess the skill set that the organization are looking for is good to find out before you prepare an application. Some organizations are pretty upfront on their sites about what the expect from students this summer. Maybe those organizations got burned last year with incomplete projects or projects that never really gained momentum.
The best thing about Summer of Code is that if you see an organization who have high demands - in your opinion - and only appear to be interested in the delivery of the final code and don't appear to be interested in the experience then you don't need to apply to them. There are loads of organizations!
Of course, I could have this all wrong... perhaps Google are pressuring organizations to only accept students who are pretty much guaranteed to complete their projects. It is difficult to tell when what happens to your application is not in any way transparent after you have submitted it. And so it makes it difficult to understand things from this side of the fence. It would be interesting to hear more about this from the mentoring organizations.
THE LESSIG METHOD
I delivered a presentation to my University on 7th March which can be found here [link removed due to upload problem, will be live again ASAP]. I did not record it live because I didn't want to use too much technology and have a weird crash -- which is 100% more likely when you are live.
About 30 people attended and I think that everybody enjoyed themselves and found my presentation to be informative. I managed to give away all of the schwag that Google gave to me: t-shirts, blinky pins, lava lamps.
OUR SUMMER OF CODE
I plan to apply for Summer of Code this year with 3 organizations if I have the time. Applying for 3 organizations is pretty ballsy because it demands a lot of effort to write great applications that are tailored. Maybe you don't know how many to apply for or what an application should look like...
If you are considering applying then you can take a look at the application that I submitted for the Mozilla Foundation project that was accepted for last summer. There are loads of organizations that have posted their own guides on what a good application looks like and some of them even show examples of what a good application looked like last year. That is such a great touch from them and it helps people write the best application that they can.
Note the awesome spelling mistake near the start of my application ;-)
I have been asked if I have any advice for people who are applying this year, so here goes:
- I repeat, if you are seriously interested in applying for a project and you believe that you are capable of undertaking the workload then you should get in touch with the organization through mailing lists or IRC to gauge the mentoring team's interest in your application
- Limit the number of applications that you submit. Quality is much more important than quantity. I imagine that it will be painfully obvious if you copy/paste the body of your application to multiple organizations
- Do not over exaggerate your abilities but do not believe that you are not capable of something because you are not a PROGRAMMING ROCK STAR. Summer of Code is a great time to learn new skills as well as use existing skills.
- Make sure that the organization that you are applying to work with are suitable for you. Do you like their communication structure / leadership style? Do you think that you could work with the community?
- Can you realistically spend 40 hours per week on your project? Most projects have enough depth to require a 40 hours/week commitment, so make sure that you are able to dedicate that amount of time.
If you think that this post might be of interest to others then please let them know about it. I accept comments to my posts but I have moderation enabled to stop spam. I will let through any legitimate comments.