Publication Type

Conference Proceeding Article

Publication Date

11-2016

Abstract

Change introduces conict into software ecosystems: breaking changes may ripple through the ecosystem and trigger rework for users of a package, but often developers can invest additional effort or accept opportunity costs to alleviate or delay downstream costs. We performed a multiple case study of three software ecosystems with different tooling and philosophies toward change, Eclipse, R/CRAN, and Node.js/npm, to understand how developers make decisions about change and change-related costs and what practices, tooling, and policies are used. We found that all three ecosystems differ substantially in their practices and expectations toward change and that those differences can be explained largely by different community values in each ecosystem. Our results illustrate that there is a large design space in how to build an ecosystem, its policies and its supporting infrastructure; and there is value in making community values and accepted tradeos explicit and transparent in order to resolve conicts and negotiate change-related costs.

Keywords

Collaboration, Dependency Management, Qualitative Research, Semantic Versioning, Software Ecosystems

Discipline

Computer Sciences | Software Engineering

Publication

FSE 2016: Proceedings of the 24th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Seattle, November 13-18, 2016

First Page

109

Last Page

120

ISBN

9781450342186

Identifier

10.1145/2950290.2950325

Publisher

ACM

City or Country

New York

Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.

Additional URL

http://doi.org/10.1145/2950290.2950325

Share

COinS