Integrating the KWorkflow system with the Lore archives

Enhancing the Linux kernel developer interaction with mailing lists

MAC0499 - Capstone Project (Bachelor of Computer Science course at IME-USP)

Student: David de Barros Tadokoro
NºUSP: 10300507
Academic advisor: Paulo Meirelles (IME-USP)
Academic advisor: Rodrigo Siqueira (AMD)
Responsible teacher: Nina Hirata (IME-USP)
Last modified: 10/12/2023 (DD/MM/YYYY)

Important links:

Abstract:

The Linux kernel is a well-established free software project with thirty years of development. Combined with utilities from the GNU Project, the GNU/Linux ecosystem is fundamental for operating critical services in our society, like the Internet. With a unique contribution model, the Linux kernel is collaboratively developed by thousands of contributors and maintainers who reside worldwide through electronic mail and mailing lists. Many projects offer solutions to the processes and practices involved in the Linux kernel development, and the KWorkflow (kw) system aims to provide a unified environment that enhances the workflows of these developers. The kw project lacked a tool that contemplated the developers' interactions with the mailing lists for patch reviewing, and this work's focus was to produce a feature in the kw environment that enhanced this workflow. The feature is named patch-hub, and it integrates the kw environment with the Lore archives - a Web application hosting updated archives of mailing lists related to the Linux kernel development - to offer a terminal-based user interface (UI) to the patchsets sent to the mailing lists. A Database Management System (DBMS) was integrated into the kw project as a preliminary task, constituting a base for patch-hub and positively affecting the project on other fronts, such as data collection and performance. The feature was implemented using the Model-View-Controller (MVC) architectural design pattern and the Finite-State Machine (FSM) mathematical model of computation, which ensured loosely coupled components that are simple to maintain and expand. By displaying sequences of terminal menus for the user to navigate, patch-hub provides the services of retrieving the mailing lists archived on Lore, displaying a record of the latest patchsets sent to target mailing lists, querying based on strings, bookmarking patchsets for future quick access, and applying actions on them. The current state of the feature merged in the kw project not only validates a tool that enhances the interactions with mailing lists but also lays the foundation for future works that will keep on enhancing patch-hub and the experience of Linux kernel developers.

Resumo:

O kernel do Linux é um projeto de software livre bem estabelecido com trinta anos de desenvolvimento. Combinado com utilitários do Projeto GNU, o ecossistema GNU/Linux é fundamental para operar serviços críticos em nossa sociedade, como a Internet. Com um modelo de contribuição único, o kernel do Linux é desenvolvido colaborativamente por milhares de contribuidores e mantenedores que residem em todo o mundo por meio de correio eletrônico e listas de email. Muitos projetos oferecem soluções para os processos e práticas envolvidos no desenvolvimento do kernel do Linux, e o sistema KWorkflow (kw) tem como objetivo fornecer um ambiente unificado que aprimora os fluxos de trabalho desses desenvolvedores. O projeto kw carecia de uma ferramenta que contemplasse as interações dos desenvolvedores com as listas de email para revisão de patches, e o foco deste trabalho foi produzir uma feature no ambiente kw que aprimorasse esse fluxo de trabalho. A feature é chamada patch-hub e integra o ambiente kw com os arquivos do Lore - uma aplicação Web que hospeda arquivos atualizados das listas de email relacionadas ao desenvolvimento do kernel do Linux - para oferecer uma interface de usuário (UI) baseada em terminal para os patchsets enviados para as listas de email. Um Sistema de Gerenciamento de Banco de Dados (SGBD) foi integrado ao projeto kw como uma tarefa preliminar, constituindo uma base para o patch-hub e impactando positivamente o projeto em outras frentes, como na coleta de dados e no desempenho. A feature foi implementada usando o padrão de projeto arquitetural Model-View-Controller (MVC) e o modelo matemático de computação Finite-State Machine (FSM), o que garantiu componentes fracamente acoplados que são simples de manter e expandir. Ao exibir sequências de menus de terminal para o usuário navegar, o patch-hub fornece os serviços de disponibilizar as listas de email arquivadas no Lore, exibir um registro dos patchsets mais recentes enviados para listas de email específicas, fazer consultas baseadas em strings, marcar patchsets para acesso rápido no futuro e aplicar ações sobre eles. O estado atual da feature mesclado no projeto kw não apenas valida uma ferramenta que aprimora as interações com listas de email, como também proporciona oportunidades para trabalhos futuros que continuarão a aprimorar o patch-hub e a experiência do desenvolvedor do kernel do Linux.