"They Can Only Ever Guide": How an Open Source Software Community Uses Roadmaps to Coordinate Effort

"They Can Only Ever Guide": How an Open Source Software Community Uses Roadmaps to Coordinate Effort
复制标题

“他们只能指导”:开源软件社区如何使用路线图来协调工作

DOI:
10.1145/3449232
复制
发表时间:
2021
影响因子:
--
通讯作者:
Herbsleb, James D.
Herbsleb, James D.
中科院分区:
--
文献类型:
--
作者:
Klug, Daniel;Bogart, Christopher;Herbsleb, James D.

文献摘要

相似文献

与商业软件开发不同,开源软件项目通常没有直接控制开发人员如何花费时间的管理人员,但对于具有大量不同贡献者的项目,需要以协调的方式将开发集中并引导到特定方向。这对于“基础设施”项目尤其重要,例如许多其他人依赖的关键库和编程语言。一些项目已经采取了借用源于商业开发的规划工具的方法,尽管这些技术是为非常不同的背景设计的,例如强大的自上而下的控制和利润动机。很少有人研究这些做法如何适应新的环境。在本文中,我们研究了Rust项目对路线图的使用:一个重要的OSS基础设施项目如何使一个固有的自上而下的工具适应OSS的自由世界?我们发现,由于Rust的路线图部分是通过总结有动力的开发人员最喜欢做的事情来构建的,因此在某些方面,它们更多地是对可用的有动力的劳动力的描述,而不是社区朝着特定方向前进的指示。它们让社区避免在不受欢迎的建议上浪费时间,因为它们揭示了构建这些建议的帮助很小,并通过使这些功能中的共识数量可见来鼓励对受欢迎功能的工作。路线图产生了一个集体的焦点,而不限制开发人员工作的全部范围:路线图问题比其他问题消耗更多的精力,但构成了中心和外围参与者完成的工作(即问题和拉取请求)的一小部分。它们还在社区内外创造了关于核心贡献者计划的透明度,并通过提供一种将社区需求与决策联系起来的证据的方式,使决策更加合理。
Unlike in commercial software development, open source software (OSS) projects do not generally have managers with direct control over how developers spend their time, yet for projects with large, diverse sets of contributors, the need exists to focus and steer development in a particular direction in a coordinated way. This is especially important for "infrastructure" projects, such as critical libraries and programming languages that many other people depend on. Some projects have taken the approach of borrowing planning tools that originated in commercial development, despite the fact that these techniques were designed for very different contexts, e.g. strong top-down control and profit motives. Little research has been done to understand how these practices are adapted to a new context. In this paper, we examine the Rust project's use of roadmaps: how has an important OSS infrastructure project adapted an inherently top-down tool to the freewheeling world of OSS? We find that because Rust's roadmaps are built in part by summarizing what motivated developers most prefer to work on, they are in some ways more a description of the motivated labor available than they are a directive that the community move in a particular direction. They allow the community to avoid wasting time on unpopular proposals by revealing that there will be little help in building them, and encouraging work on popular features by making visible the amount of consensus in those features. Roadmaps generate a collective focus without limiting the full scope of what developers work on: roadmap issues consume proportionally more effort than other issues, but constitute a minority of the work done (i.e issues and pull requests made) by both central and peripheral participants. They also create transparency among and beyond the community into what central contributors' plans are, and allow more rational decision-making by providing a way for evidence about community needs to be linked to decision-making.