How to Break an API: Cost Negotiation and Community Values in Three Software Ecosystems

被引:143
作者
Bogart, Christopher [1 ]
Kastner, Christian [1 ]
Herbsleb, James [1 ]
Thung, Ferdian [2 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Singapore Management Univ, Singapore, Singapore
来源
FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING | 2016年
基金
美国国家科学基金会;
关键词
Software ecosystems; Dependency management; semantic versioning; Collaboration; Qualitative research; GOVERNANCE;
D O I
10.1145/2950290.2950325
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:109 / 120
页数:12
相关论文
共 54 条
  • [31] ENVIRONMENT EVOLUTION - THE PRISM MODEL OF CHANGES
    MADHAVJI, NH
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (05) : 380 - 392
  • [32] Mancinelli F, 2006, IEEE INT CONF AUTOM, P199
  • [33] Mattsson M, 2000, J SOFTW MAINT-RES PR, V12, P79, DOI 10.1002/(SICI)1096-908X(200003/04)12:2<79::AID-SMR204>3.0.CO
  • [34] 2-A
  • [35] Cowboys, Ankle Sprains, and Keepers of Quality: How Is Video Game Development Different from Software Development?
    Murphy-Hill, Emerson
    Zimmermann, Thomas
    Nagappan, Nachiappan
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 1 - 11
  • [36] O'Mahony S, 2007, ACAD MANAGE J, V50, P1079
  • [37] Ooms J, 2013, R J, V5, P197
  • [38] Ostermann K, 2011, LECT NOTES COMPUT SC, V6813, P155, DOI 10.1007/978-3-642-22655-7_8
  • [39] Padhye Rohan., 2014, Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, P665
  • [40] PARNAS DL, 1972, COMMUN ACM, V15, P1053, DOI 10.1145/361598.361623