Subject: Re: Kent Beck's talk
From: Ben Tilly <btilly@gmail.com>
Date: Wed, 4 Aug 2004 16:54:25 -0700

On Wed, 4 Aug 2004 14:20:37 -0400, Adam Turoff <ziggy@panix.com> wrote:
> On Tue, Aug 03, 2004 at 11:54:49AM -0700, David Ascher wrote:
> > It struck me as strange that Kent was looking primarily (it seemed) for a
> > 'developer-as-artist' model rather than a 'developer-as-entrepreneur'
> > model, given his clear (and understandable!) need to pay for tuition.
> 
> Hm.  If Kent were looking for developer-as-artist, the talk would have
> been over before it began.  He sounded like he backed into that model
> because paying employees to work on open source makes no economic sense
> (in his estimation).

He's right in that.

You have to pay paying them for _something else_.

That something else might or might not be achieved by working on
open source.

> Kent said on more than one occasion that he was looking for a "whole
> job" that would let him be a "whole person".  I take that to mean that
> working on JUnit is incompatible with his desire to pull a steady
> paycheck for working a regular 40 hour workweek on a project like JUnit.
>
> There is no economic incentive for DeMediciCorp to be munificent and pay
> someone like Kent to work on some open source project like JUnit.  Which
> is especially weird, since there is economic value to be gained from
> JUnit itself.  It'd be nice to be the DeMedici tester-in-residence,
> but only because there's no value in paying a programmer to work on
> JUnit just to turn around and give it away.

It isn't weird.  _The Logic of Collective Action_ explained it decades
ago.  Large groups cannot generally be motivated to act in their own
collective self-interest except as a side-effect of some OTHER incentive.
The reason is that each individual correctly notes that their individual
action or non-action will not affect whether they get the public good, and
so decides not to act.

In fact footnote 68 of chapter 1 anticipates something like open source
software where one person *can* provision a large group at low enough
cost to be worth doing for personal benefit.  The conclusion is that then
the good would be provisioned, but at very suboptimal levels.

The same book also notes that there are often huge economic
opportunities for people who can figure out a better solution for
provisioning a public good than the ones currently used.

> The most important point I got from the talk was that something is
> _fundementally_ wrong here.  It could be reality, our model of reality,
> or Kent's grip on reality.  Personally, I think Kent is on to something.
> Fifteen years ago, if you built a better lint, programmers would be
> happy to pay an hour's wages for the tool, enough so that you could make
> a living and work on it full time for years to come.
> 
> That's not true anymore.

It wasn't true then either.

15 years ago if you created a better lint, you had to convince
people that your better lint was better than other people's
better lint before they paid.  And there was always the risk that
someone else would come out with a better lint still.  You could
make a living that way, but you needed more skills than just
being able to program.  You might not start with them, but you
would definitely develop them or lose money.

The flip side is that programmers would often pay for a tool
but wouldn't know how well it would actually work.  And when
it broke, there wasn't much you could do about it.  This was (and
is) a considerable source of inefficiency in the programming
world.

Today you can still follow the original business model - many
companies do - but it takes more work and skills than it used to.

Conversely many programmers have found that they prefer to
use open source tools.  As with any disruptive innovation, this
cuts into established ways of operating.  Despite the fact that
this creates new potential problems, I prefer the way that the
present is shaping up.

Cheers,
Ben