Subject: Economics of software distribution
From: bfox@GNU.AI.MIT.EDU (Brian Fox)
Date: Wed, 17 Mar 93 10:27:56 PST


Hi.

As far as I know, the vast majority of free software was developed
with subsidized funding.  This includes university funding, either
direct or indirect, indirect government funding, and private funding.

Thus, I conclude that in order to write free software, you must be
subsidized.

Remember, the "free" in free software means the freedom to modify and
redistribute the software.

FSB's need to remember that they are not individual programmers who
will be paid for writing software by the hour.  In fact, programming
doesn't particularly pay much in the FSB model.  What does pay is
delivery.

For example, one might have a distribution method which provides
steady income so that the programming effort can be supported.

In order to make someone pay to receive some free software you must
provide a service worth the cost.  One method of doing this is to make
it easy to get the software, and charging a little more for it.

A distribution service could sell a free software suite subscription
on inexpensive media which would be delivered 4 times a year.  You
could charge $100.00 to $200.00 for this service, and still make a
reasonable amount of profit.  Or you might supply a 1-900 number
explicitly for downloading the most recent versions of software.  Or
both.  The proceeds from the distribution is what you use to fund
additional software development.

Remember, the price of distribution that you charge is only too much
when the users receive less value from your distribution than from
another source of distribution, such as copying older versions of the
software from a friend.

One requires funding in order to support free software as well.  A
1-900-GNUBUGS number which charged a high fee might or might not
return well on the investment.  The idea being that by calling the
number to report the bug, the user is supporting the programming effort
required to fix the bug.

I guess the most important point that I am making is:

	You cannot expect to be paid large amounts of dollars from a
	single source to write a freely distributable program.

If you can talk a group of money-wielders into contributing jointly
towards the creation of free software, you will be in good shape.  But
we all saw Cygnus fail at doing just that when GCC needed to be ported
to Solaris -- it isn't the Cygnus did a bad job of presentation; on
the contrary, I thought they did an excellent job.  The problem was
that people expected the distribution of the software to be free, so
why should they pay for the development?  Someone else will pay, and
we'll get it for free.  This turned out to be the case even when
Cygnus offered support and early delivery incentives to those people
who contributed to the development.

Perhaps Cygnus should have offered a 1-900-PORTGCC number for people
to call as well.  Each call could have cost $5.00, and the money
received from those calls would have helped to fund the port.

So, I think that we must stop separating distribution from creation;
we have to realize that in free software, writing the program is pure
speculation, and delivering and supporting the program is the way to
generate steady income.

Brian Fox