Studying Evolving Software Ecosystems Based on Ecological Models. Mens, T., Claes, M., Grosjean, P., & Serebrenik, A. In Mens, T., Serebrenik, A., & Cleve, A., editors, Evolving Software Systems, pages 297–326. Springer Berlin Heidelberg.
Studying Evolving Software Ecosystems Based on Ecological Models [link]Paper  doi  abstract   bibtex   
Research on software evolution is very active, but evolutionary principles, models and theories that properly explain why and how software systems evolve over time are still lacking. Similarly, more empirical research is needed to understand how different software projects co-exist and co-evolve, and how contributors collaborate within their encompassing software ecosystem. In this chapter, we explore the differences and analogies between natural ecosystems and biological evolution on the one hand, and software ecosystems and software evolution on the other hand. The aim is to learn from research in ecology to advance the understanding of evolving software ecosystems. Ultimately, we wish to use such knowledge to derive diagnostic tools aiming to predict survival of software projects within their ecosystem, to analyse and optimise the fitness of software projects in their environment, and to help software project communities in managing their projects better. [Excerpt: Conclusions] This chapter presented an in-depth analysis of the analogy between natural and OSS ecosystems, from the evolutionary point of view. While there are many similarities between both types of ecosystems a lot of differences can be observed. [\n] From a technical viewpoint, many techniques and models that have been proposed and used in ecology may provide new insights for the study of evolving software ecosystems. Some examples of techniques are the use of phylogenetic trees and cluster dendograms. Some ecological models, such as the dynamic predatorprey model have already been adapted with success in a software evolution setting [155, 500]. Some other models, even after adaptation, appear to give different results when applied to OSS ecosystems. For example, for the GNOME ecosystem there appears to be a much higher degree of collaboration than what is found in many natural ecosystems, and a lower degree of competition. For such collaborative ecosystems, the more recent hologenome theory of evolution that has been proposed to explain the evolution of coral reef ecosystems [732] may perhaps be closer to how software ecosystems evolve, since it considers the evolving organism together with its associated communities, just like a software project co-evolves by the grace of its associated user and developer communities. [\n] Because the traditional biological evolutionary theories are essentially driven by competition between species in a shared resource pool, they are not always readily applicable to explain the dynamics of highly collaborative OSS ecosystems. [...] [\n] Seen from a complex systems viewpoint, OSS ecosystems seem to be closer to their biological counterpart than business software ecosystems [435]. Commercial ecosystems are typically governed by a decision maker that decides how the ecosystem should evolve, while OSS ecosystems often have a much more flexible decisional structure. Like in biological ecosystems, decisions are taken at the level of individual species (read: projects), with an emergent overall effect on the software ecosystem as a whole. [...]
@incollection{mensStudyingEvolvingSoftware2014,
  title = {Studying Evolving Software Ecosystems Based on Ecological Models},
  booktitle = {Evolving {{Software Systems}}},
  author = {Mens, Tom and Claes, Maálick and Grosjean, Philippe and Serebrenik, Alexander},
  editor = {Mens, Tom and Serebrenik, Alexander and Cleve, Anthony},
  date = {2014},
  pages = {297--326},
  publisher = {{Springer Berlin Heidelberg}},
  doi = {10.1007/978-3-642-45398-4\\_10},
  url = {https://doi.org/10.1007/978-3-642-45398-4_10},
  abstract = {Research on software evolution is very active, but evolutionary principles, models and theories that properly explain why and how software systems evolve over time are still lacking. Similarly, more empirical research is needed to understand how different software projects co-exist and co-evolve, and how contributors collaborate within their encompassing software ecosystem. In this chapter, we explore the differences and analogies between natural ecosystems and biological evolution on the one hand, and software ecosystems and software evolution on the other hand. The aim is to learn from research in ecology to advance the understanding of evolving software ecosystems. Ultimately, we wish to use such knowledge to derive diagnostic tools aiming to predict survival of software projects within their ecosystem, to analyse and optimise the fitness of software projects in their environment, and to help software project communities in managing their projects better.

[Excerpt: Conclusions] This chapter presented an in-depth analysis of the analogy between natural and OSS ecosystems, from the evolutionary point of view. While there are many similarities between both types of ecosystems a lot of differences can be observed.

[\textbackslash n] From a technical viewpoint, many techniques and models that have been proposed and used in ecology may provide new insights for the study of evolving software ecosystems. Some examples of techniques are the use of phylogenetic trees and cluster dendograms. Some ecological models, such as the dynamic predatorprey model have already been adapted with success in a software evolution setting [155, 500]. Some other models, even after adaptation, appear to give different results when applied to OSS ecosystems. For example, for the GNOME ecosystem there appears to be a much higher degree of collaboration than what is found in many natural ecosystems, and a lower degree of competition. For such collaborative ecosystems, the more recent hologenome theory of evolution that has been proposed to explain the evolution of coral reef ecosystems [732] may perhaps be closer to how software ecosystems evolve, since it considers the evolving organism together with its associated communities, just like a software project co-evolves by the grace of its associated user and developer communities.

[\textbackslash n] Because the traditional biological evolutionary theories are essentially driven by competition between species in a shared resource pool, they are not always readily applicable to explain the dynamics of highly collaborative OSS ecosystems. [...]

[\textbackslash n] Seen from a complex systems viewpoint, OSS ecosystems seem to be closer to their biological counterpart than business software ecosystems [435]. Commercial ecosystems are typically governed by a decision maker that decides how the ecosystem should evolve, while OSS ecosystems often have a much more flexible decisional structure. Like in biological ecosystems, decisions are taken at the level of individual species (read: projects), with an emergent overall effect on the software ecosystem as a whole. [...]},
  keywords = {*imported-from-citeulike-INRMM,~INRMM-MiD:c-13853278,~to-add-doi-URL,comparison,competition,complexity,cooperation,ecology,ecosystem,emergent-property,evolution,forest-resources,similarity,software-errors,software-uncertainty,vegetation}
}

Downloads: 0