GSOC_2011_300x200px_URL.png

(cc-by-nc-nd-3.0 Google)

General information

This wiki page will be the central point for information about the Google Summer of Code 2011 at Debian. Feel free to add missing sections to it.

You can find information about the previous years on SummerOfCode2006, SummerOfCode2007, SummerOfCode2008, SummerOfCode2009 and SummerOfCode2010.

Introduction

The Google Summer of Code is a program where Google pays students stipends to work over the summer on free software projects such as Debian. Each student works with one or more mentors from the community to complete a software project.

The Google Summer of Code has started again this year. If we are selected as a mentoring organisation, 2011 will be the sixth participation of Debian in the program and we want to again improve on our participation to make the experience even more exciting and fulfilling this year for the students, the mentors and the whole Debian community.

Google timeline

Here are the next steps:

January 24:

Program announced. Life is good.

February 28: 19:00 UTC

Mentoring organizations can begin submitting applications to Google.

March 11: 23:00 UTC

Mentoring organization application deadline.

March 14-17:

Google program administrators review organization applications.

March 18: 19:00 UTC

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

March 18-27:

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

March 28: 19:00 UTC

Student application period opens.

April 8: 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 22:

All mentors must be signed up and all student proposals matched with a mentor - 07:00 UTC. Student ranking/scoring deadline. Please do not add private comments with a nonzero score or mark students as ineligible (unless doing so as part of resolving duplicate accepted students) after this deadline - 17:00 UTC. IRC meeting to resolve any outstanding duplicate accepted students - 19:00 UTC

April 25: 19:00 UTC

Accepted student proposals announced on the Google Summer of Code 2011 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 Google Summer of Code 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 11: 19:00 UTC

Mentors and students can begin submitting mid-term evaluations.

July 15: 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 15:

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

August 22: 19:00 UTC

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

August 26: 19:00 UTC

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

August 29:

Final results of Google Summer of Code 2011 announced

August 30:

Students can begin submitting required code samples to Google

October 22 - 23:

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.

The full timeline is available here.

Selected projects

Automated Multi-Arch Cross-Building and Bootstrapping

aka "autocrossbuild", by Gustavo Prado Alkmim, mentored by Wookey

Enable easy and automated setup of cross-platform automated build systems and bootstrapping for QA in the Multi-Arch era. This involves the creation of multi-stage bootstrap build sequencing tools and a reliable automated multi-arch cross-builder.

APT/Dpkg Transaction Ordering for Safety and Performance

aka "aptordering", by Chris Baines, mentored by Michael Vogt

The ordering code in libapt is responsible for ordering the unpacking/configuration of debs so as to ensure dependencies are satisfied etc. Currently it organizes the ordering into big batches. This project further implements an ordering satisfying more constrains such as "minimal amounts of dpkg invocations", "minimal amount of broken packages at any point".

DebDelta APT Native Integration

aka "debdelta", by Ishan Jayawardena, mentored by Michael Vogt

Improve user experience of APT and its front-ends by speeding up the upgrade process. This provides a better framework for unified handling of debdelta and future APT improvements such as parallelism. Support for stable and security ugprades as well as multiple APT related libraries is expected.

Dpkg Declarative Diversions

aka "declarativediversions", by Sam Dunne, mentored by Steve Langasek

The dpkg-divert command should be replaced with a new control file with a declarative syntax which Dpkg will parse and process directly as part of the package unpack and removal phases, eliminating the problems resulting from non-atomic handling of diversions.

Backend Tools and Infrastructure for DEX

aka "dextools", by Nathan Handler, mentored by Matt Zimmerman

DEX is a new program designed to help improve Debian and its derivatives by merging in changes made downstream and encouraging discussions between the various projects. As this is a new project, most of the infrastructure does not exist (or is rather hackish and incomplete). This project will create the necessary backend tools and infrastructure so that all Debian derivatives can easily make use of the DEX project.

Jigsaw Modularized Java in Debian

aka "jigsaw", by Guillaume Mazoyer, mentored by Tom Marble

The Java Development Kit (JDK) is a big monolithic software tool: many of its features are only useful in limited areas (GUI toolkits are useless for a web server). This project will bring the Jigsaw modular JDK to Debian, helping performance (start-up, size, etc) but also the dependency resolution (to match Debian packaging). Some work exists upstream does not fit with Debian. This project will package the current development version of Jigsaw, update Debian Java Policy, and create the necessary packaging tools for software depending on it.

Python Multi-Build for Python Extensions Packaging

aka "pythonmultibuild", by Mesutcan Kurt, mentored by Piotr Ozarowski

This project creates a tool to build Python extensions for all Python versions supported by Debian at the time. The project should detect the upstream build system and testing frameworks and use them. It will be interfaced with CDBS and the dh sequencer, replacing their Python snippets.

Debian Teams Activity Metrics

aka "teammetrics", by Sukhbir Singh, mentored by Andreas Tille

This project will gauge the performance of teams in Debian by measuring metrics such as: postings on relevant mailing lists, package upload records from the Ultimate Debian Database and commit statistics from project repositories... The information gathered will help in evaluating team performance by measuring how people in a team are working together. An interface to access this information easily will also be developed.

Compute Clusters Integration for Debian Development and Building

aka "computeclustersdev", by Rudy Godoy, mentored by Steffen Moeller

The project's main goal is to enable developers to easily use compute clusters (Eucalyptus, OpenStack...) as environments for arch-specific development by providing a set of tools they can use to setup and run an extended platform for their development, testing and building tasks.

Archived

Ideas list / Participating / Applying

The list of ideas is available at: Applying.

I want to participate as student

You have until April 8: 19:00 UTC to contact us and to apply on the Google Summer of Code application.

Familiarize yourself with the communication tools of Debian:

Join the communication channels of the teams or persons involved with the subject you would like to work on and discuss it. Don't be afraid to suggest seemingly crazy or vague ideas, we'll help you and give you suggestions. If you're lost (or even not!), drop in the communication channels of the Summer of Code team mentioned below. Remember that early preparation is a guarantee that your proposal will be better!

There is some interesting introductory documentation on this wiki about what Debian is and what Debian is for a developer. A lot of information about being a Summer of Code student can be found on the Advice for students page.

We also have a template that we would recommend students to use for their application: application template

I want to mentor a project in Debian

Your help is much needed from general organization to individual mentoring. Come see us on IRC or on the mailing-list mentioned below. To register in the web application, you need to go to Debian's GSoC2011 project page and register yourself as a mentor (old registrations from the last years have not been moved to the new page).

This year, we want to improve the communication between Summer of Code projects and the whole Debian community during the whole Summer of Code program, from student/project selection to final code integration into production through testing and feedback.

A lot of information can be found on the Advice for mentors page. A practical mentoring guide can be found here.

Contact

http://lists.alioth.debian.org/mailman/listinfo/soc-coordination

We're also on IRC: #debian-soc in the OFTC network (irc.debian.org). Just drop in and ask your questions. Of course you can also ask in other Debian IRC channels.

IRC Office Hours:

21:00-22:00 EST - 2:00-3:00 UTC

?ArthurLiu

Follow us on Twitter: https://twitter.com/DebianGSoC or on identi.ca: http://identi.ca/debiangsoc

The Google's Summer of Code general IRC channel is #gsoc in Freenode.

Frequently asked questions

Read our FAQ

Crew

Please add yourself to the relevant tables, preserving alphabetical order of the last names. To get a 'linkid', register on the GSoC web application.

Administrators

Name

linkid

Comment

ObeyArthurLiu

arthurliu

?AnaGuerrero

anaguerrero

?Sylvestre Ledru

scilab

Mentors

Name

linkid

Comment

SteffenMoeller

smoe

?SoerenSonnenburg

sonne

Will mentor packaging of any machine learning related package.

?BastianVenthur

bventhur

Python, Debian BTS

LukeFaraone

lfaraone

Pending work approval. I'll be happy to help out whoever, but my expertise is with Python and packaging.

?MichaelVogt

mvo

apt, python-apt, software-center

?MarcBrockschmidt

marcbrockschmidt

will mentor stuff around buildds, infrastructure stuff, perl

?TollefFogHeen

tfheen

Will mentor any Alioth-related projects as well

FrancescaCiceri

madamezou

will mentor any website related project, and will be happy to help out whoever

TomMarble

tmarble

Mentor for Jigsaw

?MattZimmerman

mdz

DEX

Meta

Promotion

Organize the promotion of the Google Summer of Code 2011 at Debian here.

Flyers made for 2009 can be used as a template for 2011, and put on university bulletin boards, etc.