The steady rise of open source software (OSS) (Raymond, 1999) over the last few decades has made a noticeable impact on many sectors of society where software has a role to play. As reflected from the frequency of media articles, traffic on mailing lists, and growing research literature, OSS has garnered much support in the software community. Indeed, from the early days of GNU software, to X Window System, to Linux and its utilities, and more recently the Apache Software Project, OSS has changed the way software is developed and used. As the deployment of OSS increases, the issue of its quality with respect to its stakeholders arises. We contend that the open source community collectively bears responsibility of producing “high-quality” OSS. Lack of quality raises various risks for organizations adopting OSS (Golden, 2004). This article discusses the manifestation of quality in open source software development (OSSD) from a traditional software engineering standpoint. The organization is as follows. We first outline the background and related work necessary for the discussion that follows, and state our position. This is followed by a detailed treatment of key software engineering practices that directly or indirectly impact the quality of OSS. Next, challenges and directions for future research are outlined and, finally, concluding remarks are given.
Key Terms in this Chapter
Declaration: Behaviour which, externally observed, appears as manifestation of a certain will.
Agents: Encapsulated computer systems that are situated in some environment and are capable of flexible, action in that environment in order to meet their objectives.
Proof: Demonstration of the invoked “truth.”
Archive: Conservation of documents in order to ensure the possibilities of proof.
Contract: Voluntary and licit human fact, formed by two or more declarations converging on the production of legal effects according to the manifested will.
Will: Volition, normally (but not always) coincident with the objective sense of the declaration.
Legal Person: Entity capable of being subject of rights and obligations