- Tamai 1998: Abstraction orientated property of software and its relation to patentability
- IST elsevier Information and Software Technology 40 (1998) 253-257
Tamai refers to the exemplary debate about software patentability between Chisum
in 1986 and then further elaborates on one of Newell's arguments: the orientation of software towards abstraction and generalisation.
The history of software engineering shows that it has been exploring technologies applicable to a wider range and usable in the more general context. The most fundamental principle for attaining that goal is abstraction. In general, software is more valuable if its components are constructed at a more abstract level, be they procedures, data, objects, substystems and eventually the total system itself.
Tamai then explains several types of abstraction:
- Abstraction of procedures
- Abstraction of data
- Abstraction of objects
- Abstraction of algorithms
Finally, Tamai describes cases where the same algorithm was discovered independently by different people and it was not trivial to discover that in fact these algorithms were the same. The greatest achievement in these discoveries was in fact in discovering commonalities between different algorithms and thereby increasing the level of abstractness.
Tamai gives an example set of patent claims, used at the Fourth International Symposium on Legal Protection of Computer Software sponsored by SOFTIC, and reports about how patent officials from US, Japan and Europe judged their patentability. The example claims are described as follows:
|Suppose the quick sort algorithm is newly invented and this claim describes its algorithm as operations on an array in memory. The operations are writtenin at a relatively abstract level such as "a sequence of numerical data are transferred so that they are partitioned into two data sequences, one having values equal to or less than the boundary value and the other having values greater than the boundary value". Iterative application by recursion and the termination condition are also described in a similar way.||-||-||-|
|The same quick sort algorithm is described at the detailed level of programs. As assumed data structure is an array just as Claim 1 but the numerical data sequence is represented concretely by a pair of pointers for the first and the last positions in the array and operations of data exchange are represented also using pointers. To implement recursion, a data structure of stack is explicitly introduced.||?||-||+|
|Claims 3 to 6 also deal with sorting but a specific sorting method, e.g. the quick sort, is not specifically designated. Claim 3 describes an application of sorting that sorts addresses written on commodities to deliver in the order of delivery numbers and prints out the result. The correspondence between the addresses and the delivery numbers is given by a table. The method first determines the delivery numbers from the input addresses and sorts them accordingly.||-||-||-|
|The same processing as Claim 3 but an image reader is used for input. Character codes of addresses are obtained by the character recognition processing.||-||-||+|
|In addition to Claim 4, three devices of stackers are added to the system and they are used physically to sort commodities.||+||+||+|
|The contents are the same as Claim 4 but are described as an apparatus claim not as a method claim.||?||+||+|
The European Patent Officer surprised many in the audience by making more "liberal" judgments than those from US and Japan. The Japanese officer left some answers open (expressed by question marks above), suggesting that he needed to know more details about what the claims were to look like.
In his further analysis, Tamai highlights the fact that the real achievement lies in the abstraction, but patents tend to be granted more readily for concretisations. He sees the following problems:
- If a generally usable algorithm or software is found, it cannot be claimed directly but rather must be claimed in terms of a list of concretisations.
- If a patent is issued to concretisation and later a more powerful algorithm is found by abstraction, the later algorithm will tend to be unpatentable.
- Concretisations of known algorithms in new areas of application will tend to be patentable. It will at least require great skill and effort on the part of examiners to reject such applications.
Many issues debated in relation to software patents have their origin in the inconsistency between the innate properties of software, i.e. abstractness, generality and logical nature, and the required properties for patent claims, i.e. concreteness, specificity and physical substance.
and discusses in detail how this inconsistency is at the origine of several debates, such as
- Function Claims and the Doctrine of Equivalence
- Contributory Infringement
Finally Tamai concludes that, in order to achieve consistency, two paths are possible
- remove the requirements of concreteness, specificity and physical substance and grant patents to abstract and logical claims
- decide that software and algorithms do not fit into the framework of the patent system and must be unpatentable.
The first option would achieve logical consistency within the patent system but undesirable results toward the outside. Tamai summarises:
It would be desirable to have a way of rewarding the inventor who invented a highly general algorithm or software. However the harm of admitting too broad rights for abstract and logical claims will surpass its merits. On the other hand, the current practise of issuing software-related patents if the claims are combined with hardware and written concretely and specifically is essentially against the nature of software. Thus, the conclusion is we have to resort to other means besides patents, e.g. copyright, for the intellectual property protection.