Software Architectural Practices: Influences on the Open Source Ecosystem Health
Keywords:software ecosystems, ecosystem health, software practices, netnographic study
The health state of a software ecosystem has been determined by its capacity of growth and longevity. Three health indicators represent a healthy software ecosystem: robustness, productivity, and niche creation. Studies focusing on understanding the causes and processes of the state of health of ecosystems have used these indicators largely. Researchers have intensified studies to understand how to achieve a good health state. Despite the growing number of studies, there is little knowledge about influences and actions to achieve health and, more specifically, that consider the effects of the software architecture on the ecosystem. This article presents a study exploring seven open source ecosystems within different domains to describe the influence of architectural practices on the software ecosystem health in terms of their motivations and effects. Our main goal was to understand how the software architecture and related practices can contribute to a healthy ecosystem. We conducted a netnography-based study to gather practices used to create and maintain the software architecture of these ecosystems. Our study brings evidence that architectural practices play a critical role in the achievement of ecosystems’ health. We found fifty practices that have influenced different aspects of health indicators. We highlight the importance of five influential factors – business goals, experience, requirements, resources, and time-to-market – for motivating the adoption of such practices. These factors may also contribute to understanding different strategies used to achieve a good health state. Moreover, we proposed a novel health indicator, trustworthiness, that accounts for the normal operation of a healthy software ecosystem.
Amorim, S., McGregor, J., Almeida, E., and Chavez, C. (2017). Software ecosystems′ architectural health: Another view. In Proc. of the 5th ICSE Int. Workshop on Software Engineering for SoS and 11th Workshop on Distributed Software Development, Software Ecosystems and SoS, SESoS/WDES ’17, pages 66–69.
Avelino, G., Constantinou, E., Valente, M. T., and Serebrenik, A. (2019). On the abandonment and survival of open source projects: An empirical investigation. In Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’19, pages 1–12.
Bass, L., Clements, P. C., and Kazman, R. (2012). Software Architecture in Practice. Addison-Wesley Professional, third edition edition.
Becker, S., Hasselbring, W., Paul, A., Boskovic, M., Koziolek, H., Ploski, J., Dhama, A., Lipskoch, H., Rohr, M., Winteler, D., Giesecke, S., Meyer, R., Swaminathan, M., Happe, J., Muhle, M., and Warns, T. (2006). Trustworthy software systems: A discussion of basic concepts and terminology. SIGSOFT Softw. Eng. Notes, 31(6):1–18.
Bogart, C., Kästner, C., Herbsleb, J., and Thung, F. (2021). When and how to make breaking changes: Policies and practices in 18 open source so ware ecosystems. ACM Transactions on Software Engineering and Methodology, 30(4).
Bosch, J. (2009). From software product lines to software ecosystems. In Proceedings of the 13th International Software Product Line Conference, SPLC ’09, pages 111–119.
Bosch, J. (2010). Architecture challenges for software ecosystems. In Proceedings of the Fourth European Conference on Software Architecture, ECSA ’10, pages 93– 95.
Bosch, J. and Bosch-Sijtsema, P. (2010). From integration to composition: On the impact of software product lines, global development and ecosystems. The Journal of Systems and Software, 83:67–76.
Bouwman, H., Carlsson, C., Carlsson, J., Nikou, S., Sell, A., and Walden, P. (2014). How nokia failed to nail the smartphone market. In Proceedings of the 25th European Regional Conference of the International Telecommunications Society, ITS ’14, pages 1–18.
Bredemeyer, D., Malan, R., and Consulting, B. (2000). The role of the architect.
Campbell, P. R. J. and Ahmed, F. (2010). A three-dimensional view of software ecosystems. In Proceedings of the Fourth European Conference on Software Architecture, ECSA ’10, pages 81–84.
Campbell, P. R. J. and Ahmed, F. (2011). An assessment of mobile os-centric ecosystems. Journal of Theoretical and Applied Electronic Commerce Research, 6:50–62.
Charleux, A. and Viseur, R. (2019). Exploring impacts of managerial decisions and community composition on the open source projects’ health. In Proceedings of the 2nd International Workshop on Software Health, SoHeal ’19, pages 1–8.
Charmaz, K. (2006). Constructing Grounded Theory A Practical Guide through Qualitative Analysis. SAGE Publications.
Coleman, G. and O’Connor, R. (2007). Using grounded theory to understand software process improvement: A study of irish software product companies. Information and Software Technology, 49:654–667.
da Silva Amorim, S., Neto, F. S. S., McGregor, J. D., de Almeida, E. S., and von Flach Garcia Chavez, C. (2017). How has the health of software ecosystems been evaluated? a systematic review. In Proceedings of the 31st Brazilian Symposium on Software Engineering, SBES ’17.
del Bianco, V., Lavazza, L., Morasca, S., and Taibi, D. (2009). Quality of open source software: The qualipso trustworthiness model. In Proceedings of the IFIP International Conference on Open Source Systems, OSS ’09, pages 199–212.
Deljoo, A., van Engers, T., Gommans, L., and de Laat, C. (2018). The impact of competence and benevolence in a computational model of trust. In Proceedings of the IFIP International Conference on Trust Management, IFIPTM ’18, pages 45–57.
Dijkers, J., Sincic, R., Wasankhasit, N., and Jansen, S. (2018). Exploring the effect of software ecosystem health on the financial performance of the open source companies. In Proceedings of the 1st International Workshop on Software Health, SoHeal ’18, pages 48–55.
dos Santos, R. P. and Werner, C. (2011). Treating business dimension in software ecosystems. In Proceedings of the International Conference on Management of Emergent Digital EcoSystems, MEDES ’11, pages 197–201.
Franco-Bedoya, O., Ameller, D., Costal, D., and Franch, X. (2015). Measuring the Quality of Open Source Software Ecosystems Using QuESo. In Proc. of the 10th Int. Conference on Software Technologies (ICSOFT), pages 39–62.
Garlan, D. and Perry, D. E. (1995). Introduction to the special issue on software architecture. IEEE Transaction on Software Engineering, 21(4):269–274.
Goggins, S., Lumbard, K., and Germonprez, M. (2021). Open source community health: Analytical metrics and their corresponding narratives. In Proceedings of the 4th International Workshop on Software Health in Projects, Ecosystems and Communities (SoHeal), SoHeal ’21.
Hyrynsalmi, S., Ruohonen, J., and Seppänen, M. (2018). Healthy until otherwise proven: Some proposals for renewing research of software ecosystem health. In Proceedings of the 41st International Workshop on Software Health (So-Heal), SoHeal ’18, pages 18–24.
Iansiti, M. and Levien, R. (2002). Keystones and Dominators: Framing Operating and Technology Strategy in a Business Ecosystem. Harvard Business School, 3(61).
Jacobson, I., Ng, P. W., and Spence, I. (2007). Enough of processes-lets do practices. Journal of Object Technology, 6(6):41–66.
Jade, V. (2019). Software architecture tools. IASA Global. Accessed: 2019-05-12.
Jansen, S. (2020). A focus area maturity model for software ecosystem governance. Information and Software Technology, 118.
Jansen, S., Cusumano, M., and Brinkkemper, S. (2013). Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry. Edward Elgar Publishers.
Jansen, S. and Cusumano, M. A. (2013). Defining software ecosystems: A survey of software platforms and business network governance. In Jansen, S., Brinkkemper, S., and Cusumano, M., editors, Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry, chapter 1, pages 13–28. Edward Elgar Publishing.
Jensen, C. and Scacchi, W. (2004). Data mining for software process discovery in open source software development communities. In Proceedings of the 1st International Workshop on Mining Software Repositories, MSR ’04, pages 96–100.
Jensen, C. and Scacchi, W. (2005). Experiences in discovering, modeling, and reenacting open source software development processes. In Proceedings of the International Software Process Workshop, SPW ’05, pages 449–462.
Kozinets, R. (2009). Netnography: Doing Ethnographic Research Online. SAGE Publications.
Liao, Z., Yi, M., Wang, Y., Liu, S., Liu, H., Zhang, Y., and Zhou, Y. (2019). Healthy or not: A way to predict ecosystem health in github. Symmetry, 11(2).
Liu, D. (2017). The art of building platforms. Forbes. Ac- cessed: 2018-11-16.
Manikas, K. and Hansen, K. M. (2013). Software ecosystems - a systematic literature review. Journal of Systems and Software, 86:1294–1306.
Mittal, R. (2019). Blackberry ltd. marketing downfall in mobile handset industry. Technical report, University of Roe-hampton - Eu Business School.
Pelliccione, P. (2014). Open architectures and software evolution: the case of software ecosystems. In Proceedings of the 23rd Australian Software Engineering Conference, ASWEC ’14, pages 66–69.
Philippe Kruchten, R. L. N. and Ozkaya, I. (2012). Technical debt: From metaphor to theory and practice. IEEE Software, 29:18–21.
Saldaña, J. (2009). The Coding Manual for Qualitative Researchers. SAGE Publications.
Satell, G. (2016). Platforms are eating the world. Forbes. Accessed: 2018-11-16.
Seaman, C. B. (1999). Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering, 25(4):557–572.
Sigfridsson, A. and Sheehan, A. (2011). On qualitative methodologies and dispersed communities: Reflections on the process of investigating an open source community. Information and Software Technology, 53:981–993.
Silverman, D. (2021). Apple back on top: iphone is the best-selling smartphone globally in q4 2020. Forbes. Accessed: 2021-03-24.
Stol, K.-J., Ralph, P., and Fitzgerald, B. (2016). Grounded theory in software engineering research: A critical review and guidelines. In Proceedings of the 38th International Conference on Software Engineering, ICSE ’16, pages 120–131.
Weinreich, R. and Groher, I. (2016). The architect’s role in practice: From decision maker to knowledge manager? IEEE Software, 33:63–69.
West, J. and Mace, M. (2010). Browsing as the killer app: Explaining the rapid success of apple’s iphone. Telecommunications Policy, 34:270–286.
Wnuk, K., Manikas, K., Runeson, P., Lantz, M., Weijden, O., and Munir, H. (2014). Evaluating the Governance Model of Hardware-Dependent Software Ecosystems – A Case Study of the Axis Ecosystem. In Proc. of the 4th International Conference on Software Business (ICSOB), pages 212–226.
How to Cite
Copyright (c) 2023 Simone da Silva Amorim, John D. McGregor, Eduardo Santana de Almeida, Christina von Flach Garcia Chavez
This work is licensed under a Creative Commons Attribution 4.0 International License.