Method diffusion in large open-source projects
Voluntary adoption of development methods in Debian
Research Room, FOSDEM 2008, Brussels, Belgium
23 Feb 2008
Research question
What are the factors which lead Debian developers to adopt new methods and
more efficient workflows?
Overview
- Debian
- Background information
- An example workflow
- Diffusions
- Research approach
- Contribution
- Progress to date and outlook
The Debian Project
- Founded 1993
- 1000+/2000+ volunteers, globally-spaced (52 countries)
- Possibly largest FLOSS project
- 100% Free
- Produces Debian GNU/Linux:
- 20'000+ packages
- 11 architectures
- ~150 derivatives
"one of the largest software systems in the world, probably the largest"
[Amor-Iglesias et al., 2005]
The typical Debian developer
These are from experience/discussions/speculation:
- Volunteer
- Hacker [Levy, 1984; Coleman, 2005]
- Professional user of Debian in advanced/complex settings
- Young (~26 years)
- Academic background
- Technophile
- Perfectionist
Decisions often appear unreasonable from a management perspective
Problems with current workflows
- Non-integrated (e.g. rudimentary bug tracking system integration)
- Repetitive
- Error-prone
- Boring
- Bazaar of cathedrals
Developers are doing what the computer could be doing more efficiently
Why we are still doing it the old way
- No incentive to change
- Large choice of incompatible methods
- Great inertia: processes are highly complex and intertwined
- Yak shaving awareness
- There is no authority which can prescribe the One True Approach
- There is no One True Approach, but a healthy competition of approaches
- Nobody knows how to drive diffusions of such approaches
What can be done?
- Identify the factors which lead developers to adopt
- Publish a framework structuring those factors
- Let proponents of the various approaches use these factors prescriptively to
engineer their methods for higher chance of adoption
- This preserves competition rather than trying to push One True Approach
Overview
- Diffusions
- Frameworks
- Rogers' Diffusion of Innovations
- Problems with existing frameworks
- A new framework?
- Research approach
- Contribution
- Progress to date and outlook
What's (in) a framework?
- Structuring/logical grouping of factors
- Orthogonality
- Well-defined domains of variables
- Facilitates comparisons and assessments
Problems with existing frameworks
I have tried [Rogers, 2003], [Wejnert, 2002], [Frambach and Schillewaert,
2002], [Gallivan, 2001], [Chau & Tam, 1997], [Saga & Zmud, 1994], [Fichman,
1992], [Davis, 1986], [Kwon & Zmud, 1987], [Tornatzky & Klein, 1982], and
a few others…
Common issues:
- no prior knowledge of innovation required
- low degree of network externalities
- (lack of) orthogonality
- authoritarian decisions
Need for a new framework
It seems I need a specific framework for diffusion in
- voluntary social systems
- with members making "unreasonable" choices
- taking part in complex processes
- having great network externalities
But:
One does not discard a framework by looking at it, one discards a model when
a better one has taken its place [Kuhn, 1970]
Thus, a bottom-up approach.
Overview
- Contribution
- Progress to date and outlook
Research approach
Four phases of research:
- Collection of factors (grounded theory)
- Design of an inital framework and Delphi approach to improve it
- Community survey to sort and augment the factor set
- Application and verification of the framework
Phase 1: collection of factors
Sources:
- Experience
- Interviews
- Forums and mailing lists
- Wiki
- Literature
Strauss & Corbin [1998], because of:
- axial coding
- experience does not prevent objectivity
- encourage use of non-technical literature/resources
Phase 2: framework design
- Initial ordering of factors into framework
- Delphi study to improve framework and realign factors
- ~30 experts from different fields, compensated
- Anonymous or not?
- Use simple, known tools: mailing lists, wiki, chat
Possible outcome: an existing framework fits
Overview
- Debian
- Diffusions
- Research approach
- Progress to date and outlook
Contribution
- A framework to assess diffusions in Debian
- (no suitable framework seems to exists)
- maybe suitable to other FLOSS projects; if not, then can be used to
compare projects
- Improved workflows in Debian
- A new survey technique suitable to hackers
- Possible new insights into volunteer management
Overview
- Debian
- Diffusions
- Research approach
- Contribution
- Progress to date and outlook
Progress to date
I have been considering the subject since 2003. The output so far has been
mostly non-academic: in addition to numerous discussions and seven
interviews, I
Outlook
- Phase 1 mostly completed
- Phase 2 to start in late March
- Expected completion: by summer 2009