• No results found

OSS development represents a collaborative community-based effort to develop software in which the users participate in deciding what features to build, and a subgroup of developers participate in designing the solution, writing code, and deploying and maintaining the system [75]. As a result of this development process, requirements and functionality usually evolve in direct response to specific user requests. In the OSS domain, applications and the application users tend to be geographically separated, making it difficult and costly to engage in face-to-face requirements gathering sessions. Because of the distributed nature of this development environment, OSS projects rely on wikis and online forums to communicate with their communities of stakeholders [69, 76].

There are currently two common OSS development models. The first is the user-based model in which software is developed collaboratively by the users, and in which integration of new features is governed by an executive body. The second model represents a vendor-led approach in which a specific vendor controls the development and integration of new features. Although source code is released to the users to develop additional features, the primary responsibility for development is carried by the vendor. This research concentrated on vendor-managed projects.

Even though OSS projects are quite different from more traditional software development projects, it is still crucial for OSS vendors to understand and meet their stakeholders’ product-related needs. However, many of the techniques used for traditional requirements development practices are unviable or difficult to implement in an OSS development environment for several reasons. First, unlike other projects which may have more defined phases, OSS projects tend to be highly iterative with strong expectations for ongoing and continual improvements to the product. Secondly, instead of eliciting and gathering requirements from a carefully selected and representative group of stakeholders, OSS projects generally support a very open elicitation process in which any and all stakeholders are welcome to participate. In addition, it is difficult to facilitate face-to-face meetings in OSS projects, and so elicitation, prioritization, negotiation, and other requirements related activities are generally conducted using web-based tools such as wikis and forums.

Two different online surveys were used to gather information from open source project administrators and from forum users, respectively. For purposes of this research, an administrator was defined as an OSS vendor staff member; and a user as a current or prospective OSS user or provider. The survey questions were designed to gain an understanding of the actual activities that users performed when contributing feature requests; and the administrator’s methodology for eliciting, prioritizing, and managing these requests. The survey was reviewed by researchers with industry experience. It was then appraised by several software engineering industry professionals who provided feedback regarding the clarity and appropriateness of the questions. These professionals were similar to our target audience of OSS users. We solicited participation by contacting the project administrators via email. A request for user participation and a survey link were posted in the OSS user forums. A copy of each survey, the solicitation messages and forum postings can be found in Appendix A.

In order to include a diverse set of open source software projects in our study, we polled software engineering students and IT professionals for suggestions about the open source projects in which they participated; and also browsed through the forums in Source Forge. Only vendor based OSS projects with

Chapter 4. Open Source Software Projects Data Analysis 34

at least 3000 postings were selected for the study. Initially fifteen candidate open source projects were identified and after further investigation and evaluation, the analyses and results from eight of these projects; representing a variety of software domains, including games, groupware and systems management, were selected to be included in this study. Additional OSS projects were included, but one was dropped when it was discovered to actually be a community based forum, and the others were dropped because we received fewer than 4 responses to the survey. In the remaining forums, we received three responses from administrators and 107 from individual users. Given the low response from administrators, the remainder of this section discusses their responses only in a qualitative manner.

This study included well-known open source projects in the following industries: a Java application server, password manager software; a source code editor written in C++; a file manager for Windows; a web-based enterprise resource planning (ERP) tool; a client/server tool for next-generation messaging and collaboration; a virtual world environment/game; and a customer relationship management (CRM) tool. The statistics of these projects are summarized in Table 4.1. Specific project names are not used in order to protect the anonymity of the forums.

OSS Project Number of posts User responses Admin responses

Password Manager > 17, 000 16 1

Source Code Editor > 32,000 5 0

File Manager > 4,000 13 0

ERP > 20,000 26 1

Java app server > 440,000 30 1

Virtual world/game > 2,000,000 10 0

Groupware > 110,000 7 0

* CRM > 125,000 0 0

* Included in observational part of study but did not participate in surveys in accordance with administrator’s negative response.

Table 4.1. Number of posts and responses for each of the surveyed forums

During the first phase of this study we visited each of the forums and analyzed the available tools, adopted processes, and general culture of the forum. Some of the results from this inspection are reported in Table 4.2 and discussed in Section 4.1.2.

Table 4.2. Features observed in the Open Source Forums