|
Authored by: Anonymous on Tuesday, May 08 2012 @ 11:55 PM EDT |
It's both.
Computers are like Universal Turing machines, except for two things -- they
don't have an infinite amount of memory, and they aren't limited to scrolling up
and down a tape accessing only one cell of it at a time. But this only changes
how fast they compute, it doesn't change the set of problems that are
computable. A Universal Turing machine (and every general-purpose computer)
executes the same algorithm, which allows it to perform any computation which a
custom-built Turing machine (or any digital electronic circuit) could do.
In essence, they can compute anything that is computable. "Software"
is just a description of the computation to do. It's just a big long algorithm,
which probably reuses lots of shorter and simpler algorithms as building blocks
to do what it does.
Code is data, and data is code. All of it is input to the general-purpose
computer, and all of it is abstract and mathematical and should be unpatentable
for the same reasons that math is considered unpatentable. Nobody can invent
new mathematics, they can only discover it. And allowing one party to
monopolize the discovered ideas just hinders progress for all of us. This is as
true of software as it is of mathematics -- probably more true, because there
are far more programmers out there than practicing mathematicians, and complex
software is used in far more walks of life than advanced mathematics is (and
most of the basic math that is widely used in people's everyday lives, has been
in the public domain for hundreds of years...)[ Reply to This | Parent | # ]
|
|
|
|
|