Improving Distro tracker to better support Debian teams

Name: Arthur de Moura Del Esposte

Affiliation: Masters student in Computer Science at University of São Paulo - USP

Basic Information

Background

I have a bachelor's degree in Software Engineering from the University of Brasilia (UnB). During my graduation period, I became a free software enthusiast, and since 2013 I have attended community events and contributed to free software projects. My early involvement with these communities contributed significantly to my education, both in the technical and social aspects, as well as bringing me many opportunities. Among others, I highlight the opportunities to become a member of a research lab in FLOSS and agile methods at UnB, to work as a developer on the Brazilian Public Software Portal project, and to work with great professionals from important free software projects, such as Debian and Mozilla. Currently, I am pursuing a master’s degree at the University of São Paulo (USP). In USP, I belong to the FLOSS Competence Center. During my masters, I have been developing the InterSCity platform, a microservices-based, cloud-native middleware for smart cities, which is the main free software project that I’ve worked on recently.

Skills

As a consequence of my training and my earlier contributions to free software projects, I’ve developed various technical skills which include good practices of software engineering, TDD, refactoring, system design, microservices architectures, and ?DevOps.

I work with Linux, Git, and Vim daily. As most of the projects I've worked on is Web-based, I’m quite familiar with web technologies such as HTML, CSS, Javascript, Bootstrap, ?WebSocket, and web frameworks. More precisely, Ruby is my primary programming language, and I have three years of experience with Ruby on Rails. Also, I’m fairly confident to work with Python and Django since I used them before in other projects. Finally, as I became more familiar with microservices architecture, I’ve been working with ?DevOps tools such as Docker, Kubernetes, and Ansible.

Project Title: Improving distro-tracker to better support Debian Teams

Synopsis: This project aims at designing and implementing new features in Distro Tracker to better support Debian teams to track the health of their packages and to prioritize their work efforts.

Project Details:

Distro Tracker concentrates several useful features related to Debian packages, allowing teams to group it packages of interest and to receive update notifications from it. Although Distro Tracker provides a comprehensive page with detailed data for each package, it lacks features for helping packaging teams to have an overview of their packages.

Currently, the PET (Package Entropy Tracker) project implements useful features for packaging teams tracking the status of their packages, providing useful information about upstream projects, and supporting QA tasks by highlighting packages with bugs, missing tags, and outdated. However, PET is no longer active and is obsolete as it does not integrate the data from Salsa development server. Therefore, the idea of this project is to migrate the most important team-related features from PET to Distro Tracker, leveraging and improving Distro Tracker current code base regarding teams. Thus, as a final result of SoC, I expect to incorporate to Distro Tracker a set of useful data to help teams to see the health of multiple packages and better prioritize their efforts where it is most needed. It is worthing noticing that Distro Tracker is a general purpose service that is also used by Kali community. Thus, they also will be able to take advantage of the proposed improvements.

Benefits to Debian:

Distro Tracker is a key service of Debian infrastructure. Debian packaging teams will benefit from this project since they will be able to visualize better and organize teamwork, tracking the packages and prioritizing the team efforts. Besides, after migrating the main features from PET to Distro Tracker, it will no longer be necessary to keep PET running on Debian’s infrastructure.

Deliverables / Final Aim:

Among other features, I expect to design and implement the following:

By the end of the SoC program, I expect to have these features incorporated into Distro Tracker official repository and running on the production environment in [http://tracker.debian.org/] Finally, I will write a series of blog posts presenting and discussing the contributions in each phase of the project.

Project schedule:

It is difficult to pinpoint the time required to perform each task, mainly because there is an uncontrollable patch period and patch fixes sent to the main repository. Besides, these estimates may evolve from the advances that are being made and agreed upon with the mentor.

Contributions to Debian

I am a Debian user for years, but I started my contact with the Debian community way before that. During my graduation, I helped in the accomplishment of a micro event that gathered four Debian Developers in Brasília - Brazil. Also, in this same event, I participated in a packaging tutorial where I did QA fixes in the ajaxterm package.

Recently, I have been worked on the Distro Tracker making a number of contributions to the source code. The following list details all the accepted patches I sent:

Most of the contributions are related to the code modules that I will be working in during the SoC, which includes Team, Team Member and Package related models and views. The above listed contributions resolved the following bugs:

Finally, I am going to attend Curitiba’s MiniDebCamp and MiniDebConf between April 11 and 14. The two first days I will work with the local community on new contributions to Debian, both to Distro Tracker and packaging, during Bug Squashing Party and the sprints that will happen there. The last two days lectures, debates, and more collaborative work. This will be an excellent opportunity to strengthen my relationships with the Debian community, meet other people involved, and learn more about the project, serving as a "warm-up" for the SoC as well.

Other Notable Contributions

Since my first contacts with free software, I started to contribute to the source code of the projects. My participation ranges from small bug fixes in utility tools to contributions in key features of some projects in which I work more actively. The most notable projects to which I contribute are listed below:

Other Information

Exams and other commitments: No other commitments during the GSoC.

Where will you work: Mostly in USP campus and sometimes in my home.

Other Summer Plans: None

Why Debian?: I have been using Debian for years. I admire the project for its technical quality, for being a project that prioritizes its users, and for the philosophy and organization of the project community. I am very keen to contribute back to the project actively, I believe that I have technical skills to assist the project in several aspects, but I also see it as a precious space of much learning and knowledge. SoC is an excellent opportunity for me to dedicate to the project and to participate in the community. I intend to continue contributing and getting involved in other aspects of the project after SoC as well as envisioning the opportunity to become a Debian Developer in the future.

Are you applying for other projects in SoC?: No