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

[no subject]



    Date: 5 January 1982 22:15-EST
    From: David L. Andre <DLA at MIT-AI>

    Why, RMS, did you start messing with :DIRECTORY-STREAM?
Because it could not transmit user-defined properties which were not strings.

    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.
There are now two external ones and one internal one,
where previously there was one external one and one internal 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.
No level of abstraction was added.  There is no default method for
:DIRECTORY-STREAM, so probably you mean the one for :DIRECTORY-LIST,
but that was already there.  I did not introduce it.

    :DIRECTORY-STREAM is internal to :DIRECTORY-LIST, and nothing else.
Now it is internal to :DIRECTORY-LIST-STREAM as well.
    :DIRECTORY-STREAM is *defined* by the FILE protocol
No, it was put on a method of the flavor PATHNAME, which seemed to
indicate the intention on someone else's part that it was more general
than just QFILE.  Since this seemed reasonable to me, I went along
with it.
It is important that SOMEONE ELSE did this.  I thought that
:DIRECTORY-STREAM was intended (and not just by me) to be the default
thing for anything to implement, which would imply it was supposed to
be suitable for things in general to use it.
						       , 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
I don't THINK I use :DIRECTORY-STREAM as my entry point,
but perhaps I don't understand you.
		       , 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.
I'm sad you feel this way, but your idea of WHAT I did and why seems
to be mistaken, so it is not clear to me that what I ACTUALLY DID
is related to the anger.

    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.
You are probably right about this.
		  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.
I expect people to be directly opposed to things I propose merely
because they were proposed by me.  Specifically, I expect people to
jump to the conclusion that my actions are stupid without actually
understanding them.  I expect this because it happens frequently; for
example, you are doing so now.

Faced with this, my two choices are to give in to an unfair
condemnation or to go directly against people.  The first time (wrt
NWS) I kept giving in in the hope that things would get better.  It
didn't work, so I decided that I had to stand up for myself.

Probably I am too quick to expect this to happen, and I may be
wronging other people by reacting to it in advance when it really
would not have happened.  But it does still happen (and it is
happening right now).  It is hard for me to treat other people on the
basis of expecting them to give any serious consideration to any
proposal I make when so often they don't.

    People have been very patient with you trying to get it into your skull
    that you are being very unreasonable.
I think that other people share in the unreasonability and that they
have often been far from patient.
					   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 thought that MMCM was primarily citing the possible requirements of
other file systems without answering my arguments.  If it is
blameworthy on my part it is blameworthy when other people do it,
but I would call it a misunderstanding.
		     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.

I am willing to talk about doing something differently but the
definition of "reasonable" that most people want me to obey seems to
be stacked so that they can mistreat me and I can't do anything about
it.  I can only agree to a kind of "reasonableness" which isn't
one-sided.