Subject: pre-purchase production: community reconsidered
From: Thomas Lord <lord@emf.net>
Date: Tue, 09 Oct 2007 10:01:03 -0700

Sometimes an open source firm will host a project
and invite public participation.  Gnome, Subversion,
Ubuntu, and many, many others provide examples.

How can such firms best interact with the community
at large?

Let's consider that question with respect to a particular
problem that commonly comes up:  the need for variable
rates of labor applied to bug fixing.

When the production release of a product is fairly
stable and active development work is building out
new features, the need for bug-fixing is reduced. 
Labor is needed for other things, like writing large
chunks of new code.

On the other hand, when a new production release
is almost ready -- when it's "crunch time" -- the
labor need is *mainly* for bug-fixing.

I know of three main ways that firms address the
need for variable amounts of bug-fixing labor:

1) Internal supplements:  true employees are directed
    to divert their own time to bug-fixing.  That can
    work, by brute force, but it is expensive to maintain
    an internal work-force that can be this flexible.

2) Bounties:  occasionally tried -- attach a price tag to
    each bug in an issue tracker and pay the first
    good patch for each.   This is cute but, in almost
    every case, by the time the bug budget is divided
    among bugs, and each transaction separately handled,
    the prices are *so low* that they are symbolic
    honorariums, not competitive wages.

    Buying bug-fixes one by one puts the transaction
    friction in the wrong place.

3) Exhortation: often tried -- remind the volunteers that
    they can take great pride and will prove themselves
    if the firm's product is released on time and in good
    shape.   The social ugliness of this approach aside,
    pats on the head are not competitive wages so this is
    is a highly volatile approach that tends to attract the
    least qualified labor.   It is surely a bad idea for
    firms to plan to get ahead in a competition for
    "who can be the most charismatic to volunteers?"

Pre-purchases offer a much more natural model:

At crunch time, a firm can simply double or triple its
rate of pre-purchases for bug-fixers.   Post release,
the budget drops back down.

Firms can't do that without preparation.  They can't
just drop onto craigslist and say "Hey, we're buying
pre-purchases for project X."   They still have to
build relationships and identify plausible candidates
who they would want to buy from....

But, when crunch time approaches, the firm can
send an email (or similar) to volunteer's whose
help they'd like, asking those volunteers to make
a pre-purchase offer for the bug-fixing period.

This is not, by the way, a consulting model.  In
a consulting model, customer and seller enter into
highly complex obligations mutual liabilities. 
Forming such contracts greatly raises the transaction
costs.

Pre-purchases are more of a "walk-away" environment:

The pre-purchase model puts the labor pool in a potentially
paid but highly uncertain environment.   Labor demand
is cyclical and shifts from area to area.   Labor gets
no security guarantees from their employers.

In exchange, labor incurs nearly no liabilities in this
system.   They do not promise specific work, only that
if work gets down they'll give a copy to the customer.


-t