From: barmar@think.com (Barry Margolin)
Newsgroups: comp.org.eff.talk,misc.int-property,alt.suit.att-bsdi,comp.unix.bsd
Subject: Re: Patents:  What they are.  What they aren't.  Other factors.
Date: 29 Sep 1992 20:58:03 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
Distribution: usa
NNTP-Posting-Host: telecaster.think.com

In article <5a+pn5l.mcgregor@netcom.com> mcgregor@netcom.com (Scott Mcgregor) writes:
>In article <id.W3NT.1JL@ferranti.com> peter@ferranti.com (peter da silva) writes:
>>software systems are orders of magnitude more complex than any other class of
>>inventions. 
>This is simply not true. Complex factories and refineries have
>thousands, even hundreds of thousands of components in them. Aircraft
>and automobiles, even the physical electronics in computers are
>increadibly complex in terms of their smallest patentable components
>and processes.

Many of the components of these factories, aircraft, and automobiles are
computers, which contain the complex software systems that Peter was
referring to.

Computer systems tend to have greater overall complexity than many physical
systems because they aren't limited by many physical constraints (software
on embedded systems sometimes have memory limitations, but with decreasing
memory costs those are also becoming less noticeable).  There may be
physical limits to the height of buildings, the speed of engines, etc., but
there are no analogous limits to the capabilities of computer programs, and
software designers are generally limited by their mental abilities (and
often pushing those limits) rather than fundamental limitations of the
medium.

>A *simple* program is thousands of lines long, and each line has
>>the potential of violating a patent. How do you determine if it does or not?
>>Perform a thousand patent searches? 
>
>No, it is much easier than that, do one search of a patent database
>looking for one thousand things.  And this is a lot easier than a
>single patent search because in this case you are merely looking for
>the presence of a patent, not trying to prove the lack of prior art by
>its absence.

In order to do a patent search you have to know what you're looking for.
This means that you have to recognize that some particular line or
subroutine of your code might be patentable and guess the words that the
potential patent holder may have used in his patent description (I'm not
sure, but I don't think the word "window" appears much (maybe not at all)
in Pike's backing store patent -- he uses the term "layer").

Multiply this by hundreds of subroutines and thousands of lines, each
potentially patentable, and there's simply no way to manage it.

>  Or you could adopt risk reduction strategies of other
>industries: Use algorithms that are published (Knuth, et al) that
>makes them part of the prior art. 

Nowhere in Miller and Wegman's paper on their modification to Lempel-Ziv
compression did they say that their algorithm is patented.  Should I do a
patent search to find out everything that Knuth patented, so I know which
of his algorithms are OK to use (actually, anything in Knuth's "Art of
Computer Programming" is probably OK, as the patents would have expired by
now)?

-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
Newsgroups: comp.org.eff.talk