Fri 27 Aug 2021 04:10 - 04:20 - Analytics & Software Evolution—Software Evolution 2 Chair(s): Martin P. Robillard, John Grundy
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 releases for each ecosystem’s project manually. Thus, many ecosystems, such as the Linux distributions, take it upon them to release a polished, well-integrated product to the end-user.
Since empirical evidence about the coordination and synchronization efforts is lacking 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 qualitatively analyze the OpenStack release team’s IRC-meeting logs that comprise two OpenStack release cycles (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.