Google Summer of Code 2006 - Debian's involvement
This wiki page was created to make it easier to plan and coordinate Debian's involvement in the Google Summer of Code 2006. It has now been re-purposed as a reference showing how our assigned projects went.
Contents
Projects
Debian Live Improvements
Student: Robert Pickel
Mentor: Daniel Baumann
VCS: svn://live.debian.net/casper-ng
Mailing list: debian-live
IRC: OFTC/#debian-live
Original idea: Automation of Debian Based live-cd creation process
Final mentor summary:
Mentored project about adding rewriting parts of the initramfs generator (aka casper) did not work out. It was canceled before the mid-term evaluation, because the student did disappear after two weeks without doing anything and not responding to pings.
Debtags AI
Student: Alex de Landgraaf
Mentor: Erich Schubert
VCS: svn://alextreme.org/svn-debtags
Mailing list: debtags-devel
IRC: OFTC/#debian-devel
Original idea: Debtags, using AI classifiers for automating the tagging of Debian packages
Final mentor summary:
We evaluated the use of a Bayesian AI for assisting during the tagging of packages. This is harder than spam classification because it's not a boolean decision spam/ham, but one for each tag.
Key results:
- does help during tagging, however the results need manual review
- thus, UI is a key issue
- works okay for common tags (e.g. suite::kde)
- does not work well for rare tags (e.g. culture::uzbek)
- could benefit from improved training algorithms
- speed is an issue (full training needed several days in first implementation, we were able to cut this down to a few hours. Query is much faster; O(tags)-fold effort of a spam filter)
- will maybe be included in the Debtags web interface sometime (currently we're using the xapian search engine for suggesting tags instead; this works surprisingly well)
- getting additional text content for classification is important. Package descriptions are very short, so it might be good to be able to use e.g. the package homepage or files from /usr/share/doc/package for training to have additional text content to process
- using the package contents (i.e. 'dpkg -L package' / Contents.gz) added some interesting additional data when tokenized smartly (e.g. containing the /usr/games directory is a good indicator of a game application package; /usr/share/games indicated game data or game application packages etc.)
DWTT (aka wotomae) and CRMI
Student: Arnaud Fontaine
Mentor: Raphaƫl Hertzog
VCS: bzr://bzr.debian.org/bzr/wotomae/mainline/
IRC: OFTC/#debian-devel
Original idea: Distribution wide-tracker tools (DWTT) and collaborative repository of meta-informations about source packages (CRMI)
Final mentor summary:
Arnaud Fontaine worked on implementing a Distribution-Wide Tracker Tool (http://wiki.debian.org/DWTT). The goal was to implement a web interface that could be used to coordinate the work on large set of packages. Intelligent use of the BTS usertags allows to associate bugs to various trackers.
It got renamed to wotomae (WOrking TOgether MAde Easy) and the result is usable at http://wotomae.debian.net It was developed with the ?TurboGears framework and some work on improving the packaging of that framework also happened during the summer. The source code is stored in a bzr branch: $ bzr get http://bzr.debian.org/bzr/wotomae/mainline/ wotomae
The result is far from being perfect and it has performance issues. It lacks some people willing to use it for real work and fix whatever problems they encounter.
debian-images-generator
Student: Carlos Parra Camargo
Mentor: SteveMcIntyre
Mailing list: deb-imgs-gen-devel
IRC: OFTC/#debian-cd
WWW: Alioth
Original idea: Rewrite debian-cd, making improvements
Final mentor summary:
Carlos got a lot done, writing most of a new implementation of debian-cd in python with some added improvements along the way:
- easier configuration
- better diagnostic output
- much cleaner code written in one language
He got to the stage of making working binary CDs with his new tool, that were comparable with the state of the art in the equivalent debian-cd version at the time that he started. As there had been some parallel development happening in debian-cd and we were expecting to be close to releasing Etch (!), we decided to not press ahead immediately with pushing Carlos' new code into production. The plan was (and mostly still is) to start switching over to his newer cleaner code after the Etch release, with some overlap and comparison of the output of the two versions before then.
Well-done project overall, and Carlos expressed a desire to stay involved and continue development. Things have gone a little quiet since last summer, so I'm going to get in contact again soon.
Translation Coordination System
Student: Gintautas Miliauskas
Mentor: Aigars Mahinovs
Mailing list: debian-i18n@lists.debian.org
IRC: freenode/#pootle
Original idea: Tools to help in translation work
Final mentor summary:
The outcome of the project was mostly in the way of exploring a specific technical possibility in cooperation between Debian i18n and Pootle developers that was implemented in the Pootle codebase.
The outcome of the project was not a working service, but rather some measures and ideas that have further progressed and should eventually help make a unified translation portal for Debian packages.
Debian Installer on GNU/Hurd
Student: Matheus Morais
Mentor: Colin Watson
VCS:
Mailing list: debian-boot
IRC: OFTC/#debian-boot
WWW:
Original idea: Port debian-installer to run natively on GNU/Hurd
Final mentor summary:
The student apparently spent quite a lot of time and effort getting up to speed on both d-i and Hurd, but made very little real progress in terms of code. The project was abandoned by the mid-term evaluation.
Improve the boot system
Student: Carlos Villegas
Mentor: Petter Reinholdtsen
Mailing list: initscripts-ng
IRC: OFTC/#pkg-sysvinit
Original idea: Improve boot performance
Final mentor summary:
I supervised a project with Carlos Villegas, who worked on the boot system in debian. He benchmarked the boot system using bootchart, and tested several hypothesis on what affected boot speed while documenting the results. Several of his improvments are implemented in Debian/Etch already, and some of them I plan to integrate after etch is released. He made a lintian test for the LSB dependency headers in init.d scripts, which is slowly making sure all boot scripts in Debian get dependency information, thus making it possible to verify and correct the boot script order.
BTS front-end
Student: Philipp Kern
Mentor: Don Armstrong
VCS: svn://svn.debian.org/soc/reportbug-gnome2 svn://svn.debian.org/soc/bts-frontend
IRC: OFTC/#debian-devel
WWW: blog
Original idea: This project is divided into two sub projects: One to provide a Gtk2 front-end to the well known Debian reportbug tool, the other being the BTS GUI front-end with the ability to sync the bugs watched onto the own computer, based on specified search criteria.
Final mentor summary:
To follow
Britney improvements
Student: Fabio Tranchitella
Mentor: Andreas Barth
Original idea: Improve Britney, the scripts used to update Debian's testing distribution
Final mentor summary:
To follow
BitTorrent Extensions
Student: Matthew Wronka
Mentor: Anthony Towns
VCS:
Mailing list:
IRC:
WWW:
Original idea: Expand the BitTorrent protocol/application to work effectively with large, constantly updating collections of files such as the Debian archive
Final mentor summary:
Little progress shown, project dropped by the mid-term evaluation.
Timeline
- May 1st - 8th: Student proposals accepted by Google
May 6th - 13th: DebCamp in Mexico
May 14th - 21st: DebConf in Mexico
- May 21st: Deadline for Debian to accept proposals
- May 23rd: Google publishes list of accepted proposals
- July 5th: Mid-programme student evaluations due from mentors
- August 21st: Student projects due
- September 5th: Final mentor and student evaluations due
Contact info
Debian SoC coordinator: Baruch Even baruch@debian.org
Students who have any issue with their mentor or a mentor who has an issue with their student should contact the coordinator to help resolve it.
A project was opened for the SoC on Alioth at http://alioth.debian.org/projects/soc/
Coordination is done on the mailing list soc-coordination
Infrastructure Provided to Students
Students are required to keep their development in the open, it is recommended that you use Alioth for your source control repository, you can use the soc project for your repository.
Most Debian development happens in the open already, so you will find a wealth of information on mailing lists and IRC, your mentor should be able to direct you to the proper resources.