Xref: utzoo sci.crypt:5314 comp.compression:878 misc.legal:27427 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!milano!cactus.org!ritter From: ritter@cactus.org (Terry Ritter) Newsgroups: sci.crypt,comp.compression,misc.legal Subject: Re: Software Patents, Another Side Summary: Response Keywords: software patents Message-ID: <7819@cactus.org> Date: 29 Jun 91 06:55:48 GMT References: <7792@cactus.org> <79617@brunix.UUCP> Organization: Capital Area Central Texas Unix Society, Austin, TX Lines: 364 >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