Xref: utzoo sci.crypt:5300 comp.compression:871 misc.legal:27396 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!aplcomm!uunet!brunix!ted From: ted@cs.brown.edu (Tony Davis) Newsgroups: sci.crypt,comp.compression,misc.legal Subject: Re: Software Patents, Another Side Keywords: software patents Message-ID: <79617@brunix.UUCP> Date: 28 Jun 91 13:00:40 GMT References: <7792@cactus.org> Sender: news@brunix.UUCP Reply-To: ted@cs.brown.edu (Tony Davis) Organization: Brown University Department of Computer Science Lines: 248 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