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, 2010 will be the fifth 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:

February 8:

Program announced. Life is good.

March 8: ~12 noon PST / 19:00 UTC

Mentoring organizations can begin submitting applications to Google.

March 12: 4 PM PDT / 23:00 UTC

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 2010 site.

Selected Projects

Aptitude Qt

by Piotr Galiszewski, mentored by Sune Vuorela

Qt GUI for aptitude. Currently, KDE users need to use Aptitude via the console interface, or install the newly developed GTK frontend, which does not fit well into KDE desktop. Making Qt frontend to Aptitude would solve this problem and bring an advanced and fully Debian-compliant graphical package manager to KDE.

Content-aware Config Files Upgrading

by Krzysztof Tyszecki, mentored by Dominique Dumont

When a package deliver configuration files, the problem of merging user data with new configuration instructions will arise during package upgrades on users systems. Sometimes merging can be done with 3 way merge, but this process does not insure that the resulting file is correct or even legal. This project intends to create standards, tools an heuristics to make the scary config file conflict resolution debconf prompt a thing of the past.

Debbugs Bug Reporting and Manipulation API

by David Wendt Jr., mentored by Bastian Venthur

Currently debbugs supports a SOAP interface for querying Debian’s Bug Tracking System. Unfortunately this operation is read-only. This project would create an API for debbugs which supports sending and manipulating bug reports, without having to resort to email. This project does not intend to replace email as mean to manipulate the BTS but rather to enhance the BTS to allow other means of bug creation and manipulation.

Debian High Performance Computing on Clouds

by Dominique Belhachemi, mentored by Steffen Moeller

The project paves a way to combine the demands in high performance computing with the dynamics of compute clouds with Debian. Combining the Eucalyptus cloud computing infrastructure with the TORQUE resource manager and preparing the components for dynamically added and removed instances provides the user with a attractive high performance computing environment. Such a system allows users to share resources with large compute centers with minimal changes in their workflow and scripts.

Debian-Installer on Neo FreeRunner and Handheld Devices

by Thibaut Girka, mentored by Gaudenz Steinlin

This project aims to improve the installation experience of Debian on handheld devices by replacing ad-hoc install scripts by a full-blown and adapted Debian-Installer. The Neo FreeRunner is used as it is the most convenient and open device from a development standpoint, but other devices will also be explored.

Hurd port and de-Linux-ization of Debian-Installer

by Jérémie Koenig, mentored by Samuel Thibault

The primary means of distributing the Hurd is through Debian GNU/Hurd. However, the installation CDs presently use an ancient, non-native installer. The goal of this project is to port the missing parts of Debian-Installer to Hurd. To achieve this, all problematic Linux-specific code in Debian-Installer will be replaced by less or non-kernel dependent code, paving the way for better support of other non-Linux ports of Debian.

Multi-Arch support in APT

by David Kalnischkies, mentored by Michael Vogt

Hardware like 64bit processors are perfectly able to execute 32bit opcode but until now this potentiality is disregard as the infrastructure tools like dpkg and APT are not able to install and/or solve dependencies across multiple architectures. The project therefore focuses on enabling APT to work out good solutions in a MultiArch aware environments without the need of hacky and partly working biarch packages currently in use.

Package Repository Analysis and Migration Automation

by Ricardo O’Donell, mentored by Neil Williams

Emdebian uses a filter to select packages from the main Debian repositories that are considered useful to embedded devices, excluding the majority of packages. The results of processing the filter are automated but maintaining the filter list is manual. This project seeks to automate certain elements of the filtering process to cope with specific conditions. This project will also generalize to more elaborate and intelligent algorithms to improve the transitions of the main Debian archives.

Smart Upload Server for FTP Master

by Petr Jasek, mentored by Joerg Jaspert

Making packages upload smarter, more interactive and painless for uploaders by switching from anonymous FTP and Cron jobs to a robust protocol and modern package checking and processing daemon. This daemon would test early and report early, saving developers time.

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!

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

I am a Debian developer

Your help is much needed from general organization to individual mentoring. Come see us on IRC or on the mailing-list mentioned below.

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.

Previous Debian Summer of Code student, will be interning somewhere beginning May and need to get corporate approval. It shouldn't be a problem. Would prefer to work with Debian Perl things, or perhaps have someone work on the libdebctrl project I began last year. Experience with Perl and C/C++; limited experience with Java. Have worked with DominiqueDumont in the past (2009 SoC) and would be willing to co-mentor his projects as well.