Google Summer of Code 2009

Google Summer of Code (GSoC) is a global program that offers student developers stipends to write code for various open source software projects. Google hasĀ  worked with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together over 2600 students and 2500 mentors from nearly 100 countries worldwide, all for the love of code.

 

Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all. The Joomla! project will apply again for this fifth edition of the summer of code, this blog will be the home page where the program team will keep you up to date.



Joomla! GSoC Student and Mentor Guidelines PDF Print E-mail
Written by Wilco Jansen   

Introduction

Google Summer of Code is a program that offers student developers stipends to write code for various open source projects. Google works with open source, free software and technology-related groups to identify and fund several projects over a three month-period. Historically, the program has brought together over 1,000 students with over 175 open source projects to create hundreds of thousands of lines of code. The program, which kicked off in 2005, is now in its fifth year, following a very successful 2008.

This document describes the student and mentor guidelines for the Joomla! Summer Of Code program 2009. It contains information about the program schedule, program goals, program organization, the selection, and other information useful to prospective students and mentors.

Important Dates and Times

February 8

Program announced. Life is good.

March 9

Mentoring organizations can begin submitting applications to Google.

March 13

Mentoring organization application deadline.

March 13-17

Google program administrators review organization applications.

March 18: ~12 noon PDT / 19:00 UTC

List of accepted mentoring organizations published on the Google Summer of Code 2009 site.

March 18-23

Would-be student participants discuss application ideas with mentoring organizations.

March 23: ~12 noon PDT / 19:00 UTC

Student application period opens

April 3: ~12 noon PDT / 19:00 UTC

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 15

  • All mentors must signed up and all student proposals matched with a mentor;
  • IRC meeting to resolve any outstanding duplicate accepted students (timing TBD).

April 20: ~12 noon PDT / 19:00 UTC

Accepted student proposals announced on the Google Summer of Code 2009 site.

Community Bonding Period

Students get to know mentors, read documentation, get up to speed to begin working on their projects.

May 23:

  • Students begin coding for their GSoC project
  • 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 6: ~12 noon PDT / 19:00 UTC

Mentors and students can begin submitting mid-term evaluations.

July 13: 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 10

Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.

August 17

Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google.

August 24: 12 noon PDT / 19:00 UTC

  • Final evaluation deadline;
  • Google begins issuing student and mentoring organization payments provided forms and evaluations are on file.

August 25: 12 noon PDT / 19:00 UTC

Final results of GSoC 2009 announced

September 3:

Students can begin submitting required code samples to Google

October (date 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.

Joomla! Summer Of Code Program

The general goals of Google are recognized and extended with our own goals. In short, we want to improve the innovation within the project by offering students the opportunity to propose (research) topics that are Joomla! related. The Joomla! project offers students an inspiring environment in which to do research, create proof-of-concepts or create working functionality. The students get well guided by field experts. We do not specifically target at implementing work in the Joomla! framework, if it can be done in the Summer Of Code period this is perfectly ok, if not we still have well founded research and possible new talents for the working groups within the Joomla! project.

There is a list of possible projects defined in the mentor guideline description. Please keep in mind that this is an initial list of subjects we would like to aim at, and the final program content is open for discussion. Students can send in their project proposals from March 23 - April 3 using the Google application. In the meantime you can discuss possible project proposals in the Google Group.

Specific notes:

  • We don't want to put too many rules in place, but we ask every student to follow the proposal guidelines described below. This proposal guideline is put together based upon our experiences from past years.

  • If you think you have a great idea, just go for it(!) and write your proposal, don't let the initial project ideas hold you back from proposing your own ideas!

Program Organization

We strive for a shallow hierarchy for the Joomla! project and the Summer Of Code program is no exception to that. There will be a formal program structure in place, but in general we like everyone to just do their job. For the mentors this means a big responsibility towards the Joomla! project and especially the students.

The total organization of the program will be done by the program leaders and mentors. In 2006 and 2007 Wilco Jansen has led the Summer of Code program, and Ian Maclennan joined Wilco in the 2008 edition. This year the program leaders are Mark Dexter and Akarawuth Tamrareang, but Wilco and Ian will be actively coaching these new program leaders. For each accepted project there will be either one or two mentors.

Mentor Selection Process

We want the selection process to be as easy as possible. Here are the general "criteria":

  • Mentor needs to be familiar with the Joomla! project, and have some level of knowledge about the 1.6 framework.

  • Mentor needs to be someone with experience in guiding people. You can have experience in as a manager, project manager, a team coordinator, teacher or whatever. If this is the first time you are going to guide a student, help is available (see below).

  • Mentor needs to have knowledge about the topic he or she is going to mentor. For example, if a student wanted to write an extension for Joomla! and CiviCRM, then the mentor should have enough knowledge about Joomla! extensions and CiviCRM to guide the student in the project.

  • The mentor is responsible for guiding the student. This takes time, and with cultural and timezone differences this can be a real challenge! Past year the average time it took for a mentor was at least 70-90 hours over 3 months. Please be sure you can devote this amount of time to the project before volunteering. Once you have a student committed to a project, there is a responsibility for us to provide the resources to complete the project successfully, and it is very difficult and disruptive to have a mentor drop out during the course of a project

  • Potential mentors can share their interest on the Google Summer of Code list or send an mail to Mark Dexter or Akarawuth Tamrareang.

Student Selection Process

The basic process of student selection is pretty straight forward. All project proposals will be judged and ranked by the group of mentors. We expect to sponsor between 15 and 20 students this year, but the final number will depend on the applications we receive. The better you have defined your project proposal, the greater the chance that your project will be selected. A well defined project proposal leaves fewer questions for the mentors. We also advise potential students to study the Google FAQ. A well defined target and a proper planning are essential to have a successful project!

Student Proposals

We don't use a specific format for the proposals, but each proposal to contain the following sections:

  • A short introduction of you, name, age, kind of study you are doing, personal interests etc.

  • A short description of your personal skills.

  • Project definition in terms of goals to achieve.

  • Project planning, including milestones to deliver. This is a very important aspect of your proposal. Recent years have taught us that project proposals tend to be ambitious. Make a plan, and try to determine if the goals you set are realistic. If you need help, ask questions in the forum or contact the program leaders directly.

  • Description of tools you are going to use. Also take a look at the tools we use in our project. You will most often use the same tools we use.

  • What do you want to learn in the Summer Of Code?

Expectations for Students

What we expect is simple. Dedication, devotion, an open mind and patience. You are part of this program to actually learn (and earn) something. Before you start we expect you to get acquainted with the tools we use. Get prepared! The most important single lesson from our previous Summer of Code experience is the amount of time you need to spend on the project as a student. Doing a project in three months requires at least 20-40 hours per week. You should treat it as a full-time job and be prepared when you start.

If you join as a student, what do you get in return? You can work in an open-source environment, meet great and inspiring people in a great open source project, and, most important, you get guided by a field expert. It is all about sharing knowledge and working together toward common goals. We will be there to support you!

Conflict Resolution and Problem Solving

It would be naive to assume that a group of people always can work together in perfect harmony. There are going to be times when someone feels they have been handled wrongly. In these times the following procedure should apply:

  • Talk privately to the person concerned.

  • If you still believe grievances exists, then bring in one or two other people to help mediate.

  • If this fails then take the issue to the program manager (Mark Dexter or Akarawuth Tamrareang).

  • If this fails take the issue with the program manager to the Joomla! project leader.

Team members are encouraged to self-mediate all disputes. In all situations, treat 'wounds' appropriately. A prick on the finger just needs a tissue for a couple of seconds. Some grazes and cuts just need a Band-Aid to help heal well but will probably heal anyway if left untouched. More serious lacerations need immediate intervention for survival. If a wound is left to attract an infection then the obvious threat of gangrene is present.

There can be significant challenges to completing the program successfully. These include the need to communicate regularly with your mentor, using development tools you may never have used, differences in cultures, and accommodating busy schedules across different timezones. The first person to help you with these challenges is your mentor. A personal difference on how to proceed between you and your mentor can happen. In this case, the program leaders are happy to offer coaching and guidance. If possible, however, we would like everyone to use the conflict resolution strategy as described above.

Additional Questions

If you have more questions, please post them into the Google Group. We also have started a public Skype Chat. These areas will be the place to discuss on everything concerning the Google Summer of Code 2009!

Remember, good code can be the source of much happiness!