Method diffusion in large open-source projects
I'm an alien, I'm a computer scientist in the world of sociology
DebConf 7, Edinburgh, Scotland
21 Jun 2007
Definitions
Method diffusion in large open-source projects
- method
- technique, tool, procedure
- diffusion
- introducing with the goal to cause adoption
- large project
- possessing a high inertia and complex self-dynamics
Research basis
- Debian's methods evolved over time
- high interdependence of methods
- stagnating efficiency in day-to-day activity
- improved methods exist, but volunteers cannot be told to use them
- under what circumstances would volunteers adopt new methods?
Hypothesis
There exist characteristics of innovations and strategic considerations of
their diffusions which directly affect the rate of adoption in volunteer
projects
Knowledge of these characteristics enables engineered diffusions to
improve efficiency of cooperation
Research approach
two-phased approach:
- identification of attributes of successful diffusions, formalisation of
guidelines (case studies, diffusion research)
- application & verification of guidelines (participatory action research)
Phase 1: guideline definition
- case studies
- analyse previous diffusions
- interviews (experience & conceptual)
- usage statistics (from repositories, mailing lists, installation reports)
- (survey data)
Phase 1
The "guidelines" highlight those traits of a diffusion, which have the highest
impact on adoption rate.
Phase 2: implementation
- participatory action research
- explain successful/failing diffusions
- predict success of ongoing/planned diffusions
- engineer diffusions for success
Conceptual framework
skeletal structuring of attributes to facilitate comparisons of diffusions
existing frameworks from sociology and management science:
- voluntary, independent adoption decisions by individuals
- authoritarian, concerted diffusions
OSS more complex: strong network externalities, ideology, voluntary/cabal
Framework example: Rogers' diffusions of innovations
- innovation
- relative advantage, compatibility, complexity, verifiability, visibility
- communication
- hard vs. soft information, mass vs. interpersonal medium, homophily
- social system
- structure, communication arrangement, social norms, opinion leaders, types
of decisions
- consequences
- desirability, direct vs. indirect, anticipated vs. unexpected
Problems with classical diffusion frameworks
- prior information not required
- low degree of network externalities
thus have to design my own framework, cherry picking from others
very time-consuming
Ideas for OSS-specific factors
- method of development, language chosen
- length of release cycles
- flexibility, accessible for reinnovators
- documentation
- forum activity
- age of bugs and responsiveness of author
- manifesto
- opinion leaders
- multiple interfaces
The adoption process
According to Rogers:
- knowledge
- persuasion
- decision
- implementation
- confirmation
S-shaped curve of adoption speed, success defined by steepness of gradient
Guidelines
- not entirely sure what they will be yet
- ideal would be a list of factors, sorted by degree of impact
- requires large amounts of data
- non-qualitative and not really feasible
- think of them as a HOWTO
Engineering for success
- not searching a method to engineer diffusions of just any tool
- method has to solve problems
- assuming a tool maps a sensible workflow, the guidelines will help optimise
its diffusion (which would happen by itself)
Implications on management
- treat employees as volunteers
- motivation from (perceived) autonomy
Thank you
Thank you for your attention!