当前位置: X-MOL 学术ACM Trans. Softw. Eng. Methodol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
When and How to Make Breaking Changes
ACM Transactions on Software Engineering and Methodology ( IF 4.4 ) Pub Date : 2021-07-23 , DOI: 10.1145/3447245
Chris Bogart 1 , Christian Kästner 1 , James Herbsleb 1 , Ferdian Thung 2
Affiliation  

Open source software projects often rely on package management systems that help projects discover, incorporate, and maintain dependencies on other packages, maintained by other people. Such systems save a great deal of effort over ad hoc ways of advertising, packaging, and transmitting useful libraries, but coordination among project teams is still needed when one package makes a breaking change affecting other packages. Ecosystems differ in their approaches to breaking changes, and there is no general theory to explain the relationships between features, behavioral norms, ecosystem outcomes, and motivating values. We address this through two empirical studies. In an interview case study, we contrast Eclipse, NPM, and CRAN, demonstrating that these different norms for coordination of breaking changes shift the costs of using and maintaining the software among stakeholders, appropriate to each ecosystem’s mission. In a second study, we combine a survey, repository mining, and document analysis to broaden and systematize these observations across 18 ecosystems. We find that all ecosystems share values such as stability and compatibility, but differ in other values. Ecosystems’ practices often support their espoused values, but in surprisingly diverse ways. The data provides counterevidence against easy generalizations about why ecosystem communities do what they do.

中文翻译:

何时以及如何进行重大更改

开源软件项目通常依赖包管理系统来帮助项目发现、合并和维护对由其他人维护的其他包的依赖关系。这样的系统比广告、打包和传输有用库的特殊方式节省了大量的精力,但是当一个包做出影响其他包的重大更改时,仍然需要项目团队之间的协调。生态系统在突破性变化的方法上有所不同,并且没有通用的理论来解释特征、行为规范、生态系统结果和激励价值之间的关系。我们通过两项实证研究来解决这个问题。在采访案例研究中,我们对比了 Eclipse、NPM 和 CRAN,证明这些用于协调重大变更的不同规范会转移利益相关者之间使用和维护软件的成本,以适应每个生态系统的使命。在第二项研究中,我们结合了调查、存储库挖掘和文档分析,以在 18 个生态系统中扩展和系统化这些观察。我们发现,所有生态系统都具有共同的价值,例如稳定性和兼容性,但在其他价值上却有所不同。生态系统的实践通常支持他们所信奉的价值观,但方式却出奇地多样。这些数据提供了反证,反对简单概括生态系统社区为什么做他们所做的事情。并记录分析,以扩大和系统化 18 个生态系统中的这些观察结果。我们发现,所有生态系统都具有共同的价值,例如稳定性和兼容性,但在其他价值上却有所不同。生态系统的实践通常支持他们所信奉的价值观,但方式却出奇地多样。这些数据提供了反证,反对简单概括生态系统社区为什么做他们所做的事情。并记录分析,以扩大和系统化 18 个生态系统中的这些观察结果。我们发现,所有生态系统都具有共同的价值,例如稳定性和兼容性,但在其他价值上却有所不同。生态系统的实践通常支持他们所信奉的价值观,但方式却出奇地多样。这些数据提供了反证,反对简单概括生态系统社区为什么做他们所做的事情。
更新日期:2021-07-23
down
wechat
bug