gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] [OT] engineering ethics and rhetoric in the modern age


From: Tom Lord
Subject: [Gnu-arch-users] [OT] engineering ethics and rhetoric in the modern age
Date: Mon, 22 Sep 2003 16:49:32 -0700 (PDT)


(original thread was
   Re: [Gnu-arch-users] Why so many version control projects?
)


Wow.  Schematically, just to get it out of the way, a lot of this
thread has gone:

        Tom: "X"
        Zack: "Y" is false.   The real problem here is that
              insist on "Y", which is obnoxious.
        Tom: I didn't say "Y".   Perhaps there is a miscommunication
             because of the word choice.   "X" could be reprhased and
             further explained as "X'", not "Y".
        Zack: You just don't get it.  You keep saying "Y" and
              insisting on that, which is obnoxious.  No wonder
              people aren't doing what you think is the right thing:
              it's your own fault for obnoxiously insisting on "Y".

Please imagine a long series of never-resolving messages of the form:

        Tom: "X!!!  Learn to read!  Suppose you were a complete idiot:
             even so, you should be able to understand "X" (so just
             _try_)."

        Zack: "Y?!?!?   You jerk.  You're calling me an idiot?
              Alright, now you're in trouble."


That's boring.  Instead, I wanted to focus on what could be called the
"ad hominem" attacks in Zack's message.  I don't really care to defend
myself against them ("Oh, I piss some people off?  Go figure.").   I
do want to pull into view how they are being used in "threads like
this" and why that is a Bad Thing.  I'd like to try to elevate the
dialog to something more interesting.

    >> Tom:

    >> You're assuming that I'm reacting to disagreement.  In the case
    >> of svn, I'm not reacting to disagreement.  I'm reacting to
    >> refusal to understand/consider the issues well enough to form a
    >> disagreement, in the face of ample overtures laying out the
    >> basics and offering to work through the details.

    >> I'm reacting to a breakdown of how civilized engineers in positions of
    >> social responsibility (a condition both I and the svn engineers find
    >> ourselves in) should behave.   I don't see a disagreement:  I see a
    >> breakdown of those extra-economic processes by which engineers provide
    >> checks and balances on the economic authorities within whose domains
    >> they operate.

    > Zack:

    > Again: your ego is preventing you from considering the issue clearly.
    > You see only stubbornness and inability in the people who don't do
    > things the way you feel they should be done.

I said nothing about stubbornness or inability in certain people.
That is your inference, and it is a false inference that precludes a
calm, critical analysis of the situation.

I spoke about "a breakdown of those extra-economic processes by which
engineers provide checks and balances on the economic authorities
within whose domains they operate".  Such a failure isn't necessarily
caused by a personal weakness such as stubbornness or an absense of
competence such as an inability to provide those checks and balances.
Personal weaknesses or incompetence are sometimes _sufficient_ to
cause such a failure, but they not _necessary_ to cause such a
failure.  I would guess that, most often, in the big picture, when
such failures occur, such personal failings are _not_ the cause.
(If only it were that simple....)

I have pointed out a situation which is relatively uncontroversial.
Even you yourself expressed agreement with the technical details of
how the collective engineering process has failed.

_You_ seem to have concluded that:

        a) I am therefore asserting the existence of a character flaws
           or incompetence in certain individuals.

        b) Since such an assertion is obviously obnoxious, the real
           problem is a character flaw in me.

The first problem is that (a) is false and that therefore, (b) is
unsupported.   Now, don't get me wrong -- like everyone else, I have
my share of character flaws -- but the particular one I am accused of
here exists only in your imagination -- only in those things you have
imagined me to be saying which I have not actually said.   Those
things which I have pointed out that I did not say only to have you
ignore those parts of my reply.

The second problem is that the "systems failure" I've pointed out (in
our collective engineering processes, regarded as a whole) is, if not
itself an example, at least is "of a kind" with the kinds of failures
that waste billions of dollars, ruin lives, and kill people.  The kind
of failure I've pointed out, even if this is a minor example, is of
the sort that is one of the _central_concerns_ of socially responsible
conduct for engineers.  (For the record, I don't think this one is a
trivial instance.)  Yet your response is reductionist.  Your response
seeks to reduce the entire issue to one of "personalities" which is to
say, it seeks to deny the very existence of that central concern of
engineering.  I'll explain that "central concern" in greater detail
starting 2 paragraphs hence).

This is why I said earlier that your mythologizing is harmful.  Your
soap-opera stories a kind of cognative pollution.  Yours is an attack
on the very idea of a rational, critical discourse concerning an
engineering problem that crosses the political boundaries of projects
and companies.

I'll say it again differently by explaining that "central concern": as
engineers, we often deal in "hard reality" -- facts which are true
regardless of how people feel about them.  PI is irrational, and so
forth.  As politicians (including the political roles of project
volunteer, project maintainer, employee, employer, supplier, and
consumer) we deal with "soft reality" -- facts which are true
_precisely_because_ people feel a certain way about them, often by
choice.

The facts of hard reality are immutable.   _Some_ of the facts of soft
reality are mutable.

In our modes of political organization (e.g., projects, companies) we
attempt to use techniques defined in terms of soft reality to manage,
to control, to arrange elements which are goverened by the laws of
hard reality.   We decide, for example, to direct labor towards
working out a particular mathematical construct (a program).

Collectively, as a species and a civilization, as our understanding of
both hard and soft reality advances, our techniques for that
intervention -- our ability to _use_ hard reality by means of soft
reality mechanisms -- grows to profound, super-human scales.   We can
build nuclear weapons.    We can grow crops in a desert.   We can
redirect rivers, turn ocean bays to fresh-water ponds, extinguish
species, create new forms of life -- and deploy a single program on
millions of computers, or govern the conduct of dozens or hundreds of
volunteer contributors.

A priori, hard reality constrains soft reality -- but it is clearly a
cold comfort.  The "constraint" has the form of "if you, the people of
the world, try to do something really stupid -- great havoc will be
unleashed upon you".

Therefore, it is rational to examine, in a direct and critical way,
the nature of what it is that soft reality is attempting to do with
hard reality.

As engineers, we occupy an interesting position.   We are right on the
frontier between hard and soft reality.   We are pretty much the
boundary between the two.

And that gives us a special burden:   When the soft reality "orders"
(either directly, in the form of edict, or indirectly, in the form of
custom) -- when the soft reality "orders" us to attempt something with
hard reality -- we are the LAST LINK IN THE CHAIN with the opportunity
to THINK about what we are doing.   We are the last link in the chain
with the opportunity to say: "No, sorry, `soft reality' has just hit
the blue-screen-of-death.   `soft reality' needs a patch here.   We're
not going to do that."

A long time ago, it was hard to become one who we might today label
"engineer".   At times, for example, it required a long apprenticeship
and the transmission of knowledge that was not widely broadcast.   It
was easy to boot out people who shouldn't be there -- who didn't
perceive or didn't live up to the responsibilities.

Even in recent times -- 30 years ago, perhaps -- it was _largely_ a
very controlled transmission of knowledge.  The social responsibility
I refer to -- the responsibility to be critical and analytical and to
be prepared to say "NO" -- was whispered.  Not only was it taboo to
discuss that duty too loudly, but it was even encouraged to say "NO"
very indirectly, essentially by sabotage ("Sorry, we tried, but -- uh,
well, there was a gamma burst of zeta particles in the funkobulator
which caused a complete sieze-up of the grokalator.  Hey, it's rare,
but it happens.  I'll bet you can collect an insurance claim on it.")

My personal belief is that these days, when essentially all
engineering knowledge is broadcast everywhere and (especially in
software) anyone can join the game -- the taboo must fall.

Selfless, critical analysis of the cumulative effect of our actions,
transcending the political boundaries of projects and companies, must
be a first-class topic of discussion and trying to achieve such
analysis a new, unembarassed habit.

Your replies -- your mythologizing -- your "soap-operafication" of the
projects and companies -- and your sloppy, rhetorically convenient
misreading of what I've said -- all these things must go.  Sorry.
Those things are excuses not reasons -- and the subject under
consideration deserves reason, not excuse-making.

One could even relate the nature of your replies to scientifically and
politically naive criticisms of the recent actions of the US in Iraq.
I will not, in this message, take a position on those actions.
However, some criticism of them focuses entirely on "personalities"
(especially of political leaders) and on the absolute preeminance of
political constructions such as the UN or ideas about the nature of
state sovereignty.  Such criticisms are non-responsive and harmful.
They deny the scientific and engineering realities that transcend the
power of the political sovereignties and seek to exclude consideration
of those realities from the debate.  Those scientific and engineering
realities (the modern affordability and ease with which considerable
havoc may be unleashed by an infinitessimal minority) are the core
premise of the action and, consequently, criticism of the action
should address those issues directly, in those terms -- not wish them
away.  Wearing my engineer's hat, I don't care much about assertions
that the war in Iraq is an "oil grab" -- I want to hear what would be
a better way to address the threat of technologically capable,
non-transparent, economically and scientifically resourceful political
peers with expressly hostile intentions.

In the free software world, what "havoc" may be wrought is surely far
more mediated -- such trivial issues as wasted labor, business
inefficiency, mis-educated youngsters, Internet security
vulnerabilities, lost opportunities, and so forth.  I make no moral
equivication of those issues with the issues at hand in international
politics.

Yet I do not think that the lesser issues of free software are without
moral and ethical and practical consequence.   They are, very much, an
appropriate subject for critical, analytical discourse concerning how
they are impacted by the decisions and actions of hackers, projects,
businesses, and customers.

For such a discourse to be possible, one must be able to cite, without
broader implication, the violation of a proposed invariant -- in order
to initiate analysis of the relevance of the invariant and the causes
of its violation.

That's what I did.  That's all I did.

The proposed invariant was roughly: "If we're all going to be staking
large claims to volunteer labor, economic resources, and prospective
customer mind-share for revision control -- then there should at least
be some demonstrable effort on the part of the engineers to be on the
same page with respect to the design space and its implications.  This
ain't rocket science, after all -- but it does have huge
consequences."

Seeing that invariant violated, I say: "Something serious has gone
wrong, not sure why yet.   We aren't living up to that
responsibility.   I think I've done my part but it's like I'm talking
to a brick wall."

In reply, you made many ad hominem attacks against me and twisted my
words quite excessively.

Now we have two problems.

Get it?


-t





reply via email to

[Prev in Thread] Current Thread [Next in Thread]