But you are equating an on/off switch with the internals that make
it work.
Software is not part of any "internals that make it
work". It's a machine, the general-purpose computer CPU in it is part of the
machine. The fact that the general-purpose CPU only does what you want it to if
you switch it into a specific state first, makes no difference to what it is
capable of doing. My lawn mower is capable of cutting grass, but it only does
what I want it to if I switch it into the "On" state first. Computers just have
way, way, way, way more possible states, and the process of putting it into an
intended state is much longer and more complicated. But there's not really a
fundamental difference there.
The metal box with microwave guts
and a
microprocessor didn't do anything until someone wrote a
program to connect
the keypad to a timer to the microwave
unit.
Close, but not quite.
The keypad and timer were already "connected" to the microprocessor when the
machine was built. Loading and running software has nothing to do with this.
It might affect what the machine actually does, but it does not affect what the
machine *is*, and it does not affect what the machine is *capable of doing*.
Those are physical properties of the physical machine that was built. It had
those properties long before power was applied and software was loaded into it,
and it will have them even after you unplug it and it "forgets" its current
memory state.
I'm not saying that's patentable, but the ability
to
turn something on and off has to come from somewhere.
True. It
comes from a combination of the capabilities of the machine, plus whatever state
that the machine is in. It happens that general-purpose CPUs need to be fed a
lot of state, before they can do things that we find useful (and discovering
what that state should be is a very complex and difficult process that humans
have to do; the process is called "programming"). But the tradeoff is that they
are capable of such an incredibly wide variety of possible behaviours. They are
designed quite literally to perform almost any computation we can think of (any
computation that is actually computable within the machine's resource
limitations). When connected to other hardware (input and output devices), this
enables us to do a broad variety of useful things.
Otherwise, my
computer would magically run spreadsheets and
word processing without an
operating system, and we know
that's not going to happen.
Right.
Computers are like a very dumb worker who doesn't understand a problem domain
and only knows how to strictly follow instructions. Programmers have to map
their real-world problems into mathematical analogues and break down the problem
into a sequence of instructions that tell the computer *exactly* what
calculations to do.
But just because I had to do hard work, and discover
novel algorithms or think up new ideas, in order to come up with a sequence of
instructions that make the computer do what I wanted -- that doesn't mean my
instructions should be patentable. They are copyrightable. And it also doesn't
mean my computer has a new "capability". It means I have discovered a set of
instructions that makes it exercise a capability it always had.
Computers
have the capability to help us do almost anything, and we are constantly
discovering new things that we can do with them that we didn't previously know
how to do. These discoveries do not spontaneously convert our computers into
"new machines". The new capabilities don't spring into existence -- they always
existed. We just didn't know how to access them.
Totally unrelated
note:
If you have a free hour sometime, I invite you to watch this documentary about an
amazing computer-based art form and subculture (the demo scene) that very few
people are aware of.
Even after decades, those crazy programmers are
still discovering new things they can do with old machines like the Commodore 64
and Nintendo Gameboy. The machines were always capable of doing these things,
but it took *decades* of effort by the programmers to discover how to instruct
them to do it! [ Reply to This | Parent | # ]
|