Student Application Template
Name: Nathan Handler
Contact/Email: nhandler@ubuntu.com, nhandler on irc.freenode.net and irc.oftc.net
Background: I am an active Ubuntu Developer and member of freenode staff. I have previously done some work with the Debian pkg-perl team, and I am fairly familiar with the various developer work-flows in the Debian community. I have also done some work with DEX by helping to process a long list of patches that were applied in Ubuntu.
Project title: Backend tools for DEX
Synopsis: 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 would involve working closely with the members of the DEX team to create the necessary backend tools so that all Debian derivatives can easily make use of the DEX project.
Benefits to Debian: By making it easier for Debian derivatives to make use of the DEX project, it will become much easier to get other derivatives besides Ubuntu involved. This will lead to many new patches and bugs being brought to the attention of the Debian Maintainers, bring together people working on the same packages who might not be aware of each other's work, and ultimately, and ultimately improve the quality of a large number of Debian and Debian-based derivatives' packages.
Deliverables:
- Create new web portal/dashboard that pulls information from the BTS to allow DEX members to track project progress, while allowing Debian Maintainers to ignore it without losing out on work that is done.
- Create script to generate charts to visually show project statuses as well as to acknowledge work done by individuals (i.e. show which individuals did the most work for a particular DEX project)
- Create script to handle creating a new DEX project. This will involve applying the correct usertags to bugs and and testing various aspects of the new project to prevent problems (among other things).
- By hopefully re-using some code from Launchpad, I want to have an automated method of tracking the status of bugs in the various derivative bug trackers. This script will allow you to specify a bug number and distribution and get all of the relevant information. Most likely, only a few of the more popular bug tracking systems will be supported at first, but more can be added later. This script will later be integrated into the portal.
Export all information collected and displayed by the portal in an easy to parse format so that sites like Ubuntu Harvest can get people involved with DEX in the various Debian-based derivatives.
Project details: I plan to continue to work closely with Matt Zimmerman and other members of the DEX team. As this currently consists mainly of Ubuntu and Debian developers, I will also try to get some developers from other Debian-based derivatives involved to get a wider range of feedback. My tools will be based on problems and other issues discovered during the first round of DEX patch triaging that I took part in as well as the mailing list discussions that followed. Each tools has a specific problem that it is designed to solve, and the end result will be that DEX is ready for all Debian-based derivatives to begin making use of. This will pave the way for many new bugs and patches to make their way to the Debian BTS, and allow Debian to work better with its derivatives in the future.
Current DEX Status: DEX was introduced on March 16, 2011. The first and only task the team has performed so far is reviewing a list of some old Ubuntu patches to determine whether they still need to get applied in Debian or whether they have already been applied or are not needed. Matt Zimmerman generated the list of patches, but there are currently no biblically available tools to do this. This means that it will be difficult and time consuming for Ubuntu or other derivatives to generate list of bugs. Now, discussions are currently taking place on the mailing list about what the next task should be. This has led to many comments about how to best get patches into Debian in various situations (i.e. maintainer is missing, maintainer is against the patch, maintainer is active and supports the patch, etc.). Stefano has also gone through and added usertags to help track bugs/patches that the team has been working on getting applied in Debian, but this task had to be done by hand. It is also a bit tedious, as the members of the team need to update the DEX status page (a tab-delimited file in a VCS) as well as add usertags to the bugs. Some of the proposed tasks for the team to work on include working to get packages with large or problematic deltas in sync with Debian, using usertags to find outstanding Ubuntu patches in the BTS and work to get these applied, and trying to get packages that are in Ubuntu but not in Debian added to the later. While these tasks would definitely benefit both Debian and its derivatives, they require being able to easily generate and track a list of tasks, neither of which is trivially achievable with the tools that are presently available.
Project schedule: I should be able to begin work the first or second week in June and work up until around the end of August. As this project consists of working on several small and related tools, I should be able to produce a steady stream of results without having to worry about a problem in one script blocking all further work.
Other summer plans: I will be starting my first year at the University, so I might be unavailable a bit around the start of September due to moving, orientation, and other similar activities.
Exams and other commitments: I have no exams that will be taking place over the summer.
If you are not a Debian Developer: Do you have plans for Debian after the summer ? After the Summer, I hope to continue working with on the DEX project. I also hope to become active in the pkg-perl team again. At school, I will also hopefully be able to get my GPG key signed by a Debian Developer. This will enable me to pursue becoming a Debian Maintainer or Developer at some point in the future.