Abstract. This study presents findings from an empirical study directed at understanding the roles, forms, and consequences arising in requirements for open source software (OSS) development efforts. Five open source software development communities are described, examined, and compared to help discover what differences may be observed. At least two dozen kinds of software informalisms are found to play a critical role in the elicitation, analysis, specification, validation, and management of requirements for developing OSS systems. Subsequently, understanding the roles these software informalisms take in a new formulation of the requirements development process for OSS is the focus of this study. This focus enables considering a reformulation of the requirements engineering process and its associated artifacts or (in)formalisms to better account for the requirements when developing OSS systems. Other findings identify how OSS requirements are decentralized across multiple informalisms, and to the need for advances in how to specify the capabilities of existing OSS systems. Keywords: Open source software, empirical studies, socio-technical systems The focus in this paper is directed at understanding the requirements processes for open source software (OSS) development efforts, and how the development of these requirements differs from those traditional to software engineering and requirements engineering [5, 9, 23, 40] . This study is about ongoing discovery, description, and abstraction of OSS development (OSSD) practices and artifacts in different settings across different communities. It is about expanding our notions of what requirements need to address to account for OSSD. Subsequently, these are used to understand what OSS communities are being examined, and what characteristics distinguish one community from another. This chapter also builds on, refines, and extends earlier study on this topic [12, 14, 24, 49, 53] , as well as identifying implications for what requirements arise when developing different kinds of OSS systems. This study reports on findings and results from an ongoing investigation of the sociotechnical processes, work practices, and community forms found in OSSD [51, 53, 56] . The purpose of this multi-year investigation is to develop narrative, semistructured (i.e., hypertextual), and formal computational models of these processes, practices, and community forms [24, 57] . This chapter presents a systematic narrative model that characterizes the processes through which the requirements for OSS systems are developed. The model compares in form, and presents an account of, how software requirements differ across traditional software engineering and OSS approaches. This model is descriptive and empirically grounded. The model is also comparative in that it attempts to characterize an open source requirements engineering process that transcends the practice in a particular project, or within a particular community. This comparative dimension is necessary to avoid premature generalizations about processes or practices associated with a particular OSS system or those that receive substantial attention in the news media (e.g., the GNU/Linux operating system). Such comparison also allows for system projects that may follow a different form or version of OSSD (e.g., those in the higher education computing community or networked computer game arena). Subsequently, the model is neither prescriptive nor proscriptive in that it does not characterize what should be or what might be done in order to develop OSS requirements, except in the concluding discussion, where such remarks are bracketed and qualified. Comparative case studies of requirements or other software development processes are also important in that they can serve as foundation for the formalization of our findings and process models as a process meta-model [37] . Such a meta-model can be used to construct a predictive, testable, and incrementally refined theory of OSSD processes within or across communities or projects. A process meta-model is also used to configure, generate, or instantiate Web-based process modeling, prototyping, and enactment environments that enable modeled processes to be globally deployed and computationally supported [e.g., 24, 38, 39, 57]. This may be of most value to other academic research or commercial development organizations that seek to adopt "best practices" for OSSD processes that are well suited to their needs and situation. Therefore, the study and results presented in this report denote a new foundation on which computational models of OSS requirements processes may be developed, as well as their subsequent analysis and simulation (cf. [48, 57]  We assume there is no general model or globally accepted framework that defines how OSS is or should be developed. Subsequently, our starting point is to investigate OSS practices in different communities from an ethnographically informed perspective [20, 28, 62] . We have chosen five different communities to study. These are centered about the development of software for networked computer games,
Scacchi REF argues that requirements validation is a byproduct, rather than an explicit goal, of how open source software (OSS) requirements are constituted, described, discussed, cross-referenced, and hyperlinked to other informal descriptions of a system and its implementations.
Understanding Requirements for Open Source Software
Engineering