[comp.compression] Software Patents, Another Side

ritter@cactus.org (Terry Ritter) (06/28/91)

     After reading many postings on "software patents," I have yet to see
such patents treated positively.  Nevertheless, the issue is hardly as
clear as it may seem; there are reasonable arguments FOR software patents:

The Purpose of Patents
     Clearly, the original goal of the patent system was to convert hidden,
secret ideas and technologies into (eventual) public information.  Because
it is difficult to profit from ideas which have been openly published,
inventors were encouraged to publish through the grant of a limited-term
monopoly on the manufacture, distribution, and use, of their invention.

     When we look at the current state of software, it is true that some
amount of software is available as free source code.  However, it is also
true that MOST commercial software is NOT open.  Such work is either
available only as object code, or only after the execution of trade-secret
contracts.  Most programmers do not get to see the work itself (the source
code) and much of this work eventually dies when the product dies.  My point
is that the current state of software distribution has a lot in common with
the original purpose of a patent system.

Secret Software Inventions
     Because many new software ideas are expressed only in trade-secret
source code, they are not publicly disclosed, and thus do not prevent the
issuance of future patents on that invention.  Such patents are not some
wierd problem in the patent office, they are the natural result of keeping
our best and most-innovative software under a veil of secrecy.

     It seems passing strange that many programmers are willing to support
trade-secret protection (which hides new ideas for as long as possible), and
yet oppose patents (which are inherently public and have a limited term).
In practice, trade-secrecy is little protection against big firms, who have
the resources to disassemble a lot of code, but is fairly effective at
hiding information from independent individual programmers.  Thus, trade-
secrecy is a way for large software firms to share secret information
among themselves, to the exclusion of small firms and individuals.

Reward the Risk which yields Success
     It is difficult to imagine a process which would give more
"power to the people," than a monopoly on the result of work which an
individual defines and supports on his or her own.  It is similarly hard
to imagine what more the government could do to support a tiny business
beyond giving them a legal monopoly on the results of their research.

     I HAVE been irritated at the concept of largely tax-supported and
non-profit institutions acquiring patents on THEIR work; I think they
should publish, thus making the work available and the patent moot.
But this is a complex issue.

Software Patent Propaganda
     Many postings have used the fear-based arguments advanced by the
so-called "League for Programming Freedom."  These include the fear
that individual programmers will be unable to function in an environment
of patented ideas.  But patents are ECONOMIC entities; they almost never
impact the use of programs which individuals write for themselves.  And
when programmers work for a software firm, patent licensing is one
requirment among many in the normal course of manufacturing and
distribution.  So we are left with those programmers who wish to use
patented inventions in their own work, and then publish that work, without
arranging licensing agreements.

     We are talking about distribution, not research, nor individual use,
but rather sales (money), or impact upon sales (free distribution).  Can
book publishers pick up articles from writers and publish them or even
give them away (free) without compensating the authors?  Do we expect that
artists or musicians will be compensated for their work, EVEN IF the result
is given away (do radio stations pay ASCAP)?  Should programmers be treated
as legally inferior to writers, artists and other creative individuals?

The Hardware Model
     Hardware companies have had to live with hardware patents for many
years, but only rarely fail because of patent disputes.  Economic
conditions and management expertise are far greater risks than patent
issues, so why should we expect patents to hurt software firms?

     Would small software firms be better off without software patents?
Competition against the giants is a far greater risk and expense, and a
patent is exactly the sort of thing that could help restrain those giants.

Is Software Different?
     After considerable thought on the issue, based upon my professional
experience in and around the design of production microprocessors (I was
one of the architects of the Motorola MC6809), I no longer believe that a
software mechanism is different from a hardware mechanism in any real sense.
We are all familiar with the ability to trade-off software for hardware;
this should be a hint that we are dealing with a single entity.

     Software cannot do ANYTHING which the underlying machine cannot do;
software can only SELECT from those particular operations which have been
built into the physical machine.  Naturally, large numbers of such
operations, in particular sequences, can produce many strange and
wonderful effects.  But these effects are ONLY the consequence of the
selection of individual hardware operations.

     When software is executed, it must be present in a machine in a way
that the machine can sense (it is not writing on paper anymore).  Such
software is no longer literature, no longer intended for human reading,
but is specifically intended to control a physical machine.  The whole
point of software is to create a physical effect (even if only voltage
changes in some internal store).

     Software can be open literature in the same sense as mathematical
formulae; similarly, simply reading the schematics of a patented machine
is not a patent violation.  But, clearly, the main purpose of software is
to select hardware operations; that is, it is INTENDED to make actual
physical changes which may be like those of a patented hardware system.
Because of this, it is difficult to argue that software does not intrude
upon on the patent rights which we expect to apply to hardware.

Unsuspected Implications
     Because of the ability to trade software for hardware, any attempt
to outlaw "software patents" may lead to currently-protected hardware
mechansims being implemented in on-chip "firmware" or microcode, to
avoid hardware patent protection.  Thus, proposals to exempt software
may radically affect the entire system of patent protection for hardware
mechanisms, including the computer designs we know and love.

Further Reading
     My article "The Politics of Software Patents" is published in the
still-current May/June issue of Midnight Engineering (111 E. Drake Rd,
Suite 7041, Fort Collins, CO 80525, (303) 225-1410).  This may be worth
picking up, IF you are interested in a view from my side of the issue.

 ---
 Terry Ritter   cs.utexas.edu!cactus.org!ritter   (512) 892-0494

tarjeij@ulrik.uio.no (Tarjei Jensen) (06/28/91)

In order to make patents work as they are intended (as I understand it).
The basics must be in place. In computer science (software) this is still not
the case (in my opinion). Software is still plagued by the fact that current
practice is not documented (because it's obvious?).


Greetings from Norway,
--
// Tarjei T. Jensen - if it ain't broken, fix it anyway!
//    tarjeij@ulrik.uio.no       || +47 87 21138
// Working, but not speaking for the Norwegian National Library.

ted@cs.brown.edu (Tony Davis) (06/28/91)

In article <7792@cactus.org> ritter@cactus.org (Terry Ritter) writes:
>
>
>     After reading many postings on "software patents," I have yet to see
>such patents treated positively.  Nevertheless, the issue is hardly as
>clear as it may seem; there are reasonable arguments FOR software patents:

There may be reasonable arguments for software patents, but these are not
they.  There are many fundamental confusions about the current state of
the software industry and software patents expressed here.  I try to point
them out below.


>
>The Purpose of Patents
>     Clearly, the original goal of the patent system was to convert hidden,
>secret ideas and technologies into (eventual) public information.  Because
>it is difficult to profit from ideas which have been openly published,
>inventors were encouraged to publish through the grant of a limited-term
>monopoly on the manufacture, distribution, and use, of their invention.

Agreed.  However, the current arguments against software patents are
(1) they are currently being used to convert public information into
    proprietary information (the opposite of the stated goal), and
(2) software, like mathematics, should not be patentable.
It is argument (1) which raises the most heat.  I'm currently undecided
about argument (2).


>     When we look at the current state of software, it is true that some
>amount of software is available as free source code.  However, it is also
>true that MOST commercial software is NOT open.  Such work is either
>available only as object code, or only after the execution of trade-secret
>contracts.  Most programmers do not get to see the work itself (the source
>code) and much of this work eventually dies when the product dies.  My point
>is that the current state of software distribution has a lot in common with
>the original purpose of a patent system.

This is fundamental confusion (1).
Allowing software patents will not result in the publishing of source code.
In current patent practice, it is not applications which are patented but
algorithms.  The applications will use the algorithms, but they will remain
unpublished.  Only the patented material must be published.  It is not
required that something which USES a patent be published.

>Secret Software Inventions
>     Because many new software ideas are expressed only in trade-secret
>source code, they are not publicly disclosed, and thus do not prevent the
>issuance of future patents on that invention.  Such patents are not some
>wierd problem in the patent office, they are the natural result of keeping
>our best and most-innovative software under a veil of secrecy.

This is fundamental confusion (2).
It is not the case (as far as I've heard) that the material of software
patents is unpublished and therefore available for patenting.  Considerable
anger is raised because the patent office is granting patents on algorithms
that everyone already knows and uses.  It is not enough that something
be unpublished to be patentable.  It must also be unknown as in 'not obvious
to a practicioner (sp?) knowledgable in the field'.

>     It seems passing strange that many programmers are willing to support
>trade-secret protection (which hides new ideas for as long as possible), and
>yet oppose patents (which are inherently public and have a limited term).
>In practice, trade-secrecy is little protection against big firms, who have
>the resources to disassemble a lot of code, but is fairly effective at
>hiding information from independent individual programmers.  Thus, trade-
>secrecy is a way for large software firms to share secret information
>among themselves, to the exclusion of small firms and individuals.

This is not at fundamental confusion, but there are several minor confusions
here.
Software is not protected because it is difficult to disassemble.  It is
easy to disassemble.  Any knowledgable programmer can do it, however, it
is usually not worth their time.  If someone wants a program they buy it
or steal it.  If they want the ideas in a program, currently they are
free.  Software patents make the ideas costly.


>Reward the Risk which yields Success
>     It is difficult to imagine a process which would give more
>"power to the people," than a monopoly on the result of work which an
>individual defines and supports on his or her own.  It is similarly hard
>to imagine what more the government could do to support a tiny business
>beyond giving them a legal monopoly on the results of their research.

This is fundamental confusion (3).
Monopoly on the results of their research gives small firms nothing because
in general they do not do research.  In general, they write programs which
involve no algorithmic innovations whatsoever. (In general, large corporations
do research, but in general they also write programs which involve no
algorithmic innovations whatsoever.  However, large corporations have the
resources to try to protect their work with patents whether it is innovative
or not).  Currently they can just put in their time and sell the result.
For the smallest firms (individuals) where the cost of time can be
discounted entirely (i.e., its work done in spare time, so whatever can
be gotten for it is worthwhile), the cost of patent searches and patent
fees would be the single largest cost (if the giants are even willing to
grant a license to an individual).  Even if the cost might be surmountable,
the bureaucracy (sp?) may not be.  Small firms have a big advantage in
response time.  If they must disclose to the giant corporation what they
want to use the giant's patent for, the giant is free to delay the granting
until the giant's own programmer's have had a chance to duplicate the small
company's product.

>Software Patent Propaganda
>     Many postings have used the fear-based arguments advanced by the
>so-called "League for Programming Freedom."  These include the fear
>that individual programmers will be unable to function in an environment
>of patented ideas.  But patents are ECONOMIC entities; they almost never
>impact the use of programs which individuals write for themselves.  And
>when programmers work for a software firm, patent licensing is one
>requirment among many in the normal course of manufacturing and
>distribution.  So we are left with those programmers who wish to use
>patented inventions in their own work, and then publish that work, without
>arranging licensing agreements.

This is fundamental confusion (4).
You seem to assume that individual programmers work for some large company.
The individual programmers the League for Programming Freedom talks about are
just individuals.  Individuals, however, who may become very significant
economic entities if they can sell their work.  Bill Gates, the founder of
Microsoft is now worth several BILLION dollars because he was able to write
(or gain the rights to, I don't know) a single program, dos.  Mitch Kapor and
his partners made hundreds of millions of dollars on the back of a single
program, Lotus 1-2-3.  However, many who would like to follow such dreams
are now angry because it appears that the patent office is willing to grant
patents on so many things that these and all other programs would become
unmarketable without costly and possibly unobtainable patent licenses.

>     We are talking about distribution, not research, nor individual use,
>but rather sales (money), or impact upon sales (free distribution).  Can
>book publishers pick up articles from writers and publish them or even
>give them away (free) without compensating the authors?  Do we expect that
>artists or musicians will be compensated for their work, EVEN IF the result
>is given away (do radio stations pay ASCAP)?  Should programmers be treated
>as legally inferior to writers, artists and other creative individuals?

This is fundamental confusion (5).
Writing, music, broadcasting, and publishing are all covered by copyright
law not by patents.  Software has always been copyrightable.  That software
falls into this same category is an argument that software should not
be patentable.

>The Hardware Model
>     Hardware companies have had to live with hardware patents for many
>years, but only rarely fail because of patent disputes.  Economic
>conditions and management expertise are far greater risks than patent
>issues, so why should we expect patents to hurt software firms?
>
>     Would small software firms be better off without software patents?
>Competition against the giants is a far greater risk and expense, and a
>patent is exactly the sort of thing that could help restrain those giants.

This is a restatement of fundamental confusions (3), (4), and (5).


>Is Software Different?
>     After considerable thought on the issue, based upon my professional
>experience in and around the design of production microprocessors (I was
>one of the architects of the Motorola MC6809), I no longer believe that a
>software mechanism is different from a hardware mechanism in any real sense.
>We are all familiar with the ability to trade-off software for hardware;
>this should be a hint that we are dealing with a single entity.
>
>     Software cannot do ANYTHING which the underlying machine cannot do;
>software can only SELECT from those particular operations which have been
>built into the physical machine.  Naturally, large numbers of such
>operations, in particular sequences, can produce many strange and
>wonderful effects.  But these effects are ONLY the consequence of the
>selection of individual hardware operations.
>
>     When software is executed, it must be present in a machine in a way
>that the machine can sense (it is not writing on paper anymore).  Such
>software is no longer literature, no longer intended for human reading,
>but is specifically intended to control a physical machine.  The whole
>point of software is to create a physical effect (even if only voltage
>changes in some internal store).
>
>     Software can be open literature in the same sense as mathematical
>formulae; similarly, simply reading the schematics of a patented machine
>is not a patent violation.  But, clearly, the main purpose of software is
>to select hardware operations; that is, it is INTENDED to make actual
>physical changes which may be like those of a patented hardware system.
>Because of this, it is difficult to argue that software does not intrude
>upon on the patent rights which we expect to apply to hardware.

[Tony> Originally I had labeled this fundamental confusion (6), because: ]
That two things have the same power does not mean they are the same thing.
Hardware, software, and mathematics can all multiply numbers.  The
hardware process is patentable, the mathematical process is not, should
the software process be patentable?  Hardware, software, and accounting
practice can all manipulate spreadsheets.  The hardware process is patentable,
the accounting process is not, should the software process be patentable?

[Tony> Then I wrote the next paragraph which suggests your argument has ]
[Tony>  some validity.                                                  ]

This is related to confusion (5) because confusion (5) represents
the opposite of your argument here.  Here you argue that 'software is
just like hardware' therefore it should be patentable.  After correcting
confusion (5) we can argue that 'software is just like other creative
processes' therefore it should not be patentable.  Personally, I haven't
decided which of these two arguments has the greater weight.

[Tony> On final consideration, I remain undecided about whether software ]
[Tony> should be patentable, because additional problems make the        ]
[Tony> 'software is like hardware' argument un-compelling.  The problem  ]
[Tony> is semantically deeper than that:                                 ]

On other points:
In fact, software can do things that the underlying hardware cannot do.
Software can draw a rabbit on a screen, hardware cannot.  That the software
draws the rabbit by manipulating the hardware does not give the hardware
the ability to draw the rabbit.

It is not the purpose of software to select hardware operations.  The
purpose of software is to accomplish a goal.  It is the purpose of
hardware (and operating systems, and compilers, and other tools) to
provide a framework in which accomplishing that goal (and many other
goals simultaneously) is easy.

These objections may seem like word games, but I don't believe they are.
I think the arguments about software patents could be settled if someone
could come up with a characterization of software on which we could all
agree.  However, I have my suspicions that software simply cannot be
characterized in such an 'agreeable' manner.

>Unsuspected Implications
>     Because of the ability to trade software for hardware, any attempt
>to outlaw "software patents" may lead to currently-protected hardware
>mechansims being implemented in on-chip "firmware" or microcode, to
>avoid hardware patent protection.  Thus, proposals to exempt software
>may radically affect the entire system of patent protection for hardware
>mechanisms, including the computer designs we know and love.

This is fundamental confusion (6).
Lack of software patents does not endanger hardware patents.  Patents have
long been written to be as wide as possible.  Patent applicants would like
to get a patent on 'any device that does such and such'.  Patent law
does not allow applications quite that broad.  However, it does allow
patents on 'any device that does such and such in a manner similar to this
and that'.  Through these latter kinds of patents it is well established
that one cannot get around hardware patents by moving algorithms into
firmware without the hardware itself also being substantially different.


Tony Davis
ted@cs.brown.edu

ts@cup.portal.com (Tim W Smith) (06/29/91)

< law not by patents.  Software has always been copyrightable.  That software
		       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Huh!?  First of all, what do you mean by "always"?  15 years ago in
the United States no one knew if software was copyrightable.  Until
Congress changed the copyright law to explicitly include software,
the copyrightability or lack thereof was being fought out in several
courts.

Second of all, what do you mean by "software"?  Source code?  Object
code?  Executable code in ROM?  Executable code on disk?  I believe
that all of these had to be hashed out in the courts.

One can make a good argument that copyright is *not* appropriate for
software other than source code.  Compare a ROM to a cake.  The source
code for the software for the ROM is much like the recipe for the cake.
You can copyright the source, just like you can copyright the recipe,
but you should not be able to copyright the ROM, just like you can't
copyright the cake itself.  By this argument, anyone should be free to
duplicate ROMs as long as they don't use a copy of the actual source
code as part of this process.

					Tim Smith

ritter@cactus.org (Terry Ritter) (06/29/91)

>From: ted@cs.brown.edu (Tony Davis)

Although I would prefer a non-confrontational discussion, I should
point out that this is difficult in an environment where the responses
are in the nature of:

>This is fundamental confusion (1).



>Allowing software patents will not result in the publishing of source code.

Well, I'm afraid not either, but mainly because patents are NOT POWERFUL
ENOUGH!  It has, however, been quite a long time since I was so absolutely
sure about what the future has to offer.  Perhaps you would agree that IF
patents had the effect of opening up source code, THEN this would be an
argument in their favor.


>In current patent practice, it is not applications which are patented but
>algorithms.

Algorithms, absent application, are not eligible for patents.


>The applications will use the algorithms, but they will remain
>unpublished.  Only the patented material must be published.  It is not
>required that something which USES a patent be published.

If a patent really reflects the NEW material, then only the patent NEED
be published.


>It is not the case (as far as I've heard) that the material of software
>patents is unpublished and therefore available for patenting.

This is THE reason that "commonly-used techniques" can be patented.  If
they had been openly published, even as open source code, publication
would have occurred, and prior art satisfied.  The problem is not the
PTO, the problem is a greedy industry which keeps code secret as the
normal way of business.


>Considerable
>anger is raised because the patent office is granting patents on algorithms
>that everyone already knows and uses.

It is simply not enough for "everyone" to "know and use" techniques.  For
ideas to be preserved for society, they must be PUBLISHED.  If they ARE
published, then a patent cannot be granted to anyone else.  If they are
NOT published, a patent may be available.
     If it is in the interest of society to preserve the inventions which
are being made as software, then it may be in the interest of society to
reward those who simply RECOGNIZE that their recent invention--even if
others have done it before--has not yet been recorded.


>It is not enough that something
>be unpublished to be patentable.  It must also be unknown as in 'not obvious
>to a practicioner (sp?) knowledgable in the field'.

Of course.  Many people would like to claim that patenting as a trivial
process, but I have personally written a patent, drafted the drawing, worded
the claims, and prosecuted the case through to successful issuance.  In my
experience, there is a VERY detailed examination (irritatingly so) of the
various patent requirements.  The PTO has a natural bias AGAINST granting
patents, because it is up to the applicant to make the case that the
application fulfills the requirements of a patent.
     Patenting, like any other legal process, is based on human decisions
and is therefore subject to error.  Quite often, someone must draw a line
between something which, it could be argued, has or has not met the
requirements.  But I have no evidence to conclude that, IN GENERAL, the
PTO is granting patents which practitioners would consider "obvious."
Other than the usual sour grapes for the patent being given to someone
else, of course.


>Software is not protected because it is difficult to disassemble.  It is
>easy to disassemble.  Any knowledgable programmer can do it, however, it
>is usually not worth their time.  If someone wants a program they buy it
>or steal it.

The point is that, while "anyone" could disassemble A piece of code, only
LARGE companies can afford to disassemble MANY pieces of code.  Thus, by
distributing only object code, large companies place the individual
programmer at a disadvantage.


>If they want the ideas in a program, currently they are
>free.  Software patents make the ideas costly.

Well, this is part of the discussion.  I CAN and DO argue that so-called
"hardware" patents DO apply to software realizations NOW.
     To some extent, I agree that "ideas are free."  But an "idea" in a
program is (probably!) a great deal more than just "an idea."  Not only
did someone "have" the idea, they had the background to "have" the idea,
the time to think about it, test it, compare it to other options, select
it and use it.  All this is research and it is NOT free.  SOMEBODY paid
for this.  It is very convenient to be able to use someone else's research,
but that hardly encourages more research.  It is precisely this attitude
which patents are intended to protect against, and it is the legitimate
role of society to take an interest in doing so.


>Monopoly on the results of their research gives small firms nothing because
>in general they do not do research.

I AM a small firm.  *I* do research.


>In general, they write programs which involve no
algorithmic innovations whatsoever.

I cannot speak for "they"; maybe this is true.  MY programs sometimes
DO contain such innovations.  When they do, I wish to protect those
innovations as patented inventions.


>(In general, large corporations
>do research, but in general they also write programs which involve no
>algorithmic innovations whatsoever.  However, large corporations have the
>resources to try to protect their work with patents whether it is innovative
>or not).  Currently they can just put in their time and sell the result.

>For the smallest firms (individuals) where the cost of time can be
>discounted entirely (i.e., its work done in spare time, so whatever can
>be gotten for it is worthwhile), 

I'm sorry, but for me, EVERY moment is precious.  We have only so much
time.  There is NO SUCH THING as discounted time.


>the cost of patent searches and patent
>fees would be the single largest cost (if the giants are even willing to
>grant a license to an individual).

Well, patents are ECONOMIC rights.  You have the option of distributing
your work and waiting to hear from any interested patent holders.  If you
do so hear, you may have the option of licensing the patent.  If so, you
only need to look at how much you are making from your distribution to see
how much you can afford for a license.  Pretty simple.
     If licensing is not an option, or if you would prefer not to license,
you need to see if you can design around it.  In most cases, this is pretty
easy.  But if you cannot design around it, and cannot or will not license
it, then you cannot make, distribute, or use the invention.


>Even if the cost might be surmountable,
>the bureaucracy (sp?) may not be.  Small firms have a big advantage in
>response time.  If they must disclose to the giant corporation what they
>want to use the giant's patent for, the giant is free to delay the granting
>until the giant's own programmer's have had a chance to duplicate the small
>company's product.

It is only very rarely the case that there are no reasonable alternatives
to a patented mechanism.  The alternatives might not be quite as nice or
fast or whatever, but USUALLY there is a way to get around them.  In fact,
if there is not, we have strong indication of the great value of the work
which resulted in such a strong patent, and the extent to which we are
indebted to the patent holder.
     Unfortunately, we are seeing such a case with respect to RSA.  Is it
truly likely that there is no other way to implement public keys?


>You seem to assume that individual programmers work for some large company.

No.  Some do, some do not.  I work for me.  I may have to return to working
for a large company, however, if my boss (me) cannot find more work for his
current slave (me).  I AM an individual programmer.


>The individual programmers the League for Programming Freedom talks about are
>just individuals.  Individuals, however, who may become very significant
>economic entities if they can sell their work.  Bill Gates, the founder of
>Microsoft is now worth several BILLION dollars because he was able to write
>(or gain the rights to, I don't know) a single program, dos.

Bill Gates founded a COMPANY, and used the ownership of rights to
programs the company purchased and/or developed to make a profit.  But
the reason that Bill Gates is an attractive example is the same reason
that he is not a good example:  Programmers almost NEVER find themselves
in this situation.  BUSINESSMEN find themselves in this situation.  The
issue is the ownership of property rights.  This is just what I promote
for programmers, and exactly what you oppose.


>Mitch Kapor and
>his partners made hundreds of millions of dollars on the back of a single
>program, Lotus 1-2-3.

Another poor example.


>However, many who would like to follow such dreams
>are now angry because it appears that the patent office is willing to grant
>patents on so many things that these and all other programs would become
>unmarketable without costly and possibly unobtainable patent licenses.

I am aware of some patents I would term "unfortunate," but they are not
the fault of the PTO.  They are the fault of an industry which has kept
their most important innovations as hidden trade secrets.  Secret ideas
are NOT prior art.  The way something looks on the screen is NOT a
description of how to do it.
     As to the frantic claim that "these and all other programs will become
unmarketable," well, I do not buy it.  Virtually everything in Knuth is
available for use.  Virtually everything in any program which was printed
is available for use.  Patents are required to be non-obvious; while we
can dispute particular decisions, I see no evidence that patents are
GENERALLY being granted on obvious techniques.  It is fairly easy to find
a few bad patent decisions when so many thousands of patents are published
every week.


>Writing, music, broadcasting, and publishing are all covered by copyright
>law not by patents.  Software has always been copyrightable.  That software
>falls into this same category is an argument that software should not
>be patentable.

Yes, these things ARE copyrighted.  My point is that copyright provides
protection for those things.  But, by the very nature of software,
copyright DOES NOT provide protection for programmers.  If it did, then
nobody would much object to distributing source code.  Thus, we have the
case that many creative individuals in society have access to adequate
protection for their work, while programmers do not.  Again, are
programmers to be legally inferior?


>[Tony> On final consideration, I remain undecided about whether software ]
>[Tony> should be patentable, because additional problems make the        ]
>[Tony> 'software is like hardware' argument un-compelling.  The problem  ]
>[Tony> is semantically deeper than that:                                 ]

The argument is not simply "semantic."  The argument is that we should see
software the way it really is, as opposed to the way we have seen it in
the past.  Software is a convenient NAME for the aspect of the design of
physical machines which consists of customizing those machines for various
applications.


>In fact, software can do things that the underlying hardware cannot do.
>Software can draw a rabbit on a screen, hardware cannot.  That the software
>draws the rabbit by manipulating the hardware does not give the hardware
>the ability to draw the rabbit.

No, it is the HARDWARE which does EVERYTHING.  Software is only the
sequencing information, stored in some physical part of the machine, in
some physical representation, which tells the OTHER hardware which things
to do when.  (In fact, "software" in the machine is not really "software"
at all; is IS a part of the machine.)
     A machine which even you would regard as a "true" physical machine
(that is, not software) can be built to accomplish ANYTHING which
software can accomplish.  The difference is not in what such a machine
could do, but ONLY that such a machine could not be quickly customized.


>It is not the purpose of software to select hardware operations.

Yes, it is.


>The
>purpose of software is to accomplish a goal.

Probably anything which is created is intended to accomplish SOME goal.


>It is the purpose of
>hardware (and operating systems, and compilers, and other tools) to
>provide a framework in which accomplishing that goal (and many other
>goals simultaneously) is easy.

>These objections may seem like word games, but I don't believe they are.
>I think the arguments about software patents could be settled if someone
>could come up with a characterization of software on which we could all
>agree.  However, I have my suspicions that software simply cannot be
>characterized in such an 'agreeable' manner.

It is not necessary that everyone AGREE on the truth.  The truth is, or
is not, independent of agreement.  Software IS intimately associated
with the actual functioning of real physical machines, it controls
physical operations, and is little more than a vastly expanded washing-
machine controller, or player-piano roll.  Of course, printed software
can be literature (for people).  But software which is intended to
function (that is, virtually ALL software), when it functions, is
logically a part of the machine.


>Lack of software patents does not endanger hardware patents.  Patents have
>long been written to be as wide as possible.  Patent applicants would like
>to get a patent on 'any device that does such and such'.  Patent law
>does not allow applications quite that broad.  However, it does allow
>patents on 'any device that does such and such in a manner similar to this
>and that'.  Through these latter kinds of patents it is well established
>that one cannot get around hardware patents by moving algorithms into
>firmware without the hardware itself also being substantially different.

This may or may not be "well established" now, but it will not be "well
established" if the so-called "League for Programming Freedom" gets its
way. Allow me to quote from "Against Software Patents" in the Nov. 1990
Dr. Dobb's Journal, p. 73:

          Usually, the hardware is a general purpose computer, which
     implies no particular application.  Such hardware cannot infringe
     any patents except those covering the construction of computers.
     Our proposal means that, when a user runs such a program on a
     general-purpose computer no patents other than those should apply.

Perhaps the League has a different definition for a "general purpose
computer," but the usual interpretation applies to virtually every sort
of computer architecture which has can execute stored programs.  In
general, every functioning microprocessor is part of a "general purpose
computer."  A microcomputer with on-chip RAM and ROM is also a "general
purpose computer."  A microcomputer which has writable microcode is a
"general purpose computer."  And a system which loads a particular program
into RAM, possibly using existing routines in ROM, possibly re-configuring
microcode, to perform the equivalent of a hardware design, is STILL a
"general purpose computer."

     As a specific example, software routines have long been used to
perform the function of a hardware serial-to-parallel converter (and vice
versa) for serial I/O.  Now, suppose someone patents some unique form of
"UART" or universal serial device.  Then, suppose that, as part of a
"program" on a "general purpose computer," a company duplicates that
functionality, and so does not have to buy the new UART, have they
infringed the patent?  "The League" says no.  I say it depends on the
patent, and the answer may be yes, as long as "reasonable" licensing
provisions are available.  I am in favor of compensating the entity
which has done the research and standardized the design.  Note that the
software equivalent of the UART functions may be only a small part of
the function of the overall program.

     And, if a "general purpose computer" is used as a direct substitute
for hardware, it is still a "general purpose computer," it just is not
being USED like we would normally expect.  But how IS a "general purpose
computer" used?  If we use a "general purpose computer" in some offending
way, does that make it NOT a "general purpose computer"?  Nah.

     This is a SERIOUS problem.  The proposal DOES INDEED bring into
question virtually all protection given to electronic logic systems,
since, with super-speed processors, their functions can be performed by
software on a "general purpose computer."


Individual programmers have more to gain from software patents than the
large software firms.  Large firms can use their huge resources to dominate
the marketplace, and employ huge numbers of programmers to improve on any
system an individual programmer makes.  (The only reason large companies
would NOT do this is a belief that it would not make a profit.)

It is EASY for a large software firm to run over someone with a new idea,
and the better the idea is, the more "running-over" there will be.  But it
is a harder to "run over" someone if their idea is a patented invention.
Thus, patents can act to RESTRAIN huge software companies, and ENCOURAGE
competition.

OF COURSE large software firms will claim that they are acting in the
public interest.  But if they can make software patents illegal, then
they will not have to deal will messy individual programmers, even if
those programmers did do the original research.

 ---
 Terry Ritter   cs.utexas.edu!cactus.org!ritter   (512) 892-0494

tom@ssd.csd.harris.com (Tom Horsley) (06/29/91)

I believe the problem with software patents is not that they are granted, but
that they are granted for incredibly trivial ideas which a 12 year old would
probably invent in the normal course of playing with his computer and not even
think about having done anything special. A case in point is the patent (held
by IBM, I believe) for using the 'xor' operation for drawing a cursor on a
bitmap display. This particular technique has probably been independently
invented by everyone that has ever fooled with a graphics program, yet the
patent office issued a patent for it. This sort of thing is "patently" absurd
(groan :-). The root of the problem is not software patents, it is gross
incompetence in the patent office. As long as the patent office continues
to issue patents for trivial ideas, programmers will be required to have
literally every line of code they write pushed through a patent search
to make sure they didn't accidentally violate someone's patent. Then they
will probably have to patent all the lines of code they write themselves
to protect themselves from any future patent trouble. The whoe thing is
ridiculous.

It is possible for good patents to be issued. An example is something like the
patent Barnsely and company hold on fractal image compression. Here is an
example of someone with considerable mathematical talent spending a good
part of his life developing a technique that is based on such obscure
mathematical techniques, that is would probably take anyone the 17 years
it takes the patent to expire to duplicate it.

The problem comes in the gap between these examples. Just how unique does
something have to be to be patentable? Right now the patent office appears
willing to grant anyone a patent for anything. As long as they are doing that,
the best thing to do is oppose all patents because of the havok trivial
patents can potentially cause.
--
======================================================================
domain: tahorsley@csd.harris.com       USMail: Tom Horsley
  uucp: ...!uunet!hcx1!tahorsley               511 Kingbird Circle
                                               Delray Beach, FL  33444
+==== Censorship is the only form of Obscenity ======================+
|     (Wait, I forgot government tobacco subsidies...)               |
+====================================================================+

emv@msen.com (Edward Vielmetti) (06/30/91)

I've sent off a posting to news.announce.newgroups proposing "comp.patents",
a newsgroup to discuss just this sort of thing.

--Ed

brnstnd@kramden.acf.nyu.edu (Dan Bernstein) (06/30/91)

In article <1991Jun29.225656.26685@msen.com> emv@msen.com (Edward Vielmetti) writes:
> I've sent off a posting to news.announce.newgroups proposing "comp.patents",
> a newsgroup to discuss just this sort of thing.

I tried trial.misc.legal.software, but the trial hierarchy has suffered
from poor distribution. In any case I think misc.legal.software is the
right name for the group.

---Dan

mouse@thunder.mcrcim.mcgill.edu (der Mouse) (07/01/91)

In article <7792@cactus.org>, ritter@cactus.org (Terry Ritter) writes:

> My point is that the current state of software distribution has a lot
> in common with the original purpose of a patent system.

Well, it has a lot in common with the things the patent system was
designed to correct.

> It seems passing strange that many programmers are willing to support
> trade-secret protection (which hides new ideas for as long as
> possible), and yet oppose patents (which are inherently public and
> have a limited term).

Patents don't really have a limited term in terms of software.  The
field is approximately 1.5 patent-lifetimes old: before about 1965,
there was really no software industry to speak of.

> In practice, trade-secrecy is little protection against big firms,
> who have the resources to disassemble a lot of code, but is fairly
> effective at hiding information from independent individual
> programmers.

Only when the individuals don't bother.  I think a larger factor is
that the large firms aren't scared of the potential consequences.  If I
write something and Microsoft uncompiles it, I have no effective
recourse (see my paragraph marked with [#] below).  If I uncompile
something of theirs, I will probably be bankrupt shortly after they
notice, from legal fees alone.  (Ditto if I don't but they think I did.)

> Many postings have used the fear-based arguments advanced by the
> so-called "League for Programming Freedom."  These include the fear
> that individual programmers will be unable to function in an
> environment of patented ideas.

(As a side note: the LPF is more than anti-software-patents.)

Which they will.  Since the patent office does not enforce the
statutory criterion of unobviousness in the case of software[%], it is
impossible to determine whether any given program infringes a patent
without a large number of (very expensive) patent searches, something
an individual or small organization simply does not have the resources
to do.

[%] Witness the XOR and backing-store patents, and probably others I'm
    not aware of.

> [Patents] almost never impact the use of programs which individuals
> write for themselves.

Well yes; if I write a program which uses a patented technique, and do
not distribute it, it will almost certainly never be noticed as a
violation of the patent.  The problem is the second clause of the
condition: "and do not distribute it".  It means that I must not[%]
distribute anything, even for free, without multiple patent searches,
under pain of being bankrupted by lawsuits from corporations like
Microsoft, Lotus, AT&T, etc....

[%] Well, if I were in the US.  Canada does not have software patents.

> So we are left with those programmers who wish to use patented
> inventions in their own work, and then publish that work, without
> arranging licensing agreements.

Even determining whether licensing is necessary is prohibitive.

> We are talking about distribution, not research, nor individual use,
> but rather sales (money), or impact upon sales (free distribution).
> Can book publishers pick up articles from writers and publish them or
> even give them away (free) without compensating the authors?

Invalid analogy; that's copyright, not patent, law.  Most of the people
squawking about software patents have no problem with software
copyright.

> Hardware companies have had to live with hardware patents for many
> years, but only rarely fail because of patent disputes.

Hardware patents (a) generally do conform to the unobviousness
criterion and (b) are generally more specific, more along the lines of
what I think the patent system was intended for.  Hardware patents tend
to be for a specifically-described device and anything "substantially
similar".  And that clause is being taken much more broadly in the case
of software.

> Would small software firms be better off without software patents?
> Competition against the giants is a far greater risk and expense, and
> a patent is exactly the sort of thing that could help restrain those
> giants.

[#]
In theory.  If I hold a patent on some technique which Lotus chooses to
use, again I would be bankrupted by legal fees before my case is even
fairly started, *even if I have a won case*.[%]  The legal system is
not a justice system; it hasn't been for quite some time.

[%] Again, in the USA.

> Is Software Different?

Yes, in many ways software is an essentially new world: a world of pure
pattern.  While other worlds of pattern existed before (mostly other
creative works where copyright applies), the significant differences
are that (a) patent law has never applied to those worlds and (b)
similarity between programs is measured at a much higher level of
abstraction than similarity between, say, books.

> Software can be open literature in the same sense as mathematical
> formulae; similarly, simply reading the schematics of a patented
> machine is not a patent violation.  But, clearly, the main purpose of
> software is to select hardware operations; that is, it is INTENDED to
> make actual physical changes which may be like those of a patented
> hardware system.  Because of this, it is difficult to argue that
> software does not intrude upon on the patent rights which we expect
> to apply to hardware.

Except that the patent rights which apply to hardware are interpreted
less broadly.  To pick an example, it is as if someone had managed to
patent any mechanism for toasting bread, instead of some particular
mechanism for toasting bread.  Or to bring the analogy closer, as if
someone had patented some particular toaster, and then argued that
anything that produced the same effect - ie, toasting bread - was
covered, all the way from a stick over a campfire to a high-power laser
at 30 paces.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

ted@cs.brown.edu (Tony Davis) (07/01/91)

Here I'll try to be less confrontational, but realize that I disagree with
you on some basic issues.  Also realize that I remain undecided about
whether patents on software should be allowed.  I'm not trying to argue
against you; I'm trying to filter out telling arguments one way or the other.
Admittedly, my current bias is against software patents, because I have yet
to see the benefits that they would supply.

>>Considerable
>>anger is raised because the patent office is granting patents on algorithms
>>that everyone already knows and uses.
>
>It is simply not enough for "everyone" to "know and use" techniques.  For
>ideas to be preserved for society, they must be PUBLISHED.  If they ARE
>published, then a patent cannot be granted to anyone else.  If they are
>NOT published, a patent may be available.

True, if something is published that can prevent later patents on that thing.
By the same token if something is commonly known to practitioners in the
field, (published or not) that knowledge should also prevent the patent
(according to the PTO's own rules).

>Of course.  Many people would like to claim that patenting as a trivial
>process, ...

Certainly I'm not among them.  That patenting is non-trivial is part of the
problem.

>>Software is not protected because it is difficult to disassemble.  It is
>>easy to disassemble.  Any knowledgable programmer can do it, however, it
>>is usually not worth their time.  If someone wants a program they buy it
>>or steal it.
>
>The point is that, while "anyone" could disassemble A piece of code, only
>LARGE companies can afford to disassemble MANY pieces of code.  Thus, by
>distributing only object code, large companies place the individual
>programmer at a disadvantage.

I disagree.  To disassemble as many pieces of code as you care to, you need
to know the object code format and how to write a parser for it.

>>If they want the ideas in a program, currently they are
>>free.  Software patents make the ideas costly.
>
>Well, this is part of the discussion.  I CAN and DO argue that so-called
>"hardware" patents DO apply to software realizations NOW.
>     To some extent, I agree that "ideas are free."  But an "idea" in a
>program is (probably!) a great deal more than just "an idea."  Not only
>did someone "have" the idea, they had the background to "have" the idea,
>the time to think about it, test it, compare it to other options, select
>it and use it.  All this is research and it is NOT free.  SOMEBODY paid
>for this.  It is very convenient to be able to use someone else's research,
>but that hardly encourages more research.  It is precisely this attitude
>which patents are intended to protect against, and it is the legitimate
>role of society to take an interest in doing so.

Perhaps we have a different idea of what research is.  Or you are talking
about bigger 'ideas' than this paragraph suggests.  'Having an idea,
thinking about it, testing it, comparing it to other options, selecting it
and using it' sounds to me like data structure selection, i.e., this is
programming.  What constitutes a different enough data structure that it
is worthy of patent protection?  Surely you aren't willing to grant a
patent for every demonstrably different data structure?  This is where the
crux of the issue lies.

Whether or not someone paid for the work is irrelevant.  Someone pays for
everything, but that doesn't mean it is or should be patentable.  Nor does
it mean that someone will unduly benefit from another's work.  I am not
opposed to property rights for programmers.  I am opposed to patents
preventing me from benefitting from my own knowledge.

>>Writing, music, broadcasting, and publishing are all covered by copyright
>
>Yes, these things ARE copyrighted.  My point is that copyright provides
>protection for those things.  But, by the very nature of software,
>copyright DOES NOT provide protection for programmers.  If it did, then
>nobody would much object to distributing source code.  Thus, we have the
>case that many creative individuals in society have access to adequate
>protection for their work, while programmers do not.  Again, are
>programmers to be legally inferior?

Programmers should have the same protection that musicians and writers have
if the nature of the their work is the same as the work of musicians and
writers.  If this is not enough protection to make them 'legally equal' then
patent law is not the way to get them more protection; it is very likely
to backfire.  The question is does programming constitute MORE creativity
than writing?


>>In fact, software can do things that the underlying hardware cannot do.
>>Software can draw a rabbit on a screen, hardware cannot.  That the software
>>draws the rabbit by manipulating the hardware does not give the hardware
>>the ability to draw the rabbit.
>
>No, it is the HARDWARE which does EVERYTHING.  Software is only the
>sequencing information, stored in some physical part of the machine, in
>some physical representation, which tells the OTHER hardware which things
>to do when.  (In fact, "software" in the machine is not really "software"
>at all; is IS a part of the machine.)

If software is only sequencing information, then it shouldn't be patentable.
After all we don't allow patents on cars that can drive from Boston to
Atlanta versus cars that can drive from Boston to Philadelphia.  The only
difference between the two is the sequence of hardware operations that are
applied, right?  What difference does it make that the sequence of operations
is stored within the machine itself?  Yes, I believe a patent should be
allowed on the mechanism for doing the storage, but how does putting a
sequence of operations in physical storage make the sequence itself
patentable?

The closer you tie software to the machine, the less argument there is for
patenting software, because the closer you get to the machine the less
difference there is between two pieces of software.

>>It is not the purpose of software to select hardware operations.
>
>Yes, it is.

It is if you accept, a priori, the machine perspective.  Suppose we select,
a priori, the mathematical perspective.  Then the purpose of software is
to describe an algorithm, an unpatentable idea.  What is it about tying an
algorithm to a machine which suddenly makes unpatentable algorithms
patentable?


>>However, I have my suspicions that software simply cannot be
>>characterized in such an 'agreeable' manner.
>
>It is not necessary that everyone AGREE on the truth.  The truth is, or
>is not, independent of agreement.

True, as long as we can agree on who should be allowed to define the
truth, we don't need to agree on what the truth is :-).

>Software IS intimately associated
>with the actual functioning of real physical machines, it controls
>physical operations, and is little more than a vastly expanded washing-
>machine controller, or player-piano roll.  Of course, printed software
>can be literature (for people).  But software which is intended to
>function (that is, virtually ALL software), when it functions, is
>logically a part of the machine.

Are you saying that player-piano rolls are patentable?  Yes, the player-piano
is patentable.  Suppose we grant that from one perspective software is
logically part of the machine.  What does that tell us about whether or not
software should be patentable?  So far you've been saying that software's
machine role is simply sequencing of other portions of the machine.  Is
sequencing patentable or is only 'complex enough' or 'different enough'
sequencing patentable?


Tony Davis
ted@cs.brown.edu

gideony@microsoft.UUCP (Gideon YUVAL) (07/01/91)

Just in case anyone needs reminding: the U.S. DOC will accept
public comment on software patents until 7/15/91 -- 2 weeks to go.
-- 
Gideon Yuval, gideony@microsoft.com, 206-882-8080 (fax:-883-8101;TWX:160520)