Page 23 - SMILESENG
P. 23

Intl. Summer School on Search- and Machine Learning-based Software Engineering
 Adem Ait
IN3 - UOC Barcelona, Spain aait mimoune@uoc.edu
Javier Luis Ca´novas Izquierdo IN3 - UOC Barcelona, Spain jcanovasi@uoc.edu
Jordi Cabot IN3 - UOC, ICREA Barcelona, Spain jordi.cabot@icrea.cat
Sustainability in Open Source: Bots to the Rescue
Abstract—Nowadays, most critical software is built as Open Source Software (OSS) or heavily relies on it. Despite OSS bring- ing many benefits -better quality, more flexibility or lower cost- it suffers from problems such as the “tragedy of the commons”: everybody uses Open Source, but very few contribute back. Moreover, a key piece to the sustainability of OSS is the non- coding contributions, helping to maintain and report different threats to the project development. Usually not acknowledged, the OSS community is crucial for the continuous maintenance of OSS projects. Thereby, we propose the use of a self-guiding swarm of smart software bots to assist project owners and developers but also occasional contributors and community members in all their software-related tasks. Bots will be trained using a variety of artificial intelligence techniques, including machine learning models derived from a curated collection of software project data in social code hosting platforms like GitHub. Thus, the source of information is extracted as collaboration graphs, which help to represent the relationship between the project contributors. Using machine learning techniques, we aim to learn from these collaboration graphs to further configuration and adaptation of the bots. With the ability to self-adapt, bots can answer to the threats that an OSS project is facing. Furthermore, we intend to create a software framework to model, generate, personalize, combine and coordinate smart software bots to help in all phases of software development and maintenance.
I. INTRODUCTION
The Open Source Initiative1 describes the Open Source Software (OSS) development process as “a method that har- nesses the power of distributed peer review and transparency... The promise of OSS is better quality, higher reliability, more flexibility and lower cost”. This promise is achieved by developing OSS in a collaborative manner, where the whole community involved in an OSS project (i.e., project owners, external contributors and end-users) can participate.
A key characteristic of OSS projects is their global nature and reach. Modern online code hosting platforms such as GitHub have enabled geographically dispersed developers to launch, maintain, and deploy OSS projects. These platforms provide source control management systems to track changes in the code, but also include collaboration features like issue- tracking systems or the pull-request mechanism [2] to manage the different development tasks in the project. These platforms are implicitly standardizing a development process based on open and free access to the code and the development tasks,
1 https://opensource.org/
which aim at promoting a collaboration model among the community of developers and users of the software.
In theory, this collaboration model should be able to quickly evolve the software codebase to respond to the users’ needs thanks to this higher community involvement. Unfortunately, this is hardly ever what we see in practice. Using the metaphor presented in the well-known article titled “The Cathedral and the Bazaar” [3], what we typically find is an attempt to reach a “Bazaar” model but poorly executed, where only few community members are willing to participate and those who do want to contribute lack the required support to collaborate effectively. This situation is known as the “tragedy of the commons”: everybody wants to benefit from the software, but they all hope others will chip in. As a result, there is a grossly disproportionate imbalance between those consuming the software and those able to participate in building the software, thus creating important sustainability issues.
Existing solutions to correct this situation are mostly fo- cused on code aspects of OSS projects, which is not enough to enable a real and effective collaboration model. OSS projects are much more than their codebase: they are shaped according to their community. For an OSS project to succeed, we need to consider OSS as a global social endeavor where community and source code dimensions must be first-class elements in the evaluation, monitoring and progress of any project to guarantee its long-term sustainability.
To tackle this situation we propose to develop a bot-driven framework where a self-guiding swarm of smart software bots would assist projects owners, developers (including occasional contributors) and community members in all their OSS de- veloping tasks going all the way up from simple tasks like welcoming new project members or helping them to write useful bug reports to automatically reject/fix contributions that violate the project guidelines or code of conduct. The appli- cation of bots for OSS can leverage on the open availability of project assets (i.e., source code but also discussions, issues or comments), which will be used to train the bots using a variety of artificial intelligence techniques, including Machine Learning (ML) models derived from a curated collection of software project data in code hosting platforms like GitHub.
In the rest of this paper, we present a proposal for our approach, describing a tentative architectural description and discussing the main challenges to address.
11


















































































   21   22   23   24   25