Jan 28 2009

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

Category: Summer of Code, debianObey Arthur Liu @ 7:16 pm

Here’s for the second installment of my review of this past year’s Summer of Code at Debian. See the previous part here: Debian Summer of Code ‘08 : Where are they now (part 1/3).

I apologize for being so late at getting this second part out but I have been very busy. Still, I’ll get the last part out before FOSDEM. Those of you who ever had to write a Java compiler (ok, Java subset, but the OOP part was here…) in brainfucking Ada will understand what I went through working on two of my most loathed languages.

Debian NAS, improve support of Debian on NAS devices

Presentation

“There is a large range of inexpensive Network storage devices available on the market. For some of them, such as Linksys NSLU-2 and Thecus N2100, we have added support, but there is many many more devices we could support. For this summer we look forward at supporting multiple Marvell Orion based devices (as outlined in Martin Michlmayr’s talk Running Debian on Inexpensive Network Storage Devices), such as Revogear Kuro Box Pro, Buffalo Linkstation, QNAP TS-109+,…”

If you don’t have old computers lying around to turn into NAS servers, you need to sleep at night without the soothing sound of computer fans or if you actually pay your own electricity bill, you might want to have a look at standalone NAS devices. They’re cheap and can be made vastly more capable by slapping a Debian on it. If you ever heard of DD-WRT, you know the spirit.

The project was mentored by Riku Voipio, with help from Martin Michlmayr. The project proposal (sorry, Google cache) was introduced by Martin, who did a presentation about it the previous year at FOSDEM.

Student

Per Andersson was a 24 year old student working towards a MSc in computer science at Chalmers University of Technology in Sweden.

He had been looking for ways to join Debian but with school still being priority one, he didn’t find time to dive in.

Result

This project was successful. The Kurobox Pro is now supported and several useful tools were packaged to make life easier with these NAS devices. Martin Michlmayer is still working on Debian NAS related stuff.

Per was happy to be invited to the Emdebian work session in Extremadura and has been active within debian, maintaining the packages he created during the Summer of Code.

Cran2deb, generate Debian packages from R packages

Presentation

GNU R has become the preeminent platform for ‘computing with data’. The CRAN archives contain over 1300 source packages of very high-quality, and BioConductor has again almost as many focuses on bioinformatics. We want more of these in Debian, and going beyond the 50+ packages we currently have suggests more scripting and automation.”

R is a pretty big among statisticians and all of them they wasted no time writing their own package to work on particular research subject. It’s a lot like Perl with CPAN or LaTeX with CTAN. It’s always a pain to discovery that a particular R package is not wihtin Debian and having to resort to unmanaged installation of said packages.

The project was mentored by Dirk Eddelbuetel. The project proposal (which is nowhere to be found but seemed to be good) was introduced by Dirk, along with another proposal he did for R.

Student

Charles Blundell is a research student at.. hum.. didn’t do my homework about that. Anyway, you can find him around R related projects.

Result

This project was successful. Cran2deb is happilly turning more than 1400 of the ~1500 CRAN R packages, all with correct dependencies. The work has since been moved to R-Forge. It’s working, we’re almost there. We just need it to be polished and we’ll get a whole bunch of new packages into Debian.

Charles pinged me about the status of Cran2Deb after the previous post. He admits that he hasn’t done much about cran2deb recently because of his new position as a research student but hopes to commit again to it soon. I do encourage him to get these R packages into Debian. I had to manually install some packages myself when I had to use R for school because they weren’t into Debian and it’s not pretty.

Mergemaster, interactively merge changes in configuration files

Presentation

“FreeBSD has a shellscript called mergemaster which is used to interactively merge changes in configuration files, based on 3-way diffs. Debian’s approach to configuration file differences is much more primitive: either keep the original file, or blow it away (including all local changes) and use the Debian-provided file. It would be nice to get a system such as mergemaster into Debian. Important is to remember that Debian contains two often-used configuration file management systems: ucf, and conffiles; porting mergemaster in such a way that it will be used in both cases would be great.”

The handling of configuration files during upgrades has always been a little.. brutal, with the user being asked at gunpoint to make a good decision, lest the upgrade won’t continue or configuration files get borked (ever tried automerging nagios configuration files?). Having a less stressful upgrade experience is a good thing since the point of Debian is to make package management a stressless thing.

The project was mentored by, hum, Manoj Srivastava. I have no idea who came up at first with the proposal.

UPDATE: Wouter Verhelst mailed to say that he made the original proposal.

Student

Max Wiehle was a physics student at the University of Heidelberg. He did a Summer of Code stint (Archive.org copy..) as a student for Beagle Project in 2006 which, I suppose, was successful. He’s been active in the past with Gnome and desktop related projects.

Result

This project was somewhat successful. He posted an update one month into the program with repositories with code to test. Last commit to the mergecf branch of project was September 19th but it was never merged in. According to Steve McIntyre, it’s dead, Jim.

I couldn’t find any further public involvement of Max within Debian.

PAM NSS Debian Installer, improve support of PAM and NSS at install-time

Presentation

“It would be very important for the Debian allowing the user to configure additional PAM and NSS modules (eg. LDAP, NIS) during the installation process inside the Debian Installer. To do this, we have to provide tools and helpers to modify /etc/nsswitch.conf and /etc/pam.d/common-*, as well as changing the maintainer scripts for the packages libpam-* and libnss-* to apply the required changes at install time using debconf and these helpers.”

To be honest, I will probably never use this. I don’t do that many coordinated installs in the same place to warrant doing funny authentication with PAM and NSS, and if I did, I would probably use a more elaborate tool to personalize the install, like FAI. On the other hand, I can see the appeal of being done with authentication mechanisms before the first boot.

The project was mentored by Fabio Tranchitella. The proposal came from the student.

Student

Juan Luis Belmonte was a computer science student. He worked in a couple of companies in the area of Sarragossa. He is now founding debug_mode=ON.

Result

This was quite a disappointement after seemingly good work. Although Juan was satisfied with the project, the PAM package maintainer (Steve “Vorlon” Langasek) was not. He was never asked about this project (but didn’t intervene timely either when the accepted projects were announced though). In his words, it was “the wrong solution to the problem”. You can find his lenghty rationale on the wontfix bug report that resulted from the project. It really was a problem of communication with the Debian developpers since Juan could certainly have done the right work if pointed to it. Juan didn’t ask thoroughly for existing work and Steve didn’t publicize his (enough).

That’s all for now. The information is quite fragmented I admit. Most of it was pulled from Google, mailing lists, commit logs, blogs, whatever. If some projects are lacking in information here, it’s because I couldn’t find it readily (which is an issue in itself!).

In my next post, I’ll try to give a student point of view of the Summer of Code in general, and more specifically, at Debian. It will be post 2.5/3 since it’s getting a little longer than I planned. Release early, release often, as the say.

If you’re a student or a mentor mentioned above, feel free to fill any of the blanks in my report. It’s much appreciated. You’re not a student or mentor mentioned above and have an opinion on how to improve the next Debian Summer of Code ? Feel free to comment.


Jan 20 2009

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

Category: Summer of Code, debianObey Arthur Liu @ 1:16 am

It’s been a while now since the 2008 Summer of Code ended. This year, twelve (?) projects were selected. That’s twelve students working full time on a Debian-related project during the summer.

The Google Summer of Code has sometimes been criticized in the past for having a poor student-developer retention rate inside the host projects. One of the goals of the program has always been to bring new people to budding or established free software organizations and it’s a pity that some would leave the project as soon as the program ends.

On the other end, poor integration of created code within the project leads to work that is hard to merge in, or worse, doesn’t get merged in at all. That’s a waste of time and resources and a probably cause of global warming as well.

Hopefully, it’s not always the case. Some people choose to stay committed within the organization in the long-term. Useful code gets merged in and pushed to the public.

I am going to give a talk about this at FOSDEM (go to FOSDEM!) so I’m giving you a little preview. I need your help to collect information for my talk. As you know, information is always hard to come by with these kinds of projects so anything can be useful.

Without further ado, let’s have a look at the cast of the Debian Google Summer of Code 2008:

Netconf, a network configuration management system

Presentation

Netconf is a network configuration management system designed with modern network infrastructures and the needs of roaming users in mind.” It is a personal project of Martin Krafft that he started in 2007. He did some presentations about it that you can find on the dev website.

The project proposal was introduced by the mentor. The work was mainly about completing the roadmap items for version 1.0. Most of the design was done and code fleshed out.

The stated goal was to have netconf ready for lenny. Martin noted that due to lack of regular free time, he couldn’t reach that goal by himself.

Student

Jonathan Roes was a computer science graduate student from the University of North Carolina at Charlotte. He had programming experience as a hobby for a long time and wrote some free games and libraries for the Nintendo DS and some proprietary webapps.

He submitted a few little patches in mid-march right after the publication of accepted mentoring organizations and went on to work from mid-may to mid-august. He wrote a lot of code right into the trunk since the whole project was a prototype.

Result

The last commit by Jonathan was also the last to date in the main netconf git repository. No further progress has been made and obviously netconf didn’t get into lenny.

I couldn’t find any further public involvement of Jonathan within Debian.

UPDATE: Martin mentions that he’s open to help to continue the project.

The ultimate Debian database, all things Debian in a SQL database

Presentation

“The Ultimate Debian database wants to reunite all Debian data sources in a SQL database”

The project was mentored by Lucas Nussbaum and co-mentored by Stefano Zacchiroli and Marc ‘HE’ Brockschmidt. The project proposal was introduced by Lucas.

Student

Christian ‘Neronus’ Von Essen is.. well, there wasn’t much information readily available on him.

Result

The whole project is coded up and working well with a whole bunch of data sources. There will be a talk at FOSDEM about this so I’ll leave it to Lucas to talk about it in detail.

I couldn’t find any further public involvement of Christian within Debian.

Security-beta, a beta testing for Debian security updates

Presentation

“The task is to improve the quality assurance process for security updates by providing a public security update beta test program in addition to the existing QA done for security updates. During the preparation of security updates, there’s an inherent delay between the initial upload of the fixed packages and the time until the packages have been built on porter machines. This time gap will be used for a new security update beta program.”

The project was supposed to be mentored by Moritz Mühlenhoff.

Student

The project was supposed to be done by Nico ‘Nion’ Golde. He is studying computer sciences at the Technical University of Berlin. He’s also a DD.

Result

There’s no nothing. Nico, what happened ? And obviously, he’s still developing for Debian.

UPDATE: Nico retracted for personnal reasons before the beginning of the Summer of Code. His slot was reassigned to another student.

Debgraph, a generic infrastructure for the development of packages management tools

Presentation

“In a large software ecosystem such as Debian Linux, there is the potential for dependencies among software packages to create complex management and technical problems. For example, dependency loops (cycles) in which a package directly or indirectly depends on itself can confuse package management tools as they determine the proper order of package installation. debgraph helps developers to solve this problem by enabling generic queries (e.g., “Give me all the nodes that depend on package X”) against the graph of packages and thus automating much of the manual labor that is typically involved in resolving dependency problems.”

The project was mentored by Robert Lemmen, who introduced the project proposal. The project was already started and the C++ code foundation was done by the time it was proposed.

Student

The project was executed by Adam Jensen, research assistant in the Software Engineering and Network Systems Laboratory at Michigan State University.

Result

Adam maintained a blog about his progress and finished ahead of schedule. However, the resulting work seems to be unused, which is a pity since the code could be used within other programs (package managers?).

I couldn’t find any further public involvement of Adam within Debian.

UPDATE: Robert notes that Adam did a great job within the project but a lot remains to be done. Although the last months have been very quiet, he expects to pick up shortly when he has more time.


That’s all for now. The information is quite fragmented I admit. Most of it was pulled from Google, mailing lists, commit logs, blogs, whatever. If some projects are lacking in information here, it’s because I couldn’t find it readily (which is an issue in itself!).

In my next post, I’ll try to analyze the success and failures to extract some insight. Teaser: pet projects!

If you’re a student or a mentor mentioned above, feel free to fill any of the blanks in my report. It’s much appreciated. You’re not a student or mentor mentioned above and have an opinion on how to improve the next Debian Summer of Code ? Feel free to comment.

Sledge, ping!

Here’s a list of projects to be described in my next posts:

  • Debian NAS, improve support of Debian on NAS devices
  • Cran2deb, generate Debian packages from R packages
  • Mergemaster, interactively merge changes in configuration files
  • PAS NSS Debian Installer, improve support of PAM and NSS at install-time
  • Jigdo-ivory, a JavaScript Jigdo client
  • Aptitude-gtk, usability and GTK+ GUI for the Aptitude package manager
  • Lintian for fuller automated setups
  • Debexpo, a generic web-based package repository

UPDATE: I added some informations I received since.