Skip to main content
Log in

Release synchronization in software ecosystems

Empirical Study on OpenStack

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. shorturl.at/imFM1

  2. https://www.openstack.org

  3. 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)

  4. https://www.shorturl.at/sADJ7

  5. https://www.shorturl.at/moNQ6

  6. For example, Nova is a core project, while novapowervm is a project (module), specifically, a sub-project of Nova with a separate development team.

  7. https://www.releaseteam/2015/releaseteam.2015-06-05-13.01.log.html

  8. https://www.releaseteam/2018/releaseteam.2018-03-16-15.01.log.html

  9. https://www.shorturl.at/jCEGI

  10. https://www.shorturl.at/kzEI7

  11. https://shorturl.at/eiGKY

  12. https://opendev.org/openstack/releases/src/branch/master/deliverables

  13. https://shorturl.at/ckmDH

  14. https://shorturl.at/jrFXZ

  15. https://shorturl.at/pvZ59

  16. https://releaseteam.2018--02--09--15.00.log.html

  17. https://shorturl.at/glrwx

  18. https://shorturl.at/jmpF2

  19. https://shorturl.at/lnGW5

  20. https://releaseteam.2016-04-01-14.01.log.html

  21. https://releaseteam.2017-10-20-15.00.log.html

  22. https://shorturl.at/ekBF9

  23. https://releaseteam.2017--02--10--15.00.log.html

  24. https://releaseteam.2015--11--27--14.34.log.html

  25. https://releaseteam.2016--01--08--14.00.log.html

  26. https://releaseteam.2016--03--25--14.00.log.html

  27. https://releaseteam.2015--12--18--14.21.log.html

  28. https://shorturl.at/cdgn7

  29. https://releaseteam.2015--06--05--13.01.log.html

  30. https://releaseteam.2016--01--08--14.00.log.html

  31. https://releaseteam.2017--11--17--15.00.log.html

  32. https://shorturl.at/czNRS

  33. https://shorturl.at/AFVY9

  34. https://releaseteam.2016--05--06--14.02.log.html

  35. https://shorturl.at/hsFP1

  36. https://shorturl.at/ctDG2

  37. https://shorturl.at/xGOQ1

  38. https://shorturl.at/gGJY8

  39. https://shorturl.at/iAGMN

  40. https://shorturl.at/elxW9

  41. https://shorturl.at/bistz

  42. https://shorturl.at/bxOZ9

  43. https://shorturl.at/etH78

  44. https://shorturl.at/cekG7

  45. https://shorturl.at/nvNQY

  46. https://shorturl.at/rwIJ9

  47. https://shorturl.at/ntP09

  48. https://shorturl.at/yOS19

  49. https://shorturl.at/dpGZ3

  50. https://shorturl.at/kqrzW

  51. https://shorturl.at/ceAQ8

  52. https://shorturl.at/eEM28

  53. https://shorturl.at/wEKL2

  54. A 2016 talk at the Microsoft research facility on “Sustaining Software Engineering Ecosystems”(https://shorturl.at/moMNP)

  55. https://shorturl.at/kBHX9

  56. https://shorturl.at/jFGQZ

  57. https://shorturl.at/jrvBL

  58. https://shorturl.at/giBKN

  59. https://shorturl.at/oGJX0

  60. https://shorturl.at/adzIJ

  61. 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Armstrong Foundjem.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-020-09929-1

Navigation