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

[no subject]



Why, RMS, did you start messing with :DIRECTORY-STREAM?

I fail to see any advantages to the changes you made.  There are now
three ways of frobbing with directories, where previously there was
one.  No significantly useful features were added in the process.  More
levels of abstraction were added in the default methods for
:DIRECTORY-STREAM and :DIRECTORY-LIST-STREAM.  The documentation will
necessarily become more complicated.

:DIRECTORY-STREAM is internal to :DIRECTORY-LIST, and nothing else.
:DIRECTORY-STREAM is *defined* by the FILE protocol, so messing with it
necessarily means messing with the file protocol, which necessarily
means updating the sources on many sites.  :DIRECTORY-LIST is all that
should be implemented for any file system.  If you use :DIRECTORY-STREAM
for your entrypoint, you are screwing yourself because you implemented
your file system wrong.  Now that you realize this, you are screwing
everyone else rather than changing your implementation.

I will dispense with the specifics of your programming for the rest of
this letter.  I consider them wrong, but that is not my point.  Rather,
this incident is just symptomatic of the way you deal with any software
which is maintained by a group.  You fundamentally change system
programs used and supported by many other people, without consulting
them as to the consequences, and evidently without thinking out the
consequences carefully for yourself.  It is impossible for a group to
get anything done if any member behaves in such a manner.  You have done
so, however, many times, much to the anger of the people you deal with,
myself included.

Your problem, RMS, is that you are too quick to flush conventions.  Most
conventions on the lisp machine have at one time or another, been
carefully thought out by a group of people, and yet you are willing to
change them both without consultation and without sufficient thought on
your part as to the consequences.  Even the conventions that are not
well thought out exist to aid the interaction of a number of
programmers.  One of the most important virtues is admitting what you
don't know.  I have gained some measure of respect among the people I
deal with because I don't go and break things in general, and when I do,
I fix them.  Off the top of my head, I can probably name about a score
of incidents where you have changed things DIRECTLY IN OPPOSITION to the
wishes of others.  They have given up dealing with you.  I'm about to.
Dammit, RMS, you may be smart, but you're shit if you can't deal with
people.  You have accused people many times of being silently against
you.  We are, and this is why.

People have been very patient with you trying to get it into your skull
that you are being very unreasonable.  MMcM has been (amazingly) civil
in his last group of letters on the :DIRECTORY-STREAM stuff.  You have
not answered most of his arguments, citing the requirements of your file
system instead.  I cannot speak for Symbolics, but I myself would not
accept your changes were I working there.  Out of your unreasonableness
grows two different protocols, two different lisp machine systems, to
which you are supposedly opposed.

I am unable to work in such an environment.  Either you start showing
reasonable level of consideration in your programming than you have
been, or one of us will be leaving.