I want to throw a few ideas (and some strong opinions!) into this discussion:
(1). There are IMAP servers that, in certain cases, do not assign new UIDs
to messages that are changed. This is because the servers have no way of
telling that a message has been changed. This makes the servers
non-compliant and creates a regrettable situation. But it is a fact of life.
(2). I happen to be in the habit of editing messages that I receive. I
don't do it often but I certainly do it. The most common case is with
messages that have generic or non-descriptive subjects. I may add text to
the subject field in order to help me identify a message more easily in
case I need to go back later and look for it. Another case is when I read
an encrypted message; I may choose to re-store it in plaintext form.
(3). Saying that people do not or should not edit received messages
strikes me as rather irrelevant because whatever we are discussing here
would presumably apply to all messages and there is one category of message
that people inevitably do edit, drafts.
(4). Adding any capability to IMAP to allow messages to be changed in any
piecemeal fashion would, in my opinion, make a nightmare of the
protocol. (Not saying that anyone is suggesting that.) Providing a way to
change a message by completely replacing it could be reasonable.
(5). IMAP could, in principle, be modified to allow a client to be
notified that a message has been changed by using a per-message
UIDVALIDITY. However I see no way to implement such a thing in a way that
would be compatible for clients that don't support it. In other words,
such a thing could not be an extension and therefore would be unacceptable.
(6). If we allow messages to be changed, how much do we allow them to be
changed? Suppose a message is changed beyond all recognition? Suppose one
message is essentially replaced by another? At what point do we insist
that it be given a new UID -- assuming we must because at some point it
essentially becomes a new message? To me, this seems such a morass that it
is not worth discussing. My conclusion: messages SHOULD be immutable and
that's that.
(7). The fact that messages are immutable should not be a big deal. You
can change a message in any way at all as long as you retire its UID and
give it a new one. If you need a link between the original and the changed
version then that can be done outside of IMAP by using a thread id or
something similar in the headers.
IMAP cannot be perfect, at least because it has to be used in conditions
that are imperfect. But IMAP is awfully good and thinking about changing
it often serves just to reinforce how good it is.
Pete
- RE: Why is a message immutable? John Milan
- Re: Why is a message immutable? Arnt Gulbrandsen
- RE: Why is a message immutable? John Milan
- Re: Why is a message immutable? Abhijit Menon-Sen
- RE: Why is a message immutable? John Milan
- Re: Why is a message immutable? Abhijit Menon-Sen
- RE: Why is a message immutable? John Milan
- RE: Why is a message immutable? Timo Sirainen
- Re: Why is a message immutable? John Doty
- RE: Why is a message immutable? John Milan
- RE: Why is a message immutable? Pete Maclean
- RE: Why is a message immutable? Steve Hole
- RE: Why is a message immutable? John Milan
- Re: Why is a message immutable? Arnt Gulbrandsen
- RE: Why is a message immutable? Larry Osterman
- RE: Why is a message immutable? John Milan
- RE: Why is a message immutable? Mark Crispin
- RE: Why is a message immutable? Larry Osterman
- RE: Why is a message immutable? Larry Osterman
