Subject: Re: Reasons why being proprietary hurts you more than it helps
From: Russell Nelson <nelson@crynwr.com>
Date: 5 May 1999 15:22:16 -0000

[ take two.  Comments? ]

Resolved: that documenting your hardware, and providing Open
Source(tm) drivers, generates enough value to overcome the risk that
your intellectual property will be stolen.

You're in business to make money.  You engage in activities that
advance you towards that goal, and refrain from activities that
don't.  Therefore, the only sensible reason for holding information
(drivers, and hardware documentation) proprietary is to protect your
business from activities which would reduce its profit.

One reason is simply because you can -- because property rights exist.
Another is because it is traditional and expected.  Another reason is
because someone told you to -- perhaps an investor or other trusted
party.  But these reasons aren't sensible unless they advance the goal
of making money.

The big fear of any company is competition.  Every good capitalist
wants a monopoly on their own products.  Any hook that keeps out the
competition has been used, and holding information proprietary is one
of them.  However, there is no such thing as a free lunch, and keeping
information proprietary has its cost.

When you don't tell people how to use your product in the manner
*they* wish, you are imposing a cost on them.  You are requiring them
to abandon their chosen method of using your product, and pick up your
method.  This has a learning curve associated with it, so they will
not buy your product as quickly as they might.  It may make their use
less efficient, so that they cannot afford to buy as much of your
product.  It may drive them to your competition, who might also be
holding information proprietary, but whose approved method is more in
line with the customer's chosen method.

Many companies are proud of their engineering, and rightfully so.  It
is a mistake, however, to presume that you know the customer's
business as well as the customer.  Some customers may have innovative
and profitable uses of your hardware that you haven't anticipated.  If
you hold information about the product proprietary, you will never
know about these customers, because they will simply not exist.  Yes,
you can use a nondisclosure, but there are costs and risks to using
them.  If you execute a nondisclosure with everyone, then what are you
not disclosing if everyone can find out about it?  In the world of
science, many discoveries have been casual accidents.  Nondisclosures
get in the way of those accidents.

Other times a customer needs to make your product work in their
environment, and alas, your engineering has a flaw.  The less you tell
that customer about your product, the less likely they are to be able
to fix the flaw for you.  Many, many times I have had packet driver
bugs fixed, not just by amateur hackers, but by paying customers.  The
value of even a single fixed problem is inestimable.  It is extremely
difficult to decide which customers are able to fix bugs.  Only
universal nondislosure can solve that problem.  And you'd be surprised
by who fixes some problems.  Someone in MIS at (a national automotive
repair chain) whom I had never heard from before, sent me a bug fix
for the token ring packet driver which allowed it to run under Netware
as well as TCP/IP.

So far, I have assumed that not voluntarily disclosing information
actually succeeds in keeping customers (aka potential competitors)
from learning anything they need to know about your product.  This is
not the case.  I can assure you that "no reverse engineering"
shrink-wrap license terms are universally ignored by everyone
concerned.  The first thing an engineer does is whip out the reverse
compiler to see how the code operates.  This is not hearsay.  When I
was consulting for (a silicon valley fabless design shop), I actually
saw a reverse-compiled listing of the 3C509 driver less than a week
after 3Com started distributing it, with notes as to how the product
worked.  I produced my own source of MS-DOS which could be modified
and assembled.  I know someone else who did the same thing.

Customers have been known to reverse-engineer products also, but they
usually have less economic incentive.  For a while, Diamond held back
their variable VGA clock interface as proprietary.  The information
itself was widely available anyway.  Connectix didn't want to release
programming information for their Quickcam, but users
reverse-engineered it.  Eventually they released programming
information after the horses had left the barn.

The benefits, then, of protecting intellectual property through trade
secrets are slim compared to the costs.  A company that wishes to
compete with you must make substantial investments in mechanical and
electrical engineering, plastic molds, certification, prototyping,
production, sales, and marketing.  Another few thousand spent on the
due diligence of reverse-engineering the competitor's products is lost
in the noise.

There is no track record which associates proprietary documentation
and drivers with greater success in the marketplace.  3Com gives away
information on how to program their network adapters.  So does SMC.
So does Intel.

Hardware manufacturers, please document your hardware, and put that
documentation up on your web site.  Please use an Open Source(tm)
license on your drivers, and put them up on your web site.

-- 
-russ nelson <rn-sig@crynwr.com>  http://crynwr.com/~nelson
Crynwr supports Open Source(tm) Software| PGPok |   There is good evidence
521 Pleasant Valley Rd. | +1 315 268 1925 voice |   that freedom is the
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   |   cause of world peace.