Subject: Re: References

From: John Stanley <[email-masked]>
Date: Fri, 22 Apr 2005 13:40:13 -0700 (PDT)

"Charles Lindsey" <chl@xxxxxxxxxxxxxxxx>:

>>Since References is now optional, yes,

>No, they are NOT optional. Read Usepro. 

Read USEEFOR, where the header is defined, and then read RFC2822, which is
what USEFOR refers to. That "SHOULD" in RFC2822 means it is not mandatory,
it is just a "strong" recommendation. A recommendation is still just a
recommendation.

>Everything that comes out of a followup agent MUST have one.

Not according to RFC2822, which is where the header is actually defined.

>Please stop deliberately distorting what everyone else is saying.

Coming from someone who deliberately and repeatedly attempts to put words
in my mouth, your command is simply ludicrous. I'm not distorting
anything;  I'm reading the draft USEFOR standard and RFC2822. I suggest
you try doing so before you toss about claims of distortion.

>> something without References can be a followup.

>No.

Of course it can. RFC2822 says, and to avoid more condemnation from you 
that I am "distorting" something, I'll quote:

references      0*              1               SHOULD occur in some
                                                replies - see 3.6.4

"Some replies". Doesn't even go as far as to say "SHOULD occur in
all replies", just "some". And:

   Furthermore, reply messages SHOULD have "In-Reply-To:" and
   "References:" fields as appropriate, as described below.

Just SHOULD. And:

	 The
   "In-Reply-To:" field may be used to identify the message (or
   messages) to which the new message is a reply, while the
   "References:" field may be used to identify a "thread" of
   conversation.

"May". Not a requirement. Furthermore, RFC2822 continues:

   If the parent message does not contain
   a "References:" field but does have an "In-Reply-To:" field
   containing a single message identifier, 

So, RFC2822 explicitely covers an example case of a "reply" (followup, in
USENET terminology) that does NOT contain a References header.

>No, its primary purpose is to facilitate threading,

Threading is a user interface issue, and we do not deal with user
interface issues. Furthermore, the "threading" you speak of is due to the
followup nature of the articles it identifies as such. That makes its
PRIMARY purpose to IDENTIFY followups (and the articles to which this is a
followup); after that, the user agent can do what it wants with them when
it displays them.

>No. If you read USEPRO carefully, 

If you read RFC2822 carefully, which you must do if you want to understand
USEFOR, you will see that References is OPTIONAL, and SHOULD appear in
SOME replies. Not mandatory in anything.

>you will see that threading (or other
>means of presenting lists of articles for display) is an (optional)
>feature of the protocol;

It is ridiculous to argue that a header that implements an OPTIONAL
"feature of the protocol" is in any way MANDATORY. But then, it's not a
"feature of the protocol", it is just a user-interface issue, and that
makes it even more ridiculous to argue that it is mandatory. Nothing at
all cares about that header in the protocol; only the user agent that
wants to do real threading cares, and it has to be able to deal with
articles sans References headers already. It can deal with them; why can't 
you?

>...they are entitled to assume that the headers they rely on for
>the purpose (References, Subject, Date) have been properly constructed,

Nobody but YOU is talking about the syntax of the headers. The issue at 
hand is a mandate for CONTAINING a header. Said mandate does not exist. It 
is an etirely different issue to say "IF you contain header X, it MUST be 
constructed this way" than "you MUST contain header X". The former is 
without question. We do it all the time. The latter requires a 
justification for interoperability on the EXISTANCE of the header, not 
just ability to decode it if it there. 

I'm quite happy if you want to say "the References header MUST contain 
...". RFC2822 already deals with the question of when References headers 
are mandatory, and the answer is "they are not."

>No it doesn't. It says they should be used for "Replies", which is not
>quite the same thing.

Close enough. All replies are followups. When RFC2822 says that the header
SHOULD appear in replies, then whatever REPLIES it excludes from a mandate 
are also FOLLOWUPs that are excluded.

>Well you are giving a good impression of not caring :-( . And even if you
>don't care, then I still do.

No, Charles, you do not. When you promote the concept "non-followups MAY 
contain References header", you exhibit a complete lack of caring about 
the ability to detect what is and is not a followup. It is only when the 
References header is in the current (RFC1036) MUST/MUST NOT version can 
you use it to identify a followup. MUST/MAY throws that ability away.

>> and 2) the existing standard does,

>Which is a good reason for keeping it so,

One cannot "keep" what one has already let go. draft-usefor-03 removed the
mandate. It's gone. If you want it back, justify it. "existing standard
says"  wasn't sufficient to keep it in usefor-03, so it's not sufficient
to put it back. "Charles says" is even less convincing.

>... and we should not change it
>without a clear agreement in this WG to do so.

Given your history of making changes to the drafts without any input from
the WG at all, much less a "clear agreement", this sudden religion you
have gotten for sticking to the process is, shall I say, questionable. And 
considering that we are discussing a change to the draft that was made 
with NO input from the WG in the first place ...

>>Currently, you cannot construct a well-formed USENET message that is a
>>followup without a References header. That is a direct effect of the
>>language in RFC1036 that says "It is required for all follow-up messages".

>And it's a direct effect of what USEPRO says.

Baloney. USEPRO is a DRAFT standard. It has no effect on existing 
requirements, only on what might be required some day maybe. When I say 
"currently ...", USEPRO is irrelevant. IF USEFOR-03 ever makes it to 
standard, then USEFOR will tell me that I CAN construct a well-formed
USENET message that is a followup without a References header, because 
RFC2822 says I can. POOF goes your caring about what is and is not a 
followup.

>>We are not debating what is and is not a followup here.

>Yes we are.

Maybe you are, but the topic of THIS discussion is the lack of mandate for 
a References header, and that has NOTHING to do with what is or is not a 
followup, only on whether there is a mandate for using that header in any 
circumstance. RFC2822 says SHOULD. That is not a mandate. End of story.

>And the opinion I am hearing (even from you now) is that it is
>whatever a followup agent produces. 

Stop putting words in my mouth, Charles. I'm getting fucking tired of it.
This is no longer just a difference of opinion, it's you pretending to 
speak for me, and you do NOT have the right to do that. Period.