On Tue, 30 Dec 2003, Christof Drescher wrote:
> > When a user's client does not work the way the user expects, the user will
> > blame the client, not their system administrator.  And the client authors
> > are going to lash out at any server which turns out to be the cause of the
> > problems.
> .. something which the server author can explain very easily, because
> someone must have done a change deliberately. No one can blame a server
> which follows given commands (by client) of given config (by admins).

That has not been my experience.  Repeatedly over the years, when a server
does not behave the way that a client expects, no amount of explanation
from the server author will suffice.  This is the case even when it is a
matter that the specification explicitly covers and rules in favor of the
server.

Regardless of what a specification may say, both clients and servers tend
to home in on what seems to be the widely implemented interpretation of a
protocol.  Implementations that deviate from this interpretation tend to
be looked at with suspicion or even hostility.

This can happen with both clients and servers, but clients are nearer to
the user.  It is rare to find a user who takes the side of a server over
the client; typically users support the behavior of their clients and
sysadmins supports the behavior of their servers.

Server implementors are often obliged to mandate user interface behaviors
due to implementation concerns; and as a result are brought into this type
of conflict unavoidably.  The lesson to be learned is for server
implementors to eschew conflicts with clients which can be avoided.

> I'm baffled why this rule exists in 7.4.1. I'd REALLY be interested to see
> an example which would cause a "loss in syncronization" if untagged expunge
> responses are sent at the end of any command.

Clients are allowed to send multiple commands without waiting for
responses.  If those commands use sequence numbers, then an unsolicited
EXPUNGE for one of the earlier commands will cause a later command to
operate on a different message than was intended.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.

Reply via email to