...sorting data on a general-purpose computer with tape drives that could read data in a forward direction, but not backwards — those were early IBM drives.
There were many sorting patents using special-purpose hardware before mine, but none that used a general-purpose computer. The following sorting patents were referenced in my patent application and were described as through and/or circuitry gates, and as methods and apparatus for sorting data: Sorting Device, Fillebrown, 5/1961 #2,985,864; Sorting Apparatus, Guerber, 5/1960 #2,935,732; Apparatus for sorting of Recorded Digital data, Dirks 3/1966 #3,242,466.
The patent was issued on 23 April, 1968, and a computer publication heralded my patent in a page 1 headline, 'First Patent is Issued for Software, Full Implications not Known Yet'. Fortune magazine called it an "unprecedented patent".
Reducing circuitry to a mathematical algorithm
Has there ever been a controversy about whether an invention using hardware circuits is patentable? I doubt it, even though hardware circuits are much like software in that they can be reduced to a mathematical algorithm.
The software products industry is competitive and needs patent protection as much as any other tech industry. Those software doomsayers who say software is just ideas, mental processes or mathematics would change their mind if they examined the different phases of the life cycle of a software product.
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, they develop and define all its interfaces, break down the functionality into modules, and do 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 through quality assurance. During the delivery phase there is alpha and beta testing, documentation, installation, and training. Often software companies sell the product to other companies where the software becomes a component of a larger system and is repackaged.
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, or releases, are announced.
Note that these terms are all consistent with 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, repackaged, maintenance, warrants, workmanship, guarantees, errors, defects, improved, enhanced, upgraded, and models.
Machine processes are patentable in software
From 1968 until 1980, my previous company, Applied Data Research, filed Amicus briefs in the Prater & Wei, Benson, Johnson, Flook, and Diehr US supreme court cases, in which we argued that a machine process patentable in hardware is equally patentable in software. Here is exactly how we posed a question of law in our 1980 Diehr brief:
"Whether a computerised machine or industrial process that is patentable subject matter under 35 USC 101 when constructed with a hardware program — wired circuits — would also be patentable subject matter when constructed with a stored computer program — ie, firmware or software?"
In summary, it is a fact that software and hardware circuitry are interchangeable.
The US Patent and Trademark Office is in agreement with that question of law. In 1996 it published its Examination Guidelines for Computer-Related Inventions (Final Version) (PDF). The guidelines stated the following in its introduction:
"The guidelines alter the procedure office personnel will follow when examining applications drawn to computer-related inventions and are equally applicable to claimed inventions implemented in hardware or software."
In summary, it is a fact that software and hardware circuitry are interchangeable. As noted in Hardware/Software Tradeoffs: A General Design Principle? (PDF) the decision to put certain features in hardware and others in software is based on such factors as cost, speed, reliability and frequency of change.
So it is up to the courts and the patent office to put the same constraints and criteria on the issuance of patents that show the preferred implementation of the invention in software as it puts on the issuance of patents where the preferred implementation is hardware circuitry.
Martin Goetz was a founder in 1959 and former president of Applied Data Research, a $200m (£125m) company that was traded on the New York stock exchange before its acquisition by Ameritech in 1986. His company was the first company to sell a software product commercially and was a pioneer of the software products industry. He received the first US software patent in 1968. He testified as an expert witness for the Justice Department in the IBM suit in 1976. In 1989 he was elected to the Infomart Information Processing Hall of Fame along with Bill Gates and in February 2000 was elected to the New Jersey Inventors Hall of Fame. Currently, he is a private investor and management consultant to software product firms.
For the opposite point of view on software patents, read Software patents are legalised extortion by Mike Lee of Appsterdam.
Get the latest technology news and analysis, blogs and reviews delivered directly to your inbox with ZDNet UK's newsletters.