*BSD News Article 6684


Return to BSD News archive

Xref: sserve comp.org.eff.talk:9515 misc.int-property:600 comp.unix.bsd:6732
Path: sserve!manuel.anu.edu.au!munnari.oz.au!uunet!cis.ohio-state.edu!ucbvax!virtualnews.nyu.edu!brnstnd
From: brnstnd@nyu.edu (D. J. Bernstein)
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.
Message-ID: <20076.Oct1723.59.0492@virtualnews.nyu.edu>
Date: 17 Oct 92 23:59:04 GMT
References: <1992Oct9.002901.14966@netcom.com> <id.3QYT.II3@ferranti.com> <1992Oct11.032226.1534@netcom.com>
Organization: IR
Lines: 36

In article <1992Oct11.032226.1534@netcom.com> mcgregor@netcom.com (Scott Mcgregor) writes:
> And that is the imaginary scenario the LPF paper asked us
> to consider--that somehow an algorithm used in one specialized are
> would be granted patent status and affect people in other application
> areas who would never have seen the patent in a search because the
> application areas are unrelated.

It's not imaginary.

For fun I looked up ``patent'' in the index to Knuth volume 3. The book
contains literally thousands of programming techniques with hundreds of
references. Knuth lists several patents, mostly on special sorting
techniques. (By the way, this provides good evidence that programming
has developed as a field with barely any help from the publishing
mechanism of patents.)

Certainly someone who uses an in-memory sorting network isn't infringing
upon the patent on read-forward oscillating sort, and vice versa. But
are these ``application areas''? Of course not. You might end up
reinventing either algorithm, whether you're writing a word processor, a
spreadsheet, or a drawing program.

Here's a very specific example. Many years ago I wrote a word processing
program which (try not to look too surprised) _stored data on disk_.
Believe it or not, when I described the purpose of my program, I didn't
say ``storing data on disk.'' To be sure, it _did_ store data on disk,
but if I had known about software patents at the time I probably would
not have thought to look up patents on ``storing data on disk.'' I
certainly would not have thought to look up patents on ``transmitting
data between machines with different byte orders,'' though my program
did use a portable file format which, among other things, didn't depend
on the byte order of the machine. As you may know, patent 4956809 covers
the use of a fixed byte order to transmit data between machines. This is
exactly the situation which Scott calls ``imaginary.'' End of example.

---Dan