Jan A. Bergstra
Paul Klint
Informatics Institute, University of Amsterdam
and
Faculty
of Philosophy, University of Utrecht
www.science.uva.nl/~janb
Centrum voor Wiskunde en Informatica (CWI), Software Engineering Department
and
Informatics Institute, University of Amsterdam
www.cwi.nl/~paulk
June 1, 2006
The patent system aims at protecting inventions. The requirement that a software invention should make ``a technical contribution'' turns out to be untenable in practice and this raises the question what constitutes an invention in the realm of software. We develop a classification of software inventions and use this classification to explore the meaning of the notions ``novelty'', ``inventive step'' and ``someone skilled in the art'' for software inventions. We come to the conclusion that no meaningful distinction can be made between a software invention and a software discovery, a distinction that is crucial in patent law. We also show that only in very few cases copyright is an alternative for patents to protect software inventions.
Note that we completely decouple the question of what constitutes a software invention and the desirability to protect such an invention in any way.