alone together: patterns of collaboration in free and open source software development

32
James Howison PhD Dissertation Defense iSchool @ Syracuse University 4 December 2008 Alone Together: Patterns of Collaboration in Free and Open Source Software Development Advisor: Kevin Crowston Committee: Bob Heckman, Carsten Østerlund, Don Harter (B-school) Inside Reader: Steve Sawyer Outside Reader: Francesco Bolici (Remote) Chair: Sumitro Bannerjee (B-school) CC Credit: http://www.flickr.com/photos/baggis/

Upload: james-howison

Post on 10-May-2015

483 views

Category:

Technology


0 download

DESCRIPTION

James Howison's PhD Dissertation Defense

TRANSCRIPT

Page 1: Alone Together: Patterns of collaboration in free and open source software development

James HowisonPhD Dissertation Defense

iSchool @ Syracuse University4 December 2008

Alone Together:Patterns of Collaboration in

Free and Open SourceSoftware Development

Advisor: Kevin CrowstonCommittee: Bob Heckman, Carsten Østerlund, Don Harter (B-school)Inside Reader: Steve SawyerOutside Reader: Francesco Bolici (Remote)Chair: Sumitro Bannerjee (B-school) CC Credit: http://www.flickr.com/photos/baggis/

Page 2: Alone Together: Patterns of collaboration in free and open source software development

Free (Libre) and Open SourceSoftware Development

• FLOSS development is a canonicalmodel of distributed work– Interesting for itself, but also for adaptation

• Research to date on Motivations ORProduction but not both together

Page 3: Alone Together: Patterns of collaboration in free and open source software development

Scope:Community-based FLOSS

• FLOSS is not one phenomenon– A license is not enough– Many hybrids with existing organizational forms

• Interested in the Something Else, thereforestudying the “pure” form:– Distributed, no center or face to face– Unpaid and non-commercial– Sourceforge hosted, set of collaboration

technologies: Email, source code repository, issuetrackers …

Page 4: Alone Together: Patterns of collaboration in free and open source software development

Overall Research Questions

1. How is successful FLOSS production organized?

2. How does this organization interact withmotivation, and thereby recruitment and retentionof developers?

3. What are the implications for the adaptation ofthe FLOSS model of organization in otherenvironments?

Page 5: Alone Together: Patterns of collaboration in free and open source software development

Structure

• Unfolding arc:– Discovery: Participant Observation

• BibDesk (RQ1 & RQ2)– Replication: Archival Study

• Fire & Gaim (RQ1)– Explanation: Rational choice model

• RQ2 and RQ3, via conditions for model

Page 6: Alone Together: Patterns of collaboration in free and open source software development

Today’s Goal:An image of FLOSS production

CC Credit: http://flickr.com/photos/anthea/

Page 7: Alone Together: Patterns of collaboration in free and open source software development

Discovery throughParticipant Observation

Page 8: Alone Together: Patterns of collaboration in free and open source software development

Task: The Container Column

Page 9: Alone Together: Patterns of collaboration in free and open source software development

How it was built

Page 10: Alone Together: Patterns of collaboration in free and open source software development

Task: “Web Groups”

https://sourceforge.net/mailarchive/message.php?msg_id=DF0FB757-56BA-45D7-A1EA-262EB7A5B3DC@mac.comhttps://sourceforge.net/mailarchive/message.php?msg_name=7394DD78-A02E-11D7-AFC1-0003931E45D0%40mac.com

June 2003 (Email)

I really want to use this, but the conditions have never quite been right - either I waswaiting for … RSS+RDF (now looks like it'll never happen) or … an XML bibliographic fileformat … (could happen now, but I ran out of free time).

Jan 2007 (Email with patch):

It was much easier than I expected it to be because the existing groups code (and searchgroups code) was very easy to extend. Kudos - I wouldn't have tried it if so much hadn'talready been solved well.Thanks!

Page 11: Alone Together: Patterns of collaboration in free and open source software development

Discovery Findings

1. Individual work with personalmotivations

2. Layering3. Deferral

CC Credit: http://flickr.com/photos/jvk/

Page 12: Alone Together: Patterns of collaboration in free and open source software development

Theory: Interdependency

• Fundamental• Fixed• aprioi

• Emergent• “emergent property

in social systems”• (Actually socio-

technical systems)

March and Simon (1958),Mintzberg (1979),Thompson (1967), Van deVen et al (1976), Maloneand Crowston (1994)

Shea and Guzzo (1989),Wageman (1995), Wagemanand Gordon (2005), Rico andCohen (2006)

Page 13: Alone Together: Patterns of collaboration in free and open source software development

CC Credit: http://www.flickr.com/photos/johnwiechecki/

Page 14: Alone Together: Patterns of collaboration in free and open source software development
Page 15: Alone Together: Patterns of collaboration in free and open source software development

CC Credit: http://www.flickr.com/photos/ejpphoto/

Page 16: Alone Together: Patterns of collaboration in free and open source software development

CC

Cre

dit:

http

://w

ww

.flic

kr.c

om/p

hoto

s/ko

jihac

hisu

/

Page 17: Alone Together: Patterns of collaboration in free and open source software development

Replication: Fire and Gaim

• Specific RQs:– What proportion of work was individual?– Any evidence of productive deferral?

• Fire and Gaim– Multi-protocol instant messaging clients– Community-based open source– Similar task and collaboration infrastructure to

BibDesk

Page 18: Alone Together: Patterns of collaboration in free and open source software development

To the Archives!

The evidence is here, somewhere.

http

://w

ww

.flic

kr.c

om/p

hoto

s/ha

mad

ryad

es/

Page 19: Alone Together: Patterns of collaboration in free and open source software development

Method

1. Identify Task Outcomes2. Search for Relevant Documents3. Recognize Actions and Participants4. Code Action by Contribution5. Classify Task

Page 20: Alone Together: Patterns of collaboration in free and open source software development
Page 21: Alone Together: Patterns of collaboration in free and open source software development

Types of Contribution

• Management Work• Review Work• Production Work

– Core Production Work– Polishing Production Work

• Documentation work• Supporting work

Page 22: Alone Together: Patterns of collaboration in free and open source software development

Classification

1. Find Production Type– Solo, or– Polished Solo, or– Co-work.

2. Add other tags+ Reviewed, and+ Supported, and+ Managed.

Page 23: Alone Together: Patterns of collaboration in free and open source software development

Classification Results

Page 24: Alone Together: Patterns of collaboration in free and open source software development

Illustrative Co-work

Page 25: Alone Together: Patterns of collaboration in free and open source software development

Illustrative Individual Work

30 (of 106) tasks consisted of a single Action: Core Production

Page 26: Alone Together: Patterns of collaboration in free and open source software development

Evidence for Deferral

Page 27: Alone Together: Patterns of collaboration in free and open source software development

An image of FLOSS production

• Work is done in Tasks that are– Individual– Short– Layered– Spontaneously supported

• Complex work is often deferred– Until it is easier

Other types of work build on this base

Page 28: Alone Together: Patterns of collaboration in free and open source software development

Answering overallDissertation RQs

• RQ1: organization of FLOSS– The image presented today

• RQ2: interaction with motivation– Co-evolved socio-technical fit between motivation,

organization and collaboration technologies– Rational Choice Model explores expectancy-

valance motivational model– Co-work multiplies risks

Page 29: Alone Together: Patterns of collaboration in free and open source software development

Adaptation (RQ3)

• Empirical studies and Model help build aframework used to assess difficulties ofadaptation. eg:– Layerable, with ‘stackable’ incentives– Ultra-Low Instantiation and Distribution Costs

• Using the same technologies and licenses notsufficient!

Page 30: Alone Together: Patterns of collaboration in free and open source software development

Contributions I

• Information Systems– Empirically grounded socio-technical theory of IS

development and distributed teams, IT artifactsplay important roles.

• Organizational Science– Identification and description of a novel

organizational form– Empirical evidence of low-interdependency

complex work– Deferral may have wider applicability

Page 31: Alone Together: Patterns of collaboration in free and open source software development

Contributions II

• Methodology– Concepts and Method for reconstructing work from archives

• Teaching– Set of annotated narrative cases of FLOSS work, useful for

teaching those working with communities

• Open Source practicioners– Give “Community managers” a lens to understand their own

communities– Those starting projects: a (partial) guide to existing

experience

Page 32: Alone Together: Patterns of collaboration in free and open source software development

Thanks especially to:

• The BibDesk developers and users and the rest of the Freeand Open Source communities

• Kevin, my advisor• My committee (Bob, Carsten and Don)• My 2 writing groups (Anu and Indira & Saira and Isabelle)• The FLOSS research team (Kevin, Bob, Hala, Chengetai,

Andrea, Yeliz, Kangning, Qing, Mike, Lina, Steve and Eileen)• All the iSchool colleagues, junior and senior, who’ve

challenged and inspired me.• Jennifer, Maureen, Ellen and Bridget!• Becks and Joe• Becky (so, so cool), Kal and Drogo• Judes & Bobs, Kate & Andy (never far away, really :)

And, of course, the NSF (03-41475, 04–14468, 05-27457 and 07–08437)

fin