一句话:从约150万封Python开发邮件中抽取开源决策理由,提出启发式Rationale Miner系统。
论文关注开源软件开发社区中决策过程及其理由常埋藏在公开邮件数据里,已有工作多抽取决策过程而少探讨“如何”决策的理由。作者对Python开发邮件归档中约150万封邮件进行大规模研究,提出基于多种启发式的Rationale Miner,以数据驱动、自底向上的方式推断特定决策的理由,例如新模块是基于核心开发者共识还是仁慈独裁者宣布。工作有知识与方法两方面贡献:一方面揭示并呈现Python社区决策背后的理由,另一方面提供可迁移到治理结构相似的其他OSSD社区的抽取方法,以促进透明与问责。
A sound Decision-Making (DM) process is key to the successful governance of software projects. In many Open Source Software Development (OSSD) communities, DM processes lie buried amongst vast amounts of publicly available data. Hidden within this data lie the rationale for decisions that led to the evolution and maintenance of software products. While there have been some efforts to extract DM processes from publicly available data, the rationale behind 'how' the decisions are made have seldom been explored. Extracting the rationale for these decisions can facilitate transparency (by making them known), and also promote accountability on the part of decision-makers. This work bridges this gap by means of a large-scale study that unearths the rationale behind decisions from Python development email archives comprising about 1.5 million emails. This paper makes two main contributions. First, it makes a knowledge contribution by unearthing and presenting the rationale behind decisions made. Second, it makes a methodological contribution by presenting a heuristics-based rationale extraction system called Rationale Miner that employs multiple heuristics, and follows a data-driven, bottom-up approach to infer the rationale behind specific decisions (e.g., whether a new module is implemented based on core developer consensus or benevolent dictator's pronouncement). Our approach can be applied to extract rationale in other OSSD communities that have similar governance structures.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2102-05232,
title = {Extracting Rationale for Open Source Software Development Decisions — A Study of Python Email Archives},
author = {Pankajeshwara Nand Sharma and Bastin Tony Roy Savarimuthu and Nigel Stanger},
booktitle = {ICSE},
year = {2021},
doi = {10.1109/icse43902.2021.00095}
}