Contents
This page has a few examples for SummerOfCode2012 projects, all of them are fictional, and are meant to show what it takes to have a good project description, and what makes a bad one.
For actual projects, see SummerOfCode2012/Projects.
Improve the debbugs SOAP interface (a bad example)
Description of the project:
Confirmed Mentor: <your name here>
How to contact the mentor: me @ example.org, or mynickname on IRC (irc.debian.org)
Confirmed co-mentors: None
Deliverables of the project:
- A working SOAP interface
Desirable skills:
- Perl
- SOAP
What the student will learn:
- Perl, SOAP, debbugs internals
Improve the debbugs SOAP interface (a good example)
The Debian Bug Tracking System (debbugs, for short) is the software Debian uses for tracking bugs, from the time they get reported until it's fixed and subsequently archived forever more.
The primary interface for this is e-mail, with a web-based read-only view available aswell. Neither of these is particularly suitable for querying the database in complex ways, or in bulk.
Therefore, a SOAP (Simple Object Access Protocol) interface has been written for it, but it's not working reliably. The goal of this project is to make this interface work again, reliably, with documentation and test cases, so that it can be kept functional in the future.
Communicating with other teams that build on debbugs (the QA team, the package tracking system developers, etc) is also a great place to collect improvement and feature ideas from. Thus, this task also involves communicating with these teams to find out their needs, and lay out a plan to implement them.
Confirmed Mentor: <your name here>
How to contact the mentor: me @ example.org, or mynickname on IRC (irc.debian.org)
Confirmed co-mentors: Everyone else on the team.
Deliverables of the project:
- A SOAP interface to debbugs, that allows at least the following:
- Query bugs by number, submitter, package, maintainer and owner
- Query by usertags
- Basic aggregation support, to be able to query based on multiple requirements combined.
- Test cases for all of the above
- A SOAP interface to debbugs, that allows at least the following:
Desirable skills:
- A reasonable knowledge of the Perl language is desired
- Familiarity or willingness to learn the SOAP protocol
- A crave for challenging tasks
- Communication skills, a reasonable command of the english language
What the student will learn:
- The student will learn the deepest internals of debbugs, and contribute a very important piece of code to the Debian infrastructure, that will make the lives of the other teams building on debbugs a whole lot easier. Along the way, the student can also learn how to work with code originating from the past milennia, and still succeed. S/he can also learn a lot about how Debian works, by being involved with talking to other teams within the project.