User Contribution and Desirable Software

Preview:

DESCRIPTION

Presentation of theory construction using the soft systems methodology approach to examine why open source software development projects require user participation to produce desirable software.

Citation preview

User Contribution to Software Desirability

Andrea Wiggins

18 April, 2008

IST 800 - Theory Construction

Outline• Adaptation of soft systems methodology

approach– The research question– Inputs : Outputs :: User participation :

(more) Desirable software– Iteratively developed models– A little bit of theorizing

Problem Statement• Many FLOSS projects rely on voluntary

user contributions

• There are several qualitatively different types of contributions

• Want to understand the relationship between user participation and desirability of software

Research Question• “Why is ongoing user participation required for open

source software development projects to create desirable software?”

• Key variables: user participation, desirability of the software.

• Relationship: User participation on an ongoing basis is a necessary condition to developing desirable FLOSS software

• Population of study is FLOSS projects: virtual teams in which users participate in software development and signal its desirability through their participation.

Clarifying RQ Concepts• User participation

– Ongoing means continued involvement of users, not necessarily of the same users

– Sustained participation by individuals can also be evaluated, and should be beneficial

• Desirability of software– Downloads: motivation is not important– Direct contributions to development

Finding Out - Rich Pictures

www.ics.uci.edu/~wscacchi/Presentations/Process/Process-Discovery-Scacchi-CMAG-Mar07.pdf

Finding Out - Process Model

www.ics.uci.edu/~wscacchi/Presentations/Process/Process-Discovery-Scacchi-CMAG-Mar07.pdf

Brainstorming: Initial Overview Models

Brainstorming: Activities by Actors

• Many interrelated types of user contributions

• Developers are users too

• Not all users participate in the same ways

• Multiple user “types”

Inputs - Outputs• Thought about ways

that users contribute to FLOSS projects

• Some interactions are indirect, all can be observed in some way

• The contributions vary in potential value to the project, but all types are needed

1. Download software - initially and repeatedly

2. Subscription to lists

3. Post to lists, forums

4. Make feature requests

5. Submit bug reports

6. Submit patches

7. Join project team

Abstracting Types of Participation

• Inheritance from “lower” categories

• Passive– downloading, subscribing

• Active – posting, requesting, bug reporting

• Engaged– patch submission, join project team

Passive Participation

Active Participation

Engaged Participation

Compare to Reality• Feedback from FLOSS experts:

– Model can be improved by indicating how process steps are observed

– Abstracted processes good, but YMMV– Consider role of time in processes

• SSM is made for optimizing very specific grounded processes, but theory construction requires abstraction…

Refined (Abstract) Model

Observations from Models• In many FLOSS projects, users

contribute critical functions to the support of software development– Users find the software desirable

• Evidence from downloading, user participation

– Users support ongoing development through participation

• Most participation is aimed at influencing the software development

Role of Infrastructure• Duality of project infrastructure: enables

dialog between users and project team, which becomes infrastructure– Infrastructure or technology?

theory from Models• In many FLOSS projects, infrastructural

duality both provides mechanisms for participation and dialog among users, and captures these resources as further infrastructure.

• Because of this infrastructure, users can contribute critical functions that support software development.

Future Work• Engage questions about why specific

mechanisms for user contributions to FLOSS are effective & widely adopted

• Compare models to case studies & archive data to identify other user contribution process variations– Numerous case studies available, as this is

the primary research method for FLOSS

Recommended