The purpose of this paper is to improve understanding of user-developer communication in Open Source Software Development process, and to find out and explain different user roles in Open Source Software communities. Existing HCI theory will be contrasted with literature review findings of the latest research results. The focus of this article is to understand the different user roles in OSS community, find out the initial problems and connections between them. Firstly, we went through the various roles existing in Open Source Software communities. Then we will contrast those roles with the Open Source Software Development process. We will identify what differentiates the participation rate of users to the different phases, and lastly we will suggest best practices for engaging the user community to drive the development of Open Source Software.
This chapter introduces the various users that participate in OSS communities, how can they contribute themselves and what are their responsibilities. The traditional onion model has been explained, and also a new hypothesis model created by Hedberg and Iivari has been showed as a comparison to the traditional model, of which the former considers more about cooperating with HCI specialists during the development processes than the latter.
2.1.1 Core Members
A survey study made by Ghosh and Prakash (2000) found out that, there is a large amount of cases in OSS project have very small core group. The core members normally take a large proportion of responsibilities and accomplish most of the works in a project. And the other participants in the large group, they basically play the role as a reminder (Ghosh & Prakash, 2000).
2.1.2 Maintainers, patchers & bug reporters
Besides to the core members, the other roles in OSS community also contribute themselves in different way. Readers, who basically only read the source code and try to understand it by not modifying, bug fixers and reporters contribute their effort by discovering, fixing and reporting
2.1.3 HCI specialists
It has been argued that user involvement in information system research is important since it helps constructing better and useful IT artifacts from user point of view (Iivari, 2008). HCI specialists play essential intermediate role in dealing the communication issue between developers and users. They are crucially needed as a role to conduct surveys and interviews from user, so that to contribute the steer user research studies as the way to bridge the communication with developers (Ogawa, Ma, Bird, Devanbu, & Gourley, 2007; Paul, 2009).
2.1.4 The level of user roles
In the onion model mentioned in Figure 1, there is no such place to show the position of HCI specialists. The traditional model of OSS project somehow has changed in today’s development model, since nowadays organization and company pay more attention from end-user point of view. Hedberg and Iivari (2009) proposed a new model of roles in OSS community, which covered all the important roles and also added HCI specialists to it.
To understand the development process of open source software, one should focus on studying the structure of Open Source Software environment, the communities within it and and their
participants’ roles. The community plays an important part in the likelihood of success in any Open Source Software project.
2.2.1 Problems in communication between the different roles
Usability testing and reporting of bugs have both been suggested as ways to increase the rate of user involvement. (Zhao and Deek, 2005, 2006) However, non-technical users might be uninterested or even intimidated about using communication tools such as IRC, discussion forums, mailing lists, feature requests and bug reports (Ge, Dong & Huyang, 2006; Ye & Kishida, 2003; Cetin, Verzulli & Frings, 2007)
User experience and usability issues differ from bugs and other issues, therefore they should be separated from one another. Both bugs and usability issues are generally collected into the same view with bug tracker and thus linked together. It would be advisable to have a dedicated tab, for example, for user experience issues in order to clarify the development process and reporting. (Bach et al., 2009).
3.1 Result of the research
In this research paper, literature studies were conducted about the different user roles in OSS community, what are their responsibilities and positions, and how they should cooperate with each other so that to contribute themselves in a more user satisfaction way. The traditional onion model has been illustrated first, and consider the importance of HCI specialists role, another hypothesis model which is designed by Hedberg and Iivari has also been shown. All in all the study found out that it is important to allow users fully involved into OSS project, since their feedbacks and suggestions are crucial.
The limitations of this research study are related to relying on other researcher’s studies. Triangulation of the information, for example, poses a challenge when building a uniform view regarding the role of users in an open source software communities. There is no agreed terminology in this field, and hence analysing and combining the research findings of other researchers has been challenging. In addition, we have not conducted own survey research about the roles but merely are contributing to the field with our literature review contrasting the latest research findings.
3.3 Recommendation for future research
Acceptance studies about the use of open source software may contribute to the general understanding of the open source software users. Understanding what affects the use of open source will help in building an understanding of the role of the user in more depth. Relevant research about OSS can be conducted by collecting research data in organizations and companies, and gain better understanding about different user roles among them.
Specific comparative studies about the user participation in the different phases of open source software development would help in understanding how the role of the user is throughout an OSS project. There may be differences regarding the role and the rate of participation of user depending whether the project is in requirements phase, development phase, evaluation or testing phase. Such research would help in identifying different ways to motivate participation.