It's on! Google Summer of Code 2008 has officially been announced! Drupal has been an enthusiastic participant in the SoC program for the past three years. Drupal is an open source content management system written in PHP, and used by many high-profile websites including Popular Science, Amnesty International, Sony MyPlay, and Ubuntu Linux .
Past Drupal Summer of Code participants have gone on to enjoy great careers as professional Drupal developers and have continued to contribute great and exciting code to the Drupal project long after SoC has ended. Thanks to all the students and mentors, and especially to Google, for making this such a great program.
Summer of Code is a fantastic program where Google pays students stipends to work on open source programs over the summer. Each student is paired with one or more mentors from an open source community such as Drupal, and works on a project over the summer.
What's new and exciting this year?
The program timeline is similar to last year's schedule. Google has given lots of notice (the program doesn't "officially" kick off until May 28). This means we as a community have longer to prepare, and accepted students have longer to get initiated into the community, both of which are huge wins!
I want to be a student for Drupal. What should I do?
While you can't formally apply for the program until March 24, it's never too early to start getting involved! Subscribe to the developer mailing list, look over the developer's guide and API reference, catch up on the lessons at the Drupal Dojo. and just start playing with Drupal and some contributed modules to see what you can do.Most of all, start thinking about your project proposal. It's also never too early to start forming ideas around what type of project you want to do, research whether the project is really needed, whether it is doable in the Summer of Code time period, and even start on your application!Read the Advice for Students page for more tips.
I want to be a mentor. What should I do?
You should apply to join the SoC-2008 Mentors group. The group is moderated, and your application will be reviewed. Please describe who you are, what your level of Drupal experience is, and your motivation for being a mentor. Please make sure to read the Advice for Mentors page for more tips.
I have project suggestions
Project ideas are being collected and discussed on the SoC 2008 group page. Bear in mind that proposed projects should be "do-able" within a 3 month time frame by a student who may not know anything about Drupal (but it's safe to assume they know how to program).
General Requirements
For each and every Drupal SoC project, there are certain requirements that must be met. If you think your project is an exception, speak to your mentor(s) about it—otherwise, assume that everything here applies to you.
If accepted to SoC, you'll be given a CVS account, and it's expected that all of your work takes place in your project's directory. This will be used for tracking SoC activity, so it's imperative that you keep your work up to date. As part of being open source, the source needs to be, well, open.
Development should take place against Drupal 6 (or possibly HEAD if it's something for core). You may need to update some code to Drupal 6 if your project involves integration with existing modules.
oding standards are an important part of Drupal. If you comply with coding standards, your code will be much more readable to others; also people will be more inclined to help you.
Automated testing is crucial to ensure the quality of any software product.
Important Dates
February 25:
Program announced. Life is good.
March 3: ~12 noon PST / 19:00 UTC
Mentoring organizations can begin submitting applications to Google.
March 12: 12 noon PDT / 19:00 UTC
Mentoring organization application deadline.
March 13-17:
Google program administrators review organization applications.
Would-be student participants discuss application ideas with mentoring organizations.
March 24: ~12 noon PDT / 19:00 UTC
Student application period opens.
April 7: 5:00 PM PDT /
00:00 UTC April 8, 2008
Student application deadline.
Interim Period:
Mentoring organizations review and rank student proposals; where necessary, mentoring organizations may request further proposal detail from the student applicant.
April 18: 00:00 PDT / 07:00 UTC
All mentors must signed up and all student proposals matched with a mentor;
IRC meeting to resolve any outstanding duplicate accepted students (timing TBD).
Students get to know mentors, read documentation, get up to speed to begin working on their projects.
May 26:
Students begin coding for their GSoC projects;
Google begins issuing initial student payments provided tax forms are on file and students are in good standing with their communities.
Interim Period:
Mentors give students a helping hand and guidance on their projects.
July 7: ~12 noon PDT / 19:00 UTC
Mentors and students can begin submitting mid-term evaluations.
July 14: 12 noon PDT / 19:00 UTC
Mid-term evaluations deadline;
Google begins issuing mid-term student payments provided passing student survey is on file.
Interim Period:
Mentors give students a helping hand and guidance on their projects.
August 11:
Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.
August 18: ~12 noon PDT / 19:00 UTC
Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.
September 1: 12 noon PDT / 19:00 UTC
Final evaluation deadline;
Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.
September 3:
Students can begin submitting required code samples to Google
October or November, details TBD:
Mentor Summit at Google: Representatives from each successfully participating organization are invited to Google to greet, collaborate and code. Our mission for the weekend: make the program even better, have fun and make new friends.
Ideas List
The following is a list of projects that Drupal community members have proposed and have generally been agreed on as desirable and/or important projects. If you are new to the Drupal community, or if one of these ideas looks appealing to you, these can be a great starting points for writing your Summer of Code application! However, you are also encouraged to submit your own proposals that have absolutely nothing to do with the ideas outlined here.
Alternative Currency Support
Chart style plug-ins for Views module
Create a "Drupal pipes" module
Develop an automated JavaScript testing framework
Encrypted RSS/Atom Feeds
Global News Content Module - Stories, Photos, Quotes, Connections
Google Contacts API integration
Handle node revisions through the Version Control API
Icon Module
Improve Date/Calendar modules
Improve Drupal's Help System
Integrate CiteProc into Biblio
Integrate Drupal with YouTube API
Integration with Magneto eCommerce Platform
Last.fm API integration
Module/Theme Download Mechanism
More usable form elements
MS Word Import module
NITF/Atom/NewsML extensions for FeedAPI
Performance Profiling System
Security scanner component for SimpleTest module
Subgroups for Organic Groups Rewrite
Theme upload system for Drupal.org
Ubercart Bells & Whistles
Usability Test Suite
Validation API Module for JS/PHP
Views as Web Widget
Applications Invited
During Summer of Code 2005 and 2006, the organisers reviewed hundreds of applications, from which 25 students were selected to participate. This year it is likely to receive even more. Competition will be fierce, so what can you do to help make sure your application gets serious consideration? Here are some tips, straight from last year's mentors themselves.
Sell your idea. Describe your idea in detail. What is its ultimate goal? What components will it have? What benefits does it have for Drupal itself and its community? How do you plan to achieve completion of your project? If a specification already exists, what will you do that will go above and beyond expectations?
Sell yourself. Get across your enthusiasm for the project. Tell what makes you stand out from the rest of the crowd. Talk about your past experiences, what makes you tick. Why are you interested in open source software, and Drupal in particular? What interests do you have, and how do these interests relate to the project for which you're applying?
Show enthusiasm. Summer of Code is a very exciting opportunity, and Drupal is an extremely exciting project to work on. It's nor for people who want a summer job to pass the time, devoted people are needed who have an intrinsic passion for open source
Tailor your application to the project. It was painfully obvious last year that certain people copied/pasted parts (or even the entirety) of their applications to multiple projects. This can be seen from a mile away, and it is a sure-fire way for your application to not be taken seriously. Each application you send should be targeted and tailored for the specific mentoring organization and project to which you are applying.
Get feedback on your idea from the community. Discussing your idea with some established Drupal folks is vital. If your idea duplicates existing efforts or code (and does not provide a very convincing reason for doing so), it will be rejected. Try to have your application reviewed by someone before you submit it, whether that be the mentor for a particular project itself (in the case of already generated ideas on the following pages), or a person with expertise in a certain area (such as the file system, or AJAX). Don't be afraid to ask the community for help; we want you to succeed just as much as you do.
Don't be afraid to go out on a limb. Have a brilliant idea that's not covered by the proposals? Great! Don't be scared to try and think "outside the box" and come up with a fantastic idea of your own.
Browse accepted applications from last year. There are some previously accepted applicationsfrom last year available from the SoC Alumni Wiki. Feel free to browse these to get a feel for things your application should cover.
Example application Konstantin Kaefer's application was the best written application from 2006. Read this application carefully for an example of a successful writing style.