(cc-by-nc-nd-3.0 Google)
Contents
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:
IRC on general or team development channels
the general and particular Mailing-lists of various teams
this wiki
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
Mentors
Name |
linkid |
Comment |
|
||
?SoerenSonnenburg |
Will mentor packaging of any machine learning related package. |
|
?BastianVenthur |
Python, Debian BTS |
|
Pending work approval. I'll be happy to help out whoever, but my expertise is with Python and packaging. |
||
?MichaelVogt |
apt, python-apt, software-center |
|
?MarcBrockschmidt |
marcbrockschmidt |
will mentor stuff around buildds, infrastructure stuff, perl |
?TollefFogHeen |
Will mentor any Alioth-related projects as well |
|
madamezou |
will mentor any website related project, and will be happy to help out whoever |
|
tmarble |
Mentor for Jigsaw |
|
?MattZimmerman |
mdz |
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.