Subject: Re: How accurate is Metcalfe's law? (Was: Ximian software)
From: Ian Lance Taylor <ian@airs.com>
Date: 05 Jan 2002 15:01:49 -0800

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> >>>>> "Ian" == Ian Lance Taylor <ian@airs.com> writes:
> 
>     Ian> What I am claiming is that software licensing is not related
>     Ian> to that time in a meaningful way.
> 
> Ah, you've rediscovered the "Diamond-Water Paradox", that's all.  This
> is true of _all_ trade.  Some goods are cheap to produce (found gems)
> but extremely valuable, resulting in huge unearned profits for the
> lucky finder.  Other goods, production cost much more closely matches
> the revenues (retail groceries).  Fair?  I guess not.  But it's
> nothing special to software.

I do understand that.  It's not what I meant.

I'll try again.  I believe that capitalism's strength is allocating
scarce resources efficiently.  It does this by arranging for the price
to go up when the supply is low.  Therefore, capitalism is
particularly effective when the price is tied to the supply.  It
encourages people to make more supply available, and to become more
efficient in using the supply.

If we assume that the main supply for software is developer time (this
is an unproven assumption), and we assume that the goal is good
software, then it would be good to look for a way to tie the price of
software back to developer time.

Since the price of software is not so tied, we as a society are not
getting the best possible software.  Instead, the price of software is
tied to licensing.  This encourages not good software, but licensable
software.  It's possible that the two are the same, but I consider
that to be unlikely.  For example, it encourages companies to maintain
private lines of development, and to not publish new ideas or share
new techniques.

In other words, I suspect that software licensing optimizes the wrong
thing for maximal benefit to society.  And since software licensing
relies on a wholly artificial property right granted by society, this
deserves to be questioned.  To cite the obvious example, Bill Gates
has become very very wealthy by selling relatively shoddy software.
This happened because his revenue was based on license rather than on
quality developer time, and that happened because society granted him
a property right in something which is not obviously property.

I don't have any solution here.  But I don't think we as a society
should simply forget about this issue, in case we do come up with a
solution.

Since you mentioned diamonds, I'll point out that my discussion could
be completely flawed if software is more like diamonds.  Diamonds are
valuable because they are both desirable and rare, so the price goes
up.  Although the discovered of the diamond makes a large profit, it
is quite possible that there are many other people searching for
diamonds who do not find them.  Certainly that is what one would
expect, since the high price would encourage people to search for
them.  (The real story with diamonds is of course more complex, since
there are only a few regular producers of natural diamonds and they
manipulate the market to keep the price high.)

Software would be more like diamonds if the main value in software was
discovering a key idea.  In that case, we should not optimize for
developer time, we should optimize for bright ideas.  In that case,
software licensing is a more reasonable approach.

However, I'm a programmer, and I don't believe that software is like
that.  Although there are a few exceptions, most good ideas in
software are obvious (this is of course why the patent system is badly
broken).  I believe the work really is in the implementation, the
polishing, the testing, etc., not in the bright idea.

>     Ian> I'm not sure what you mean when you say that software
>     Ian> licensing is the only way to link developer time to user
>     Ian> value.  That statement seems obviously false--consider
>     Ian> contract programming for free software, as in what Cygnus
>     Ian> did--so I'm not sure what you mean by it.
> 
> For specific products where there's a single user you can hold to
> ransom for enough to justify the work, that's fine.  Fair?  I don't
> think so in general, although it may be when the buyers are mostly
> intermediate producers, as in Cygnus's (and Aladdin's) case.
> 
> But consider, I use lots of Cygnus products and have never paid them a
> thin dime.  How is my value linked to Cygnus's revenues?  That
> establishes the principle.
> 
> Now consider a program that is worth exactly $1 to every human being
> on the planet, and would cost $1 million of developer effort to
> produce.  I defy you to find a way to extract that $6 billion profit
> on a contract basis.  The transactions costs will sink you.  That
> establishes that it does matter that we find a way to link the values
> of all (or at least many) of the users to the developer's effort.

Sure.  However, most software is not like that.  As we just discussed,
there are only a few applications which most people use.  Most
software is specialized to a single user, or a small number of users.
In fact, as ESR likes to mention, most software is developed for in
house use.

In other words, in terms of the amount of time spent by software
developers, the products which are worth money to a large number of
people are few.

Even for programs which are useful to a large number of people,
software licensing is not the only way to link developer time to user
value.  The ASP model, in which the program is made available as a
service accessible over the Internet, is another approach.  It is
entirely feasible to charge users $1 each time they use the service
(or simply the first time they use the service), assuming they have
preregistered with a credit card or a Paypal account.

Ian