Abstract
Software ecosystems bring value by integrating software projects related to a given domain, such as Linux distributions integrating upstream open-source projects or the Android ecosystem for mobile Apps. Since each project within an ecosystem may potentially have its release cycle and roadmap, this creates an enormous burden for users who must expend the effort to identify and install compatible project releases from the ecosystem manually. Thus, many ecosystems, such as the Linux distributions, take it upon them to release a polished, well-integrated product to the end-user. However, the body of knowledge lacks empirical evidence about the coordination and synchronization efforts needed at the ecosystem level to ensure such federated releases. This paper empirically studies the strategies used to synchronize releases of ecosystem projects in the context of the OpenStack ecosystem, in which a central release team manages the six-month release cycle of the overall OpenStack ecosystem product. We use qualitative analysis on the release team’s IRC-meeting logs that comprise two OpenStack releases (one-year long). Thus, we identified, cataloged, and documented ten major release synchronization activities, which we further validated through interviews with eight active OpenStack senior practitioners (members of either the release team or project teams). Our results suggest that even though an ecosystem’s power lies in the interaction of inter-dependent projects, release synchronization remains a challenge for both the release team and the project teams. Moreover, we found evidence (and reasons) of multiple release strategies co-existing within a complex ecosystem.
Similar content being viewed by others
Notes
the release naming convention at OpenStack follows an alphabetical order with each release’s first letter. For example, A ustin, B exar, C actus, …, and V ictoria (current ecosystem release)
For example, Nova is a core project, while nova − powervm is a project (module), specifically, a sub-project of Nova with a separate development team.
A 2016 talk at the Microsoft research facility on “Sustaining Software Engineering Ecosystems”(https://shorturl.at/moMNP)
readers can consult our replication package how the different TS components were model and plotted
References
Adams B, Kavanagh R, Hassan AE, German DM (2016a) An empirical study of integration activities in distributions of open source software. Empir Softw Eng 21(3), pp 960–1001. [Online]. Available: https://doi.org/10.1007/s10664-015-9371-y
Adams B, Kavanagh R, Hassan AE, German DM (2016b) An empirical study of integration activities in distributions of open source software. Empir Softw Eng 21(3):960–1001
Adams B, McIntosh S (2016c) Modern release engineering in a nutshell – why researchers should care. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol 5, pp 78–90
Armstrong F, Khomh F, Adams B (2017) Broadcast vs. unicast review technology: Does it matter?. In 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), pp 219–229
Binns R, Lyngs U, Van Kleek M, Zhao J, Libert T, Shadbolt N (2018) Third party tracking in the mobile ecosystem. In: Proceedings of the 10th ACM Conference on Web Science. ACM, pp 23–31
Bird C (2016) Interviews. In: Perspectives on Data Science for Software Engineering. Morgan Kaufmann
Bogart C, Kästner C, Herbsleb J, Thung F (2016) How to break an api: Cost negotiation and community values in three software ecosystems. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ser. FSE 2016. ACM. New York, pp 109–120. [Online]. Available: https://doi.org/10.1145/2950290.2950325
Bosch J (2002) Maturity and evolution in software product lines: approaches, artefacts and organization. In: Chastek GJ (ed) Software product lines. Springer, Berlin, pp 257–271
Constantinou E, Mens T (2017) Socio-technical evolution of the ruby ecosystem in github. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 34–44
de Souza CR, Figueira Filho F, Miranda M, Ferreira RP, Treude C, Singer L (2016) The social side of software platform ecosystems. In: Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, ser. CHI ’16. ACM. New York, pp 3204–3214. [Online]. Available: https://doi.org/10.1145/2858036.2858431
Decan A, Mens T, Claes M (2017) An empirical comparison of dependency issues in oss packaging ecosystems. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 2–12
Dedoose (2018) Dedoose version 8.0.35, Web application for managing, analyzing, and presenting qualitative and mixed method research data (2018): Sociocultural research consultants llc,” https://www.dedoose.com/
DiCosola III, BM, Neff G (2020) Using social comparisons to facilitate healthier choices in online grocery shopping contexts. In: Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems, ser. CHI EA ’20. Association for Computing Machinery, New York, pp 1–8. [Online]. Available: https://doi.org/10.1145/3334480.3382877
DiStaso MW, Bortree DS (2012) Multi-method analysis of transparency in social media practices: Survey, interviews and content analysis. Publ Relat Rev 38(3):511–514. public Relations History. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0363811112000069
Drouhard M, Chen N, Suh J, Kocielnik R, Pena-Araya V, Cen K, Zheng X, Aragon CR (2017) Aeonium: Visual analytics to support collaborative qualitative coding. In: 2017 IEEE Pacific Visualization Symposium (PacificVis), pp 220–229
Dueñas S, Cosentino V, Robles G, Gonzalez-Barahona JM (2018) Perceval: software project data at your will. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. ACM, pp 1–4
Dyck A, Penners R, Lichter H (2015) Towards definitions for release engineering and devops. In: 2015 IEEE/ACM 3rd International Workshop on Release Engineering, pp 3–3
EMSE-D-19-00279 (2020) Replication package with resources for the qualitative and quantitative study on release synchronization in the software ecosystem. [Online]. Available: https://doi.org/10.5281/zenodo.4304682
Ford D, Zimmermann T, Bird C, Nagappan N (2017) Characterizing software engineering work with personas based on knowledge worker actions. In: 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp 394–403
Franch X, Ruhe G (2016) Software release planning. In: Proceedings of the 38th International Conference on Software Engineering Companion, ser. ICSE ’16. Association for Computing Machinery, New York, pp 894–895. [Online]. Available: https://doi.org/10.1145/2889160.2891051
German DM (2004) The gnome project: a case study of open source, global software development. Softw Process: Improv Practice 8(4):201–215. [Online]. Available: https://doi.org/10.1002/spip.189
German DM, Adams B, Hassan AE (2013) The evolution of the r software ecosystem. In: 2013 17th European Conference on Software Maintenance and Reengineering, pp 243–252
Gómez M., Adams B, Maalej W, Monperrus M, Rouvoy R (2017) App store 2.0: From crowdsourced information to actionable feedback in mobile ecosystems. IEEE Softw 34(2):81–89
Grudin J, Pruitt J (2002) Personas, participatory design and product development: an infrastructure for engagement. In: Proceedings of PDC, vol 2
Hoepfl MC et al (1997) Choosing qualitative research: a primer for technology education researchers. Volume 9 Issue 1 (fall 1997)
Humble J, Farley D (2010) Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, 1st ed. Addison-Wesley Professional
Iansiti DM, Richards GL (2006) The information technology ecosystem: Structure, health, and performance. Antitrust Bullet 51(1):77–110. [Online]. Available: https://doi.org/10.1177/0003603X0605100104
Jansen S, Cusumano MA (2013) Defining software ecosystems: a survey of software platforms and business network governance. Software ecosystems: analyzing and managing business networks in the software industry, vol 13
Khomh F, Dhaliwal T, Zou Y, Adams B (2012) Do faster releases improve software quality? an empirical case study of mozilla firefox. in: 2012 9th IEEE working conference on mining software repositories (MSR), pp 179–188
Kikas R, Gousios G, Dumas M, Pfahl D (2017) Structure and evolution of package dependency networks. in: 2017 IEEE/ACM 14th international conference on mining software repositories (MSR), pp 102–112
Laukkanen E, Paasivaara M, Itkonen J, Lassenius C, Arvonen T (2017) Towards continuous delivery by reducing the feature freeze period: a case study. In: 2017 IEEE/ACM 39th international conference on software engineering: Software engineering in practice track (ICSE-SEIP), p 23–32
Liu F, Deng Y (2019) A fast algorithm for network forecasting time series. IEEE Access 7:102 554–102 560
Longoria FG (2016) 3 reasons openstack may cost you less than aws, https://www.forbes.com/, Technical Report. [Online]. Available: https://www.forbes.com/sites/moorinsights/2016/10/24/3-reasons-why-an-openstack-private-cloud-may-cost-you-less-than-amazon-web-services-aws/#4634654348da
Manikas K, Hansen KM (2013) Software ecosystems – a systematic literature review. J Syst Softw 86(5):1294–1306. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S016412121200338X
Mäntylä MV, Adams B, Khomh F, Engström E, Petersen K (2015) On rapid releases and software testing: a case study and a semi-systematic literature review. Empir Softw Eng 20(5):1384–1425
McDonald N, Schoenebeck S, Forte A (2019) Reliability and inter-rater reliability in qualitative research: Norms and guidelines for cscw and hci practice. Proc. ACM Hum.-Comput. Interact., vol 3, no. CSCW. [Online]. Available: https://doi.org/10.1145/3359174
Meinicke J, Wong C-P, Vasilescu B, Kästner C. (2020) Exploring differences and commonalities between feature flags and configuration options. In: Proceedings of Int’l conf. Software engineering–software engineering in practice (ICSE-SEIP). ACM
Mens T, Adams B, Marsan J (2017) Towards an interdisciplinary, socio-technical analysis of software ecosystem health, arXiv:1711.04532
Mens T, Goeminne M (2011) Analysing the evolution of social aspects of open source software ecosystems. In: IWSECO@ ICSOB, pp 1–14
Nayebi M, Adams B, Ruhe G (2016) Release practices in mobile apps — users and developers perception. In: Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), Osaka, pp 552–562
Nguyen H, Hansen CK (2017) Short-term electricity load forecasting with time series analysis. In: 2017 IEEE International Conference on Prognostics and Health Management (ICPHM), pp 214–221
Plakidas K, Stevanetic S, Schall D, Ionescu TB, Zdun U (2016) How do software ecosystems evolve? a quantitative assessment of the r ecosystem. In: Proceedings of the 20th International Systems and Software Product Line Conference, ser. SPLC ’16. ACM. New York, pp 89–98. [Online]. Available: https://doi.org/10.1145/2934466.2934488
Poo-Caamaṅo G, Singer L, Knauss E, German DM (2016) Herding cats: a case study of release management in an open collaboration ecosystem. In: Crowston K., Hammouda I., Lundell B., Robles G., Gamalielsson J., Lindman J. (eds) Open Source Systems: Integrating Communities. Springer International Publishing, Cham, pp 147–162
Rahman AAU, Helms E, Williams L, Parnin C (2015) Synthesizing continuous deployment practices used in software development. In: Proceedings of the 2015 Agile Conference, ser. AGILE ’15. IEEE Computer Society, Washington, pp. 1–10. [Online]. Available: https://doi.org/10.1109/Agile.2015.12
Rahman A, Parnin C, Williams L (2019) The seven sins: Security smells in infrastructure as code scripts. In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp 164–175
Rahman MT, Rigby PC (2015) Release stabilization on linux and chrome. IEEE Softw 32(2):81–88, [Online]. Available: https://doi.org/10.1109/MS.2015.31
Saldaña J. (2015) The coding manual for qualitative researchers. Sage
Schelter S, Lange D, Schmidt P, Celikel M, Biessmann F, Grafberger A (2018) Automating large-scale data quality verification. Proc VLDB Endow 11(12):1781–1794
Shihab E, Jiang ZM, Hassan AE (2009) On the use of internet relay chat (irc) meetings by developers of the gnome gtk+ project. In: 2009 6th IEEE International Working Conference on Mining Software Repositories, pp 107–110
Shrestha N, Botta C, Barik T, Parnin C (2020) Here we go again: Why is it difficult for developers to learn another programming language? In: Proceedings of the 42nd International Conference on Software Engineering, ICSE
Steglich C, Marczak S, de Souza CRB, Guerra LP, Mosmann LH, Filho FF, Perin M (2019) Social aspects and how they influence mseco developers. In: Proceedings of the 12th International Workshop on Cooperative and Human Aspects of Software Engineering, ser. CHASE ’19. IEEE Press. Piscataway, pp. 99–106. [Online]. Available: https://doi.org/10.1109/CHASE.2019.00032
Strauss A, Corbin J (1990) Basics of qualitative research. Sage Publications
Tamburri DA, Kazman R, Fahimi H (2016) The architect’s role in community shepherding. IEEE Softw 33(6), pp 70–79, [Online]. Available: https://doi.org/10.1109/MS.2016.144
Teixeira JA, Karsten H (2019) Managing to release early, often and on time in the openstack software ecosystem. J Internet Serv Appl 10(1):7. [Online]. Available: https://doi.org/10.1186/s13174-019-0105-z
Yin RK (2013) Case study research: Design and methods. Sage publications, [Online]. Available: https://doi.org/10.1080/09500790.2011.582317
Zhang X, Brown H-X, Shankar A (2016) Data-driven personas: Constructing archetypal users with clickstreams and user telemetry. In: Proceedings of the 2016 CHI conference on human factors in computing systems, pp 5350–5359
Zhang Y, Zhou M, Stol K-J, Wu J, Jin Z (2020) How do companies collaborate in open source ecosystems? an empirical study of openstack. Association for Computing Machinery, New York, pp 1196–1208. [Online]. Available: https://doi.org/10.1145/3377811.3380376
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Andy Zaidman
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Foundjem, A., Adams, B. Release synchronization in software ecosystems. Empir Software Eng 26, 34 (2021). https://doi.org/10.1007/s10664-020-09929-1
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-020-09929-1