Feb 02

Debian Summer of Code ’08 : Where are they now (part 3/3)

Category: debian,Summer of CodeObey Arthur Liu @ 1:03 am

UPDATE: The slides of the FOSDEM 2009 talk about this are here. They include analysis and recommendations for the next Summer of Code.

Welcome back for the last part of the reviews. You may want to look at the previous parts :  part 1 and part 2.

Jigdo-ivory, a JavaScript Jigdo client

Presentation

“Debian CDs and DVDs take up a huge mount of space on download servers. Using jigdo to download those images can significantly reduce the amount of bandwidth and space needed on the central servers. Unfortunately, jigdo currently needs special client software to be downloaded/installed first. Adding support directly into a browser-based application could potentially make a very big difference for first-time users here.”

Jigdo was created in 2001. It allowed to create ISOs from .debs grabbed from regular mirrors. It eliminated the need to duplicate the entire contents of the package repository into ISO files for each release, or even more importantly, for weekly snapshots of testing/unstable/whatever.

You may find the complete proposal from the student here. The original idea originated from the Debian-CD people, who wanted to explore ideas about creating a light web client. The project was mentored by Steve McIntyre, who developed a new version of the Jigdo tools, jigit, which is much more efficient.

Student

Dustin Rayner was a 5th year senior undergraduate student at the Oklahoma Christian University in Oklahoma City, Oklahoma. I studied Computer Engineering for 3 years as a Computer Engineering student before deciding to pursue a Mathematics and Computer Science degree.

Result

This project was unsuccessful due to numerous issues. First, because of an inadequate technical preparation of the original proposal. The Debian-CD people were too optimistic with the possibilities of Javascript. In the end, the copying and checksumming part of the Jigdo process were implemented but the checksumming (with a Javascript implementation of md5) was so slow that it was unusable (think 50kb/s on a regular laptop at full CPU charge). The student did the right thing to investigate Java and ActiveX but it was too late unfortunately and he ultimately lacked the experience and knowledge in the relevant technologies.

If the proposal is tried again, the student would be requested to have much more experience with Java (and possibly ActiveX). Those would be much more efficient for the task, as they are the most used technologies among on-line anti-virus scanners, which have a workload somewhat similar to Jigdo.

I could not find further public involvement of Dustin Rayner within Debian.

Aptitude-gtk, usability and GTK+ GUI for the Aptitude package manager

Presentation

“A GTK+ GUI for Aptitude that will work alongside improved current ncurses and command-line interfaces. This will offer an alternative to Synaptic with an interface design geared toward usability and advanced functionality.”

Debian currently supports multiple non-command-line package managers, the most used being Synaptic and Aptitude. Synaptic uses a GTK+ interface but offers no command-line mode. Aptitude offers a command-line mode but no X interface, although it offers a ncurses interface.
Comparing the interfaces of Synaptic and Aptitude reveal many design differences. Although Synaptic may be more accessible to beginners, Aptitude offers many interface behaviors and functions that are useful to the regular to advanced users : fully hyperlinked tabbed navigation between packages and versions of packages, mostly modeless interface, interactive dependency conflict resolver…

The proposal was introduced by the student in coordination with Daniel Burrows, the mentor and developer of Aptitude.

Student

Obey Arthur Liu was a 22 year old french student of Computer Science and Applied Mathematics at Grenoble Institute of Technology – ENSIMAG, in France. Did I mention that he’s also yours truly ? If you want to know more, you might be interested in my previous post.

Result

This project was successful. The interface was mostly done and functional by the end of the summer. Daniel merged the code into the main post-lenny branch. Development is still ongoing and packages are released into Experimental. For further information, just read the rest of my blog.

I could find some further public involvements of Obey Arthur Liu within Debian. Doh!

Lintian for fuller automated setups

Presentation

“lintian, the Debian package checker, at the moment presents possible problems in three categories: errors, warnings and informational messages. This leads to several problems, most importantly that the severity and certainty of a check can’t be expressed separately. In the course of this project, the student should design and implement in lintian an improvement of the current situation, for example by using a two-letter code (one for certainty, one for severity).”

This project would make lintian errors much more fine-grained and help in maintaining pertinent quantitative analysis of package quality.

The project was mentored by Marc Brockschmidt. The project proposal was commonly introduced by the Lintian team.

Student

UPDATED: Jordà Polo Bardés has done a lot of work with translation in Catalan, his native tongue. He can usually be found on #debian-catalan. He also maintains a few packages as a DM.

Result

This project was successful. The classification was entirely done. Jordà also helped with the new lintian.debian.org website. The Lintian team was very satisfied with the revamped errors list and new website. They have an immediate impact on packages quality reporting.

Jordà is still active within Debian, helping package a few games.

Debexpo, a generic web-based package repository

Presentation

mentors.debian.net is currently a very specialized web-based repository that allows everybody to contribute software packages to Debian without the need to be a Debian Developer (or Debian Maintainer). It has successfully helped simplifying the sponsoring process in the last years. However it needs to be refactored and in the process should be turned into a generic piece of software that can be used for other Debian source/binary package repositories, too.”

Mentors is a very good initiative to recruit new packages maintainers (and needs your help!) and the software underlying it could be reused for many different purposes (think PPA).

The project was mentored by Christoph Haas. The project proposal was commonly introduced by the mentors team.

Student

Jonny Lamb was a Computer Science student in the United Kingdom. He was already quite involved within Debian, maintaining a lot of significant packages.

Result

This project was successful. The whole proposal was perfectly executed. Jonny now continues to develop debexpo, with the mailing-lists and commit logs showing interesting activity. Of course, help for debexpo is appreciated to get it into full shape.

Jonny has since become a Debian Developer (here is his AM report). Congratulations to him.

It’s nice to end on a nice note isn’t it ? Now that we’re done with the individual reports, I’m going to write down my recommendations report. Hopefully it will help with next year’s Summer of Code.

4 Responses to “Debian Summer of Code ’08 : Where are they now (part 3/3)”

  1. Philippe Cloutier says:

    I think it’s too early to call some projects successful. aptitude-gtk is still in experimental and needs a lot of work. Debexpo seems to be closer to completion, but it hasn’t been put in production yet AFAICT.

    Debian seems to have a tendency to choose big projects which are not necessarily going to be successful right at the end of the GSoC. The question for me is whether these projects, as left at the end of the summer, will be eventually picked up or continued, and achieve success. For these ends, an interesting analysis should look at the 2006 SoC projects.

    Unfortunately, I’m not aware of such analyses. We’re lacking information on the results of SoC-s. Thanks for working on this.

  2. Obey Arthur Liu says:

    @1
    Sure aptitude-gtk is still in experimental, but I wouldn’t say it needs a “lot of work”. Did you try it ? Except for some rare exceptions, all features from aptitude-ncurses are here, and they are easy to fix. You could say that there is some tweaking left to be true to the “usability” part of the original proposal but I think that we went through many improvements on that aspect since september.

    I did mention in my talk that we should have projects that would give tangible results at the end of the summer, or be retargeted timely to do so during the summer. My proposal was to finish off aptitude-gtk at the end of august, retrospectively, I think that we only now are in the state I was planning aptitude to attain in september during the proposal phase but I also knew that even if I couldn’t finish, my mentor would be mentivated to actively complete the project.

    I already had a hard time finding informations about 2008, so I didn’t pursue summaries of the previous years. You can find some information of the 2006 wiki page.

  3. Tomas Pospisek says:

    Very, very nice research Obey. Very interesting and hopefully also effective! Thanks!

  4. Philippe Cloutier says:

    @2
    I had not tried aptitude-gtk. I now gave it a reasonable try. The first thing that stroke me was bugs and missing features, but I eventually succeeded to do some basic operations. I did not really try the original aptitude, so it’s possible that aptitude-gtk is comparable to it. Nevertheless, aptitude-gtk would have to “compete” with Synaptic, and there’s a long way to go before getting there. That said, some aspects were interesting (in particular, tabs, though they may not be very intuitive currently).

Leave a Reply