Guidelines for Boosting Long-Lasting FLOSS Contributors

Speaker: David Tadokoro

Track: Academic

Type: Academic paper

Room: Petit amphi

Time: Jul 15 (Tue): 10:30

Duration: 0:20

Free Libre and Open Source Software (FLOSS) development is a validated approach to producing cutting-edge software solutions used by governments, companies, and society at large. At the core of all FLOSS software projects are communities composed primarily of developers who evolve and maintain the software while devising rules for the development process. A common problem is the renewal and/or scaling of the workforce, which is not about encouraging waves of new and sporadic contributors but about fostering long-lasting ones that can have a more profound impact on the project. This work presents guidelines for mentoring students to build skills and gain experience essential to becoming valuable assets in most FLOSS ecosystems. Beyond a reasonable software development background, previous experience in FLOSS development is not a requirement. These guidelines are a product of a 15-weeks university course where students had to (1) learn the fundamentals of Linux kernel development and send patches to a subsystem, (2) contribute to supporting tools to the GNU/Linux ecosystem, (3) introduce software packaging in the context of Debian, and finally (4) contribute to a chosen FLOSS project. The method reproduces the natural way a “self-taught” contributor would enter a FLOSS ecosystem (heavily inspired by how Debian does it), though in a more focused and immersive environment. Through in-loco workshops, accessible and knowledgeable mentors, and close and constant monitoring, we simulated a smaller FLOSS community where students (inexperienced contributors) learned from mentors (maintainers); we argue that this simulated community can be more efficient than a real one as feedback is faster and more adapted to each contributor, and concepts can be abstracted and simplified for easier absorption. Our results show that the method fostered (1) developers who are more confident in contributing to any FLOSS project and beyond to the “one-commit contributor” and (2) the enhancement of fundamental hard skills (like Git and Web/email-based contribution models) and soft skills (like communication and feedback assimilation) for any FLOSS project. Even though deep technical knowledge becomes mandatory for every contributor in a specific project, we claim that implementing the proposed guidelines can quickly nurture tens of developers with a solid base for becoming long-lasting contributors to FLOSS.

URLs