IMHO a lot of the difficulties this discussion is running
into
comes from the
fact that, in ordinary life, we confuse
levels of
abstraction and just call the
whole set "it", and
the same
for levels of indirection.
As
already told by Lewis Carroll
"...The name
of the song is called
'Haddocks' Eyes'!"
"Oh, that's
the name of the song, is
it?" Alice said, trying to
feel
interested.
"No,
you
don't
understand," the Knight said, looking a little
vexed.
"That's what
the name is called. The
name
really is, 'The Aged
Aged Man.'"
"Then I ought
to have said "That's what the song
is called'?"
Alice
corrected herself.
"No,
you
oughtn't: that's
quite another thing! The song is called
'Ways and
Means': but that's only what
it is called you know!"
"Well, what
is the song then?" said
Alice, who was by this time
completely
bewildered.
"I
was coming
to
that," the Knight said. "The song really is
"A-sitting
on a
Gate": and the tune's my own invention."
But the Knight
didn't patent
that
invention.
Now,
"software" means
different
things
to Practitioners and to Priests a.k.a. Lawyers.
Software-0: For
what
I can
piece together, most Practitioners look at software as the
text,
which just is there, static, copyrightable. The text
describes a
set of operations on abstract symbols.
The text isn't
abstract
symbols. It
doesn't do anything to them either. Just like
a
mathematical proof, the text
just is. It's math.
You
cannot patent
that.
Software-N:
Now the Priests have no interest
in that
whatsoever. They
look at a different animal they call software, which
is the
set of
actions performed by a physical machine. Like the Oracle,
the
machine then shows Results based on Input, with Results and
Input in
the
physical world. By the way, this is also what a steam
engine
does. It
exists, in time and space. The Priests then
conclude that
it must be
patentable. And steadfastly refuse to even
doubt
that.
The
misunderstanding is not dissipated by the
existence of a
third
animal, also called "software". That one
is what
results
when,
in someone's mind or in a piece of equipment, one follows
the
text of
Software-0. let me call that Software-I.
Software-I
manipulates symbols (see PolR's explanation).
Nothing
changes in the physical
world. When one begins to read the
text of
Software-0, few symbols exist: to
paraphrase:
"In the
beginning,
the world (of Software-I) was without
form and empty, and
undefined-values was over the surface of the deep, and the
sprit of
the programming language moved over the surface of the
computation".
And
there was
a test, and there was a bug. Thus
was the first
instruction.
Scratch that.
Eventually,
Software-I,
following the text of Software-0, requires
symbols to
attach to things of the
real world. In a mental process,
and in some "debugging" cases, we call these
"test values".
This is generally
called "I/O
instructions". These do not
exist in your mind. They
can be
wildly
different from installation to
installation; an
I/O
instruction
here can result in injecting the proper
amount of Sulfur
and, in the
real world, rubber starts curing. Over there, in
the real
world, the
sameI/O
instruction
can cause centrifuges to spin
out of control the "I/O
instruction bridge" is what allows Software-N to
exist.
To
make matters more fun, one can have a whole collection of
Software-I
'layers', each of them requiring a
foundation of
similar
components until, going down towards the physical, one
reaches
silicon:
JVM to VMBox to PC to microcode to silicon, or
other
examples.
>Note
the three radically different steps: Static text
, dynamic symbol
manipulations, specific physical
actions.
Software-0
is mathematical proof, found in books. Requires
symbol-
related
conventions.
Software-I
is mathematical process,
theorem-proving, found in academic
circles.
It requires a few more things:
Time
as an ordered sequence of instants; and some abstraction of
how
to
set some symbolic properties to other symbols (the I/O
above).
Software-N
is a physical process, where time is present, where
there is
a
physical apparatus (not software) to bridge between reality
and
symbols, to assign real-world semantics
to symbols.
We
should
at least start distinguishing between these. Then we
can
start looking at
whether a given Software-N (actually, a
physical,
specific machine) is
important enough to grant a State-
manufactured
monopoly and restrict People's
freedom in so doing. Or
whether that
was done before. Or...
One
of the
immediate consequences of this would be that anything
not
attached to a
specific physical apparatus cannot be
patentable, and
that any monopoly
attached to a specific physical apparatus
is
limited to that specific
apparatus.
Cheers,
--- bck [ Reply to This | Parent | # ]
|