Not quite a perfect analogy for software inventions, but yes.
I’ll certainly grant that most code is mundane, doing what was done before with little to know refinement. If I implement a quicksort to sort a list as part of my program, I am not inventing. But when Tony Hoare first wrote a quicksort algorithm, he was inventing – He saw a problem, sorting of a list, and devised a way to do it better.
For that matter, though, if you’re using quicksort in a program you’re writing, you’re more likely to just grab a function from a standard library where someone else has already implemented it.
It’s really tempting to accept these suggestion but, at the same time, isn’t the invention here was the concept of ‘algorithm’, everything subsequent being an method application of that invention …
I guess we’re now talking in circles … maybe there’s a fine line.
That certainly would grossly underestimate the breadth and depth of the field of algorithm design by any conventional standard.
There certainly is a fine line, and many patent examiners and lawyers make their living based on arguments about whether something constitutes a new invention or just an obvious or trivial extension of an existing invention.
But the location of that fine line is quite far away from “all algorithms are the same invention”.
I found a recent article about Google Kubernetes, an open source version of one of their internal tools. This is a significant innovation, and like most of what they do, it’s completely invisible to the consumer.