کاربر و واسط توسعه دهنده در جامعه نرم افزار منبع رایگان: مرز گستری از طریق مشارکت متقابل در بحث های آنلاین
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|21598||2008||13 صفحه PDF||سفارش دهید||محاسبه نشده|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : International Journal of Human-Computer Studies, Volume 66, Issue 7, July 2008, Pages 558–570
The aim of this research is to analyse how design and use are mediated in Open Source Software (OSS) design. Focusing on the Python community, our study examines a “pushed-by-users” design proposal through the discussions occurring in two mailing-lists: one, user-oriented and the other, developer-oriented. To characterize the links between users and developers, we investigate the activities and references (knowledge sharing) performed by the contributors to these two mailing-lists. We found that the participation of users remains local to their community. However, several key participants act as boundary spanners between the user and the developer communities. This emerging role is characterized by cross-participation in parallel same-topic discussions in both mailing-lists, cohesion between cross-participants, the occupation of a central position in the social network linking users and developers, as well as active, distinctive and adapted contributions. The user championing the proposal acts as a key boundary spanner coordinating the process and using explicit linking strategies. We argue that OSS design may be considered as a form of “role emerging design”, i.e. design organized and pushed through emerging roles and through a balance between these roles. The OSS communities seem to provide a suitable socio-technical environment to enable such role emergence.
Open Source Software (OSS) design is characterized by a communitarian and a distant, asynchronous and mediated design process. This new way of designing is becoming increasingly widespread in the computer science world: there are thousands of OSS, some of which are highly successful, like Mozilla (www.mozilla.org) or Apache (www.apache.org), and they are supported by communities of tens to hundreds of developers and millions of users (Gacek and Arief, 2004). Mainly mediated by Internet tools (Mockus et al., 2002; Sack et al., 2006), OSS design is a paradigmatic case of distant and asynchronous collaborative design, which has thus far been less investigated than distant and synchronous, or co-located collaborative design (e.g. Olson et al., 1992; Stempfle and Badke-Schaub, 2002; Détienne et al., 2004 and Détienne et al., 2005). Studying OSS is also of particular interest to gain insights into supporting the changing nature of the software industry, which is increasingly making use of OSS design's tools and methods as it becomes more and more distributed and global (Gutwin et al., 2004). OSS design can also be considered as a continous form of distributed participatory design: new functionalities can always be proposed and discussed at any step in the project (Gasser et al., 2003), forms of participation in OSS projects are supposed to be “open” in time and for different kinds of participants whatever their stake in the project (developers or users of the OSS). Thus, users of OSS can potentially be involved in all the phases of the design process (elicitation of needs and requirements, design and implementation), at least if they have the skills to do so. This is often the case as, in OSS, users can be highly skilled in computer science (Ducheneaut, 2005), as well as in particular application domains (e.g., education, biology, scientific computing, etc.). Moreover, the participation of users is considered to be the major strength of the OSS design process compared to proprietary ones: most bugs are detected and fixed because “there are many eyeballs looking at the problem” (Raymond, 1999). As far as we know, there has been no research that aims at obtaining a global understanding of the OSS design process, and of the position actually occupied by users proposing new functionalities. Mediating design and use in this distant and asynchronous design setting can be of particular interest given the usability problems of OSS software, which are mainly due to the lack of human–computer interaction methods in OSS communities (Twidale and Nichols, 2005). The aim of this research is thus to understand the ways in which members of OSS communities, and especially users, participate in the design process and to identify whether or not some key participants may act as boundary spanners to link the user and the developer communities. This research is focused on a major OSS project, Python, which is an object-oriented programming language (www.python.org). In the following sections, after a review of our theoretical framework, we set out our research questions and strategy. Then, we present the results and discuss the perspectives of this research.