Like the finches of Darwin's Galapagos Islands,
the term "software" has evolved over the years
to represent subtly different things to different people.
Our language does not have 50 different shades
of word for the different species we collectively call "software".
It's as if we used the term "flying things" for Darwin's finches and we didn't comprehend that such imprecise terminology just doesn't quite cut it for serving the needs of a "modern" science-based society.
And thus, when it comes to the "software" stuff, we are often caught pushing each other
off the proverbial Tower of Babel as we debate what is and isn't "software"
and whether "it" should be patent eligible.
[still under construction] ....
One writer **here** (a Mr. Martin Goetz) claims that he has the definitive definition of what software is is.
That can be disputed.
Take for example, the “configuration bits” that are loaded into a Field Programmable Gate Array (FPGA). These ones (1's) and zeroes (0's) are not instructions for execution by a “computer” but rather they are controls for how the reconfigurable signal routing wires of the FPGA are to be routed and how the reconfigurable logic blocks of the FPGA are to be configured. It is indeed “software”, but not a kind that is “executed” by a computer. So anyone who claims that all “software” is computer executed software is overstepping the bounds of reasonableness.
By the same token, anyone who claims that all “software” is pure “math” is equally stepping outside the bounds of reasonableness. (Click 'Read More' below to read more.)