Guest Post by Martin Goetz
This article is in response to the editorial “Abandoning Software Patents” by the Ciaran O’Riordan, Director of End Software Patents (posted on PatentlyO on November 6, 2009) which had as its premise that one is trying to protect “software ideas”.< ?xml:namespace prefix ="" o />
I wrote this article from a unique perspective as the holder of the first Software Patent in 1968 and with a long history of involvement in the protection of software thru patenting and copyright protection. I am recognized as a pioneer in the Software Products Industry and had a successful career at Applied Data Research (ADR), the first company to market a software product. ADR and I were also directly involved in the filing of amicus briefs in the Prater & Wei, Benson, Johnson, Flook, and Diehr cases. More background information and links to my memoirs are in Wikipedia at http://en.wikipedia.org/wiki/Martin_Goetz.
Since the 1960s I have been a strong advocate of the patenting of inventions implemented in software and in 1968 I received the first < ?xml:namespace prefix ="" st1 />
This article does not argue for or against the patenting of BPMs. Rather, it tries to explain why inventions implemented in software are well within current US Patent Law[3] using examples and analogies that I believe are irrefutable. It also explains why software should be viewed a machine component of a general purpose computer (a machine).
1. What is a Software-Related Invention? It is well recognized that whatever you can design in hardware circuitry (chips) can be developed in computer software (a computer program) to perform the same functions. Handwriting analysis, voice recognition, video frame analysis, data compression, language translations, artificial intelligence, searching techniques, network monitoring and security — to name just a few functions — are examples of where such implementations have been done in both hardware chips, in software, and a combination of both. The patents that have been issued in these nine areas represent inventions that are very-state-of-the art and not at all obvious. In particular, the analysis of handwriting and voice by a computer — whether in hardware circuitry or in software — is very complex and not at all obvious to one skilled in the art.
2. Hardware implementations versus software implementations. The choice of implementation for computer functions is a pure economic choice which mainly has to do with cost, speed, and flexibility. Patent applications normally show the preferred implementation and the patent must disclose the invention adequately for one skilled in the art. But the disclosure could be in the form of circuitry for a hardware implementation or a flow chart for a software implementation or a combination of both. Many professionals view software development as building a software machine. The life cycle of computer software is very similar to the life cycle of computer hardware. And its life span can be equally as long.
3. Software Product Companies[4] are High Technology Manufacturing Entities. In the 1980s with the advent of PCs, many new PC software companies called themselves Software Publishers. So are software companies more like publishers of books or more like manufacturers of machines? Based on my many years in the software Products Industry[5], here are my arguments why software product companies are manufacturers of high technology products.
Many software products are state-of-the-art products developed in a very competitive, fast moving environment and require rapid response to meet user demand. Secondly, a great deal of capital is often required and many software companies are funded through private investments, venture capital, and through public offerings. Thirdly, there are active research and development activities within these companies. IBM, as an example has reported that it consistently spends well over one billion dollars in research and development specifically in the software area. Lastly, highly skilled personnel are employed in these companies and many have advanced Computer Science college degrees, including PhDs. And because of its complexity, many software products are built using software engineering disciplines.
There is six phases in the life cycle of software products: Definition, Design, Implementation, Delivery, Maintenance, and Enhancements. Let’s look a little closely at these phases and you will see how closely they resemble characteristics common to all manufacturing companies. Often, prior to the definition phase there is research as well as competitive analysis. During the definition phase software companies describe its functionality, its specifications, the environment in which it must operate, and its operating characteristics. During the design phase, it develops and defines all its interfaces, breaks down the functionality into modules, and does all the engineering so that the product can be properly implemented, maintained and enhanced during its lifecycle. During the implementation phase the software is debugged, tested, and goes thru quality assurance. During the delivery phase there is alpha and beta testing, documentation, installation, and training. Often software companies OEMs (Original Equipment Manufacturers) the product to other companies where the software becomes a component of a larger system and is re-packaged. During the maintenance phase the company warrants its workmanship, and guarantees the correction of errors and defects. Finally, during the enhancement phase the software is improved, enhanced, upgraded, and new models (releases) are announced.
Note these terms indicative of a manufactured product …..research, competitive analysis, functionality, specifications, operational environment, operating characteristics, interfaces, modules, engineering, implemented, debugged, tested, quality assurance, alpha and beta testing, documentation, installation, training, OEM, component, system, re-packaged, maintenance, warrants, workmanship, guarantees, errors, defects, improved, enhanced, upgraded, and models.
It is obvious that software products are not “software ideas”. But is software more like publishing a book or more like manufacturing and maintaining a machine? And if it’s more like a machine how can the Supreme Court deny the patenting of inventions[6] in software?
I believe the Courts should view software as a component of a general purpose computer (a machine) and that software transforms a general purpose computer into a special purpose computer (or machine).
[1] Patent # 3,380,029 Sorting System Issued April 23, 1968
[2] The Diamond vs. Diehr landmark decision by the Supreme Court in 1981 opened the door to the patenting of software when the court stated that “processes” were patentable, and that just because an invention used a formula, program, or computer, it was not necessarily unpatentable.
[3] The
[4] The Software Industry is made up Software Product and Software Service companies and is recognized as one of the top three manufacturing industries in the world with 2008 revenues of over 700 Billion dollars. See http://en.wikipedia.org/wiki/Software_industry
[5] My tenure in this Industry started in 1954. In 1959 I was one of its founders and spent almost 30 years at Applied Data Research (ADR), a publicly traded 200 Million software company that was acquired by Ameritech in 1986 and sold to Computer Associates (CA) in 1988. Many of ADR’s products initially developed over 30 years ago have been improved by ADR and CA and are still viable today. Today, I am a consultant and investor in software companies.
[6] An invention, in lay terms, can be a novel device, material, or technique which is new, inventive, and useful. It has been well established that machines, including computer hardware, contain patentable subject matter.