English

Code forking in open-source software: a requirements perspective

Software Engineering 2010-04-19 v1

Abstract

To fork a project is to copy the existing code base and move in a direction different than that of the erstwhile project leadership. Forking provides a rapid way to address new requirements by adapting an existing solution. However, it can also create a plethora of similar tools, and fragment the developer community. Hence, it is not always clear whether forking is the right strategy. In this paper, we describe a mixed-methods exploratory case study that investigated the process of forking a project. The study concerned the forking of an open-source tool for managing software projects, Trac. Trac was forked to address differing requirements in an academic setting. The paper makes two contributions to our understanding of code forking. First, our exploratory study generated several theories about code forking in open source projects, for further research. Second, we investigated one of these theories in depth, via a quantitative study. We conjectured that the features of the OSS forking process would allow new requirements to be addressed. We show that the forking process in this case was successful at fulfilling the new projects requirements.

Keywords

Cite

@article{arxiv.1004.2889,
  title  = {Code forking in open-source software: a requirements perspective},
  author = {Neil A. Ernst and Steve Easterbrook and John Mylopoulos},
  journal= {arXiv preprint arXiv:1004.2889},
  year   = {2010}
}

Comments

16 pages; 4 figures; based on work done in 2006

R2 v1 2026-06-21T15:11:18.581Z