Guiding Development Work Across a Software Ecosystem by Visualizing Usage Data

Software is increasingly produced in the form of ecosystems, collections of interdependent components maintained by a distributed community. These ecosystems act as network organizations, not markets, and thus often lack actionable price-like signals about how the software is used and what impact it has. We introduce a tool, the Scientific Software Network Map, that collects and displays summarized usage data tailored to the needs of actors in software ecosystems. We performed a contextualized walkthrough of the Map with producers and stewards in six scientific software ecosystems that use the R language. We found that they work to maximize diversity rather than quantity of uses, and to minimize coordination costs. We also found that summarized usage data would be useful for justifying ecosystem work to funding agencies; and we discovered a variety of more granular usage needs that would help in adding or maintaining features.

[1]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[2]  James D. Herbsleb,et al.  From Personal Tool to Community Resource: What's the Extra Work and Who Will Do It? , 2015, CSCW.

[3]  Matthew Kay,et al.  Ingimp: introducing instrumentation to an end-user open source application , 2008, CHI.

[4]  James D. Herbsleb,et al.  Incentives and integration in scientific software production , 2013, CSCW.

[5]  James D. Herbsleb,et al.  Vertical interaction in open software engineering communities , 2009 .

[6]  Oscar Nierstrasz,et al.  A Quantitative Analysis of Developer Information Needs in Software Ecosystems , 2014, ECSAW '14.

[7]  Thomas A. Finholt,et al.  The Long Now of Technology Infrastructure: Articulating Tensions in Development , 2009, J. Assoc. Inf. Syst..

[8]  Georgios Gousios,et al.  The GHTorent dataset and tool suite , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[9]  Jeffrey C. Carver,et al.  Software Development Environments for Scientific and Engineering Software: A Series of Case Studies , 2007, 29th International Conference on Software Engineering (ICSE'07).

[10]  Gunnar Stevens,et al.  Supporting the Collaborative Appropriation of an Open Software Ecosystem , 2011, Computer Supported Cooperative Work (CSCW).

[11]  Romain Robbes,et al.  The Small Project Observatory: Visualizing software ecosystems , 2010, Sci. Comput. Program..

[12]  P. Resnick,et al.  Building Successful Online Communities: Evidence-Based Social Design , 2012 .

[13]  Klaus Marius Hansen,et al.  Software ecosystems - A systematic literature review , 2013, J. Syst. Softw..

[14]  Paul Dourish,et al.  The human infrastructure of cyberinfrastructure , 2006, CSCW '06.

[15]  Brian Fitzgerald,et al.  Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects , 2007 .

[16]  James D. Herbsleb,et al.  When It Breaks, It Breaks: How Ecosystem Developers Reason about the Stability of Dependencies , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW).

[17]  Michele Lanza,et al.  The Small Project Observatory , 2007 .

[18]  Yvonne Dittrich,et al.  Software engineering beyond the project - Sustaining software ecosystems , 2014, Inf. Softw. Technol..

[19]  Geoffrey C. Bowker,et al.  Collaborative rhythm: temporal dissonance and alignment in collaborative scientific work , 2011, CSCW.

[20]  Ronald F. Boisvert,et al.  The Architecture of Scientific Software , 2001, IFIP — The International Federation for Information Processing.

[21]  John M. Carroll,et al.  Exploring the ecosystem of software developers on GitHub and other platforms , 2014, CSCW Companion '14.

[22]  J. Raab,et al.  Powell (1990): Neither Market nor Hierarchy: Network Forms of Organization , 2018, Schlüsselwerke der Netzwerkforschung.

[23]  Karim R. Lakhani,et al.  Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects , 2003 .

[24]  James D. Herbsleb,et al.  Understanding the scientific software ecosystem and its impact: Current and future measures , 2015 .

[25]  James D. Herbsleb,et al.  Social coding in GitHub: transparency and collaboration in an open software repository , 2012, CSCW.

[26]  Nancy Wilkins-Diehr,et al.  Summary of the First Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE1) , 2014, ArXiv.

[27]  I. Welch,et al.  Rational herding in financial economics , 1996 .

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

[29]  Hadley Wickham,et al.  Tools to Make Developing R Packages Easier , 2016 .

[30]  James D. Herbsleb,et al.  Scientific software production: incentives and collaboration , 2011, CSCW.

[31]  Daniel Atkins,et al.  Revolutionizing Science and Engineering Through Cyberinfrastructure: Report of the National Science Foundation Blue-Ribbon Advisory Panel on Cyberinfrastructure , 2003 .

[32]  Charlotte P. Lee,et al.  Adapting cyberinfrastructure to new science: tensions and strategies , 2012, iConference '12.