The Evolution of the R Software Ecosystem

Software ecosystems form the heart of modern companies' collaboration strategies with end users, open source developers and other companies. An ecosystem consists of a core platform and a halo of user contributions that provide value to a company or project. In order to sustain the level and number of high-quality contributions, it is crucial for companies and contributors to understand how ecosystems tend to evolve and can be maintained successfully over time. As a first step, this paper explores the evolution characteristics of the statistical computing project GNU R, which is a successful, end-user programming ecosystem. We find that the ecosystem of user-contributed R packages has been growing steadily since R's conception, at a significantly faster rate than core packages, yet each individual package remains stable in size. We also identified differences in the way user-contributed and core packages are able to attract an active community of users.

[1]  David G. Messerschmitt,et al.  Software Ecosystem: Understanding an Indispensable Technology and Industry , 2003 .

[2]  Peter A. Gloor,et al.  Correlating temporal communication patterns of the Eclipse open source community with performance and creativity , 2007, Comput. Math. Organ. Theory.

[3]  Daniel M. Germán,et al.  A Model to Understand the Building and Running Inter-Dependencies of Software , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[4]  R. Yin Case Study Research: Design and Methods , 1984 .

[5]  Ashlee Vance,et al.  Data Analysts Captivated by R's Power , 2009 .

[6]  Achim Zeileis,et al.  Collaborative Software Development Using R-Forge , 2009, R J..

[7]  Slinger Jansen,et al.  Formalizing software ecosystem modeling , 2009, IWOCE '09.

[8]  Slinger Jansen,et al.  A sense of community: A research agenda for software ecosystems , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[9]  Petra Bosch-Sijtsema,et al.  From integration to composition: On the impact of software product lines, global development and ecosystems , 2010, J. Syst. Softw..

[10]  Jan Vitek,et al.  Evaluating the Design of the R Language - Objects and Functions for Data Analysis , 2012, ECOOP.

[11]  Slinger Jansen,et al.  Business Network Management as a Survival Strategy: A Tale of Two Software Ecosystems , 2009, IWSECO@ICSR.

[12]  Liguo Yu,et al.  Software Evolvability: An Ecosystem Point of View , 2007, Third International IEEE Workshop on Software Evolvability 2007.

[13]  James D. Herbsleb,et al.  Architecting in software ecosystems: interface translucence as an enabler for scalable collaboration , 2010, ECSA '10.

[14]  Michael W. Godfrey,et al.  “Cloning considered harmful” considered harmful: patterns of cloning in software , 2008, Empirical Software Engineering.

[15]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[16]  Jesper Andersson,et al.  On the role of software process modeling in software ecosystem design , 2010, ECSA '10.

[17]  Alexander Serebrenik,et al.  An empirical study of the evolution of Eclipse third-party plug-ins , 2010, IWPSE-EVOL '10.

[18]  Eleni Stroulia,et al.  API-Evolution Support with Diff-CatchUp , 2007, IEEE Transactions on Software Engineering.

[19]  Peter Kampstra,et al.  Beanplot: A Boxplot Alternative for Visual Comparison of Distributions , 2008 .

[20]  Juan Fernández-Ramil,et al.  The evolution of Eclipse , 2008, 2008 IEEE International Conference on Software Maintenance.

[21]  Robert A. Muenchen,et al.  The Popularity of Data Analysis Software , 2013 .

[22]  Daniel M. Germán,et al.  Macro-level software evolution: a case study of a large software compilation , 2009, Empirical Software Engineering.

[23]  Dominik Seichter,et al.  Knowledge management in software ecosystems: software artefacts as first-class citizens , 2010, ECSA '10.

[24]  Horst Lichter,et al.  Evaluating Process Quality Based on Change Request Data - An Empirical Study of the Eclipse Project , 2009, IWSM/Mensura.

[25]  Romain Robbes,et al.  Linking e-mails and source code artifacts , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[26]  Jan Bosch,et al.  From software product lines to software ecosystems , 2009, SPLC.

[27]  Ahmed E. Hassan,et al.  An empirical study on the risks of using off-the-shelf techniques for processing mailing list data , 2009, 2009 IEEE International Conference on Software Maintenance.

[28]  Yijun Yu,et al.  Analyzing the evolution of eclipse plugins , 2008, MSR '08.