20 research outputs found
An Introduction to Software Ecosystems
This chapter defines and presents different kinds of software ecosystems. The
focus is on the development, tooling and analytics aspects of software
ecosystems, i.e., communities of software developers and the interconnected
software components (e.g., projects, libraries, packages, repositories,
plug-ins, apps) they are developing and maintaining. The technical and social
dependencies between these developers and software components form a
socio-technical dependency network, and the dynamics of this network change
over time. We classify and provide several examples of such ecosystems. The
chapter also introduces and clarifies the relevant terms needed to understand
and analyse these ecosystems, as well as the techniques and research methods
that can be used to analyse different aspects of these ecosystems.Comment: Preprint of chapter "An Introduction to Software Ecosystems" by Tom
Mens and Coen De Roover, published in the book "Software Ecosystems: Tooling
and Analytics" (eds. T. Mens, C. De Roover, A. Cleve), 2023, ISBN
978-3-031-36059-6, reproduced with permission of Springer. The final
authenticated version of the book and this chapter is available online at:
https://doi.org/10.1007/978-3-031-36060-
How to characterize the health of an Open Source Software project? A snowball literature review of an emerging practice
Motivation: Society's dependence on Open Source Software (OSS) and the
communities that maintain the OSS is ever-growing. So are the potential risks
of, e.g., vulnerabilities being introduced in projects not actively maintained.
By assessing an OSS project's capability to stay viable and maintained over
time without interruption or weakening, i.e., the OSS health, users can
consider the risk implied by using the OSS as is, and if necessary, decide
whether to help improve the health or choose another option. However, such
assessment is complex as OSS health covers a wide range of sub-topics, and
existing support is limited. Aim: We aim to create an overview of
characteristics that affect the health of an OSS project and enable the
assessment thereof. Method: We conduct a snowball literature review based on a
start set of 9 papers, and identify 146 relevant papers over two iterations of
forward and backward snowballing. Health characteristics are elicited and coded
using structured and axial coding into a framework structure. Results: The
final framework consists of 104 health characteristics divided among 15 themes.
Characteristics address the socio-technical spectrum of the community of actors
maintaining the OSS project, the software and other deliverables being
maintained, and the orchestration facilitating the maintenance. Characteristics
are further divided based on the level of abstraction they address, i.e., the
OSS project-level specifically, or the project's overarching ecosystem of
related OSS projects. Conclusion: The framework provides an overview of the
wide span of health characteristics that may need to be considered when
evaluating OSS health and can serve as a foundation both for research and
practice.Comment: Accepted for publication at Open Source Systems (OSS) Conference 202