Towards Supporting Open Source Library Maintainers with Community-Based Analytics
By: Rachna Raj, Diego Elias Costa
Potential Business Impact:
Shows how much of a software tool is actually used.
Open-source software (OSS) is a pillar of modern software development. Its success depends on the dedication of maintainers who work constantly to keep their libraries stable, adapt to changing needs, and support a growing community. Yet, they receive little to no continuous feedback on how the projects that rely on their libraries actually use their APIs. We believe that gaining these insights can help maintainers make better decisions, such as refining testing strategies, understanding the impact of changes, and guiding the evolution of their libraries more effectively. We propose the use of community-based analytics to analyze how an OSS library is used across its dependent ecosystem. We conduct an empirical study of 10 popular Java libraries and each with their respective dependent ecosystem of 50 projects. Our results reveal that while library developers offer a wide range of API methods, only 16% on average are actively used by their dependent ecosystem. Moreover, only 74% of the used API methods are partially or fully covered by their library test suite. We propose two metrics to help developers evaluate their test suite according to the APIs used by their community, and we conduct a survey on open-source practitioners to assess the practical value of these insights in guiding maintenance decisions.
Similar Papers
Uncovering Scientific Software Sustainability through Community Engagement and Software Quality Metrics
Software Engineering
Helps important science programs keep running smoothly.
Analyzing the Usage of Donation Platforms for PyPI Libraries
Software Engineering
Helps fund the free software people use.
Open Source at a Crossroads: The Future of Licensing Driven by Monetization
Software Engineering
Helps pay people who make free software.