Subject: Re: Thoughts on GPL
From: Keith Bostic <bostic@bsdi.com>
Date: Wed, 18 Feb 1998 15:20:32 -0500 (EST)

> Jonathan Shapiro writes:
>> My comments to Kragen were written in haste, so I'ld like to restate them
>> more carefully.
>>
>> I asserted that GPL does not support innovation.  To make a long story
>> short, this is because it provides no means to recover development costs on
>> basic innovation.

I believe this is the wrong way to ask this question --
"innovation" isn't the issue, "large scale engineering costs"
are the issue.  The engineering costs can result from trying to
create or implement an innovative idea, but they can also result
from bringing a perfectly simple idea to market.  "Innovation"
is just a  small part of the engineering costs of creating a
product.

My standard example: everybody knows how to write a B+tree,
everybody knows how transactions work, everybody knows how to
write shared memory caches.  That said, writing a database
system supporting transactions using B+trees above a shared
memory cache, takes many man-years of good engineering talent.
Once you've designed and tested the interface, written the
package and test suite, written all the documentation and so
on, you've made a serious investment of time and money.
However, there's nothing about it that you could patent.

> (L. )Peter Deutsch has made the same point  There are several
> mitigating factors:
>
> 1) If your innovation is protected by a patent, then the
> copyright/license on the implementation doesn't really matter, does
> it?  I think later versions of the GPL prohibit use of patented
> software, but you can use an earlier one with no problems.

Patents are expensive and time-consuming to get.  Regardless,
getting one doesn't repay your engineering costs, and further,
there is no reason to assume that patent-protectibility is
proportional to engineering costs.  Again, I want to stress that
"innovation" isn't the issue, engineering costs are.  (My take
is the innovation is *more* likely in a GPL'd world, but that's
another discussion.)

> 2) Without patent protection, then you only have market forces
> protecting you, e.g. brand recognition, market entry cost, bundling,
> time to market.  Yes, anyone can reverse-engineer the idea and use it
> against you, since reverse-engineering is legal.  But even if they do, 
> you still have a head-start on them.

If you've used the GPL on your application, they can do more
than reverse engineer it -- they can take your work, wrap a
support and marketing organization around it, and sell it.

Back to my standard example: you spent N man-years writing your
software, and then you GPL it.  Many corporations already have
good marketing and support organizations, so one takes your
work, put their label and marketing/support behind it, and
they're going to make the money, not you.   What you brought to
the party, as a good software engineer, was the engineering and
an understanding of how to build complex software.  That's a
completely different skill set than the one required to market
a product.

Even if your work isn't highjacked by someone, you aren't going
to even begin to recover your engineering costs by selling
support and/or enhancements.  I won't justify that statement
here, but believe me, it's absolutely correct.

Finally, to sell a product you have to find or build a marketing
organization, a sales organization, and all the other trimmings.
Expecting to convince your financiers that you're going to be
able to survive, when you give away your only product, is not
a good plan.  This is shown in the current GPL market: what
software gets GPL'd?  Software that companies either aren't
selling or are giving away to promote their real product (e.g.,
device drivers) or software written by people who want to write
software and like giving it away for whatever reason.  People
and/or companies that write software for a living don't GPL
their software, or if they do, they find some way to circumvent
the GPL.

For example, Peter Deutsch has addressed this problem by lagging
his GPL releases, i.e., after selling it for a year or so, he
releases his code under the GPL.  I would prefer another
solution: lagging the software costs the free community because
we don't get the latest-greatest software, and it costs him
because he doesn't get the support of the free community for
his software.

--keith