28.10.2007
(I haven't categorized this post as philosophical; it's technical,
although that is not obvious from the title.)
Every now and then, I stumble over Joel Spolsky's blog entry about the
Law of
Leaky Abstractions. It is a great article: it's well-written and it
brings a phenomenon that we often encounter in practice under a handy
term. (I'd definitely recommend to read it, if you haven't already.)
There is, however, a sentence that irritates me every time I re-read the
article, and although it really hasn't anything to do with the major (and
even with the minor) points in the article, I have to discuss it, mainly to
get rid of my sense of irritation. (Otherwise I would have to re-iterate my
thoughts on every re-reading in my head, and I prefer to get them out
there.)
Spolsky describes the abstraction that TCP (a reliable mechanism for
transferring data over networks) makes over IP (which is a more basic
mechanism that is unreliable). TCP builds on IP and implements what is
necessary to ensure all information gets from the sender to the receiver,
uncorrupted and in the original order. To illustrate this, there is then an
example that involves transferring actors (instead of data) from cities to
other cities (instead of networked computers) via a car service (instead of
network routers sending packets). The car service is the analogue to the IP
mechanism, and is unreliable in the sense that cars may crash, or be
delayed, and thus possibly don't reach the destination in time, or in order,
or perhaps don't reach it at all. The analogue to the reliable TCP mechanism
is a service that uses the car service as basis, but controls it and provides
adjustment and replacement when things go wrong.
It's a nice and well-crafted analogy that makes the intended point very
clear. But Spolsky calls it "a morally equivalent, though somewhat ludicrous,
scenario from the real world." Now obviously 'from the real world' can only
refer to the domain of the example (i.e. we're talking in terms of people,
cars, roads and cities), for there is no such scenario as that
described in the real world (i.e. in reality). So it's not a real analogy,
it's an imaginary one.
But now - what can he mean by 'morally equivalent'? If we look at the two
scenarios with a moral focus, there is actually one clearly evident
difference: the first one talks about data packages, the second about
people. (Always assuming you count Hollywood actors as people, which, sadly
enough, seems to be a finer point that slips some people's attention
sometimes in our entertainment-driven society.) Data packages can be easily
copied, and there is practically no difference whether you're looking at
one copy or another. They don't have an identity. Persons have. You cannot
just replace them by a copy. (That's partly because we don't known, or don't
know yet, a way to create an identical copy of a person. Some think that's
possible, some think it's not, and what it means for our ideas of personal
identity is still very much a matter of debate. But note that even if such a
replacement were possible, it would still be morally questionable to do
so.)
So, whatever equivalence holds between the TCP/IP scenario and Spolsky's
imaginary actor-transferral service, there is definitely no moral
equivalence. Actually, whenever people are involved (and especially where
people's lives are affected), technical design enters into a field or
moral responsibility. All sorts of safety and security aspects gain
suddenly a lot more weight. The second scenario has this aspect, the first
hasn't (at least not on the face of it). Thus, though structurally (or
formally) equivalent, under a moral perspective, these scenarios are not at
all equivalent.
As I said, all this doesn't affect the argument of the article, and
there is in fact a more charitable interpretation of the 'morally equivalent'
phrase: the 'moral' could be taken in the sense of 'what the moral of the
story is'. In this sense, the moral of the two scenarios is the same, so
one could take them to be 'morally equivalent'. Still, that's a misguiding
use. It had better been left out.