Free Open Source Communities Sustainability: Does It Make a Difference in Software Quality? (2402.06916v1)
Abstract: Context: Free and Open Source Software (FOSS) communities' ability to stay viable and productive over time is pivotal for society as they maintain the building blocks that digital infrastructure, products, and services depend on. Sustainability may, however, be characterized from multiple aspects, and less is known how these aspects interplay and impact community outputs, and software quality specifically. Objective: This study, therefore, aims to empirically explore how the different aspects of FOSS sustainability impact software quality. Method: 16 sustainability metrics across four categories were sampled and applied to a set of 217 OSS projects sourced from the Apache Software Foundation Incubator program. The impact of a decline in the sustainability metrics was analyzed against eight software quality metrics using Bayesian data analysis, which incorporates probability distributions to represent the regression coefficients and intercepts. Results: Findings suggest that selected sustainability metrics do not significantly affect defect density or code coverage. However, a positive impact of community age was observed on specific code quality metrics, such as risk complexity, number of very large files, and code duplication percentage. Interestingly, findings show that even when communities are experiencing sustainability, certain code quality metrics are negatively impacted. Conclusion: Findings imply that code quality practices are not consistently linked to sustainability, and defect management and prevention may be prioritized over the former. Results suggest that growth, resulting in a more complex and large codebase, combined with a probable lack of understanding of code quality standards, may explain the degradation in certain aspects of code quality.
- In: 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1–10. IEEE (2015)
- In: Proceedings of the 24th International Conference on Evaluation and Assessment in Software Engineering, pp. 220–229 (2020)
- In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 1073–1083. IEEE (2019)
- In: Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 61–68 (2018)
- Empirical Software Engineering 27(7), 165 (2022)
- IEEE Transactions on Software Engineering 48(12), 4838–4856 (2021)
- In: 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 324–335. IEEE (2020)
- In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10. IEEE (2016)
- In: 2016 IEEE international conference on software maintenance and evolution (ICSME), pp. 334–344. IEEE (2016)
- Empirical Software Engineering 28(6), 128 (2023)
- In: 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 388–399. IEEE (2021)
- Journal of the Association for Information Systems 11(11), 5 (2010)
- In: Proceedings of the 2017 11th Joint meeting on foundations of software engineering, pp. 186–196 (2017)
- First Monday (2005)
- ACM Computing Surveys (CSUR) 44(2), 1–35 (2008)
- Information and Software Technology 142, 106737 (2022)
- In: Proceedings of the 8th ACM/IEEE international symposium on empirical software engineering and measurement, pp. 1–10 (2014)
- Journal of Management Information Systems 25(4), 9–50 (2009)
- In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp. 829–841
- Foundation, T.A.S.: Log4j – apache log4j™ 2. https://logging.apache.org/log4j/2.x/. (Accessed on 04/18/2023)
- In: 11th European Conference. Jyväskylä, Finland (1997)
- ACM Transactions on Software Engineering and Methodology (TOSEM) 31(3), 1–38 (2022)
- Ghapanchi, A.H.: Predicting software future sustainability: A longitudinal perspective. Information Systems 49, 40–51 (2015)
- Proceedings of the ACM on Human-Computer Interaction 5(CSCW2), 1–30 (2021)
- In: 2019 IEEE 43rd annual computer software and applications conference (COMPSAC), vol. 1, pp. 21–26. IEEE (2019)
- J. Mach. Learn. Res. 15(1), 1593–1623 (2014)
- ISO/IEC: Iso/iec 25010:2011(en) systems and software engineering — systems and software quality requirements and evaluation (square) — system and software quality models (2011). URL https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en
- Jansen, S.: Measuring the health of open source software ecosystems: Beyond the scope of project health. Information and Software Technology 56(11), 1508–1519 (2014)
- In: 29th International Conference on Software Engineering (ICSE’07), pp. 364–374. IEEE (2007)
- In: Computer Supported Cooperative Work and Social Computing: 14th CCF Conference, ChineseCSCW 2019, Kunming, China, August 16–18, 2019, Revised Selected Papers 14, pp. 723–737. Springer (2019)
- In: 2012 9th IEEE working conference on mining software repositories (MSR), pp. 179–188. IEEE (2012)
- Empirical Software Engineering 17, 243–275 (2012)
- IEEE software 13(1), 12–21 (1996)
- IEEE Access 10, 46144–46161 (2022)
- Psychonomic bulletin & review 25, 178–206 (2018)
- In: Proceedings of the 18th International Symposium on Open Collaboration, pp. 1–12 (2022)
- In: Proceedings of the 5th international workshop on software ecosystems (IWSECO), pp. 33–44. Citeseer (2013)
- In: Proceedings of the 4th ACM SIGSOFT International Workshop on NLP for Software Engineering, pp. 18–21 (2018)
- CRC Press (2020)
- IEEE transactions on software engineering 33(1), 2–13 (2006)
- Journal of Systems and Software 85(4), 895–905 (2012)
- ACM Transactions on Software Engineering and Methodology (TOSEM) 11(3), 309–346 (2002)
- PeerJ Computer Science 9, e1516 (2023). DOI 10.7717/peerj-cs.1516
- In: 2021 IEEE/ACM 4th International Workshop on Software Health in Projects, Ecosystems and Communities (SoHeal), pp. 1–8. IEEE (2021)
- In: 2013 35th International Conference on Software Engineering (ICSE), pp. 432–441. IEEE (2013)
- In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, pp. 155–165 (2014)
- In: 2013 4th International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 56–61. IEEE (2013)
- Research Policy 48(8), 103766 (2019)
- Journal of systems and software 26(3), 197–210 (1994)
- In: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 495–506 (2022)
- Journal of Internet Services and Applications 12(1), 1–33 (2021)
- Computer Supported Cooperative Work (CSCW) 28, 247–290 (2019)
- In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 644–655 (2018)
- In: Software Business: 8th International Conference, ICSOB 2017, Essen, Germany, June 12-13, 2017, Proceedings 8, pp. 131–145. Springer (2017)
- In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp. 805–816 (2015)
- Walden, J.: The impact of a major security event on an open source project: The case of openssl. In: Proceedings of the 17th International Conference on Mining Software Repositories, pp. 409–419 (2020)
- Wang, J.: Survival factors for free open source software projects: A multi-stage perspective. European Management Journal 30(4), 352–371 (2012)
- ACM Transactions on Software Engineering and Methodology (TOSEM) 29(3), 1–35 (2020)
- Empirical Software Engineering 27(6), 122 (2022)
- In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1056–1067 (2021)
- In: 2012 34th International Conference on Software Engineering (ICSE), pp. 518–528. IEEE (2012)