Software has long posed a quandary for patent law. As many have observed, software is an abstract technology—but abstract ideas are supposedly ineligible for patenting. This Article explores just what that means, what it doesn’t mean, and what might fix the problem of abstraction in software patents. This Article offers two related ways to understand the abstract nature of software. First, computer science defines itself as a “science of abstraction,” and that self-definition finds real doctrinal purchase. Second, software code is designed to be what the doctrine calls “functional”—to describe abstract results that can be executed on heterogenous hardware without regard to how the results are achieved. Because software is functional, claims to software must necessarily also be functional. But functional claiming is exactly what the doctrine forbids. This Article also examines and refute a third reason some have offered: the idea that software algorithms are “just math.” Algorithms involve math and can be described by math, but they are not themselves math. In fact, this Article proposes that the way to fix software patents is to require patentees to claim algorithms—concrete algorithms, written in pseudocode, just as they would communicate their invention to other programmers.
Athul K. Acharya, Abstraction in Software Patents (and How to Fix it), 18 J. Marshall Rev. Intell. Prop. L. 364 (2019)