Visible to the public How to break an API: cost negotiation and community values in three software ecosystemsConflict Detection Enabled

TitleHow to break an API: cost negotiation and community values in three software ecosystems
Publication TypeConference Proceedings
Year of Publication2016
AuthorsChristopher Bogart, Christian Kästner, James Herbsleb, Ferdian Thung
Conference NameFSE 2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
Date Published11/2016
PublisherACM New York, NY, USA ©2016
Conference LocationSeattle, WA
ISBN Number978-1-4503-4218-6
KeywordsCMU, Collaboration, Dependency management, Jan'17, Qualitative research, semantic versioning, Software ecosystems

Change introduces conflict 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 tradeoffs explicit and transparent in order to resolve conflicts and negotiate change-related costs

Citation Keynode-30352

Other available formats: