Contrary to widespread misconception, software inventions are patentable in most jurisdictions around the world - if claimed in the appropriate form.
Digital technologies are usually implemented in both hardware (e.g. computers, communication and computing networks, etc.) and software (computer programs, firmware, machine code, algorithms, neural networks, etc.).
Technical innovations in hardware components (e.g. computing and processing systems) have always been accepted as patentable inventions. These include, for example, data processing, data communication, and data storage/retrieval systems.
On the other hand, software as such - i.e. the computer program itself as an abstract entity devoid of technical context - is excluded from patentability in various jurisdictions in much the same way as mathematical methods and mental acts are excluded. Instead, the computer program (e.g. source-code or machine code) used to implement the invention is protected by copyright. However, copyright confers insufficient protection of a software invention, as copyright merely covers an original and specific expression of an idea, in this case the computer program. For example, an implementation of the same software invention in a different programming language would not violate copyright. In contrast thereto, a patent covers the underlying technical concept of the software invention.
Having said that, software rarely exists in vacuum (“as such”). Rather, software is part of a computer system (e.g. it is stored in memory and executed by a processor) which is technical and therefore patent eligible. In order to clearly identify patentable software inventions, the term computer-implemented invention (CII) has been introduced to define an invention which involves the use of a computer, a computer network or another programmable apparatus, wherein at least one feature is realised by means of a computer program.
The term computer-implemented invention covers a broad range of inventions in various fields of technology, in particular:
- Automation/ process control, including software control of industrial processes (e.g. 3D-printing, CNC machines);
- Data and signal processing, including audio/video/image/text processing;
- Applied algorithms, in particular machine learning and artificial intelligence (e.g. neural networks or genetic algorithms);
- Data storage/retrieval, including data formats/structures and database systems;
- Data communication, including data signal transmission, including data communication protocols (e.g. 5G);
- Distributed systems, including cloud computing or internet of things IoT;
- Technical means for presentation of information, in particular user interfaces UI (e.g. graphical user interfaces GUIs, and augmented and virtual reality (AR/VR));
- Security, e.g. data security, authentication, cryptography, and blockchain;
- Computer implemented business methods, e.g. software controlled logistic systems, e-commerce, and fin-tech.
In the last decade the legal framework of the major patent offices (EPO, USPTO, CNIPA, JPO and KIPO) with respect to computer-implemented invention became gradually more and more aligned. While certain differences in the assessment of computer implemented inventions between the patent offices still persist, it can be generally said that software providing a technical solution to a technical problem is patentable throughout the world – if claimed in the appropriate manner and provided that the requirements for patentability – in particular novelty and inventive step – are fulfilled.