Open source or open-source systems can be freely modified and distributed. These available projects are at the heart of the infrastructure of our digital society.
Still, they can suffer from significant sustainability problems because many people use them, but very few contribute to their development.
Open Source Communities
The presence of contributors who do not develop code is very relevant, and, in addition, there is a specific specialization among these people. According to the researchers, these data demystify the idea that only developers run open-source projects and could design new strategies to improve the sustainability of these initiatives.
The Partial View on Open Source Projects
The structure of open-source projects fundamentally depends on the community of contributors, who keep them alive, and on active and enriching collaboration between them.
Even so, the vast majority of research on these communities focuses on the study of user profiles in charge of programming and taking control of other technical tasks, such as reviewing or combining code.
Also Read: How Does AI Work?
This is only a partial view of what constitutes and advances an open-source project, which is generally based on a community of users in charge of a wide variety of tasks. Such as marketing, promotion and design, which also help write documentation or participate in discussions about the” project’s future evolution, explains Javier Canovas.
To gain insight into the dynamics of collaboration in open source systems, the researchers analyzed the 100 most significant NPM projects (NPM is the package manager for Node.js, one of the most popular web application servers) located on GitHub, one of the most relevant social coding platforms.
“With this study, we have been able to verify that tasks not related to code (non-technical) such as reporting a problem, recommending a change for improvement, participating in a discussion or simply reacting to comments from others.
For example, an emoji to communicate acceptance of a proposal is very present in open source systems. Their presence is very relevant, which demonstrates their involvement in the life of the project”, underlines Javier Cánovas.
Section of Tasks in Projects
The work also investigated whether the project contributors typically have a single task or do various tasks and, therefore, the different roles overlap.
The results show that there are users who only collaborate on the project with non-technical activities, which would complement the work of people dedicated to programming and code development, who, on the contrary, would have little involvement in other tasks.
These data provide new keys to designing incorporation and governance strategies that facilitate the evolution of these users and better collaboration between the different roles.
“In most open source projects, efforts to attract and onboard new contributors are directed at developers, but this misses the opportunity to attract other types of profiles that might be easier to onboard and also they help the progress and sustainability of the project in the long term”, highlight the authors.
“In fact, -they continue- projects interested in attracting more technical contributors would also have to go the extra mile to help some of the non-technical contributors to participate in the programming part , since this is not a natural evolution.”
The Temporal Development of the Community
This research is part of the line of work of the SOM Research Lab focused on the optimization and promotion of the collaboration of contributors in open source systems, which has different ramifications.
“The most relevant thing right now is to consider the time dimension, that is, how the status of a project and its community evolve,” highlights the researcher.
Other lines of work in this area include the study of mechanisms to attract new contributors to open source projects, exploring new ways to visualize the contributions of community members or proposing solutions to define standards (or models) of community governance.
Also Read: Types of Mobile Application Development Platforms