From: John Stanley (stanley@peak.org)
Date: Wed Feb 04 2004 - 12:20:55 CST
Charles Lindsey (chl@clerew.man.ac.uk):
> 3. A broken followup agent creates a "Re: Re: " or "Re^2: " situation.
The header is unstructured. There is no "broken" here.
>In
>this case, unpleasant things DO happen. Subsequent agents may show this
>article separately from others in the same thread.
This IS an issue of broken: the client is broken if it ignores the
mandatory References header in favor of an unstructured subject header.
We are not responsible for broken clients doing stupid things. Fix the
client; at least, bring it into the '90s, if not the current century.
>Or they may purport to
>detect a change of subject where none was intended.
So? This is a display issue, not interoperability. The message is not
damaged, the content is not mangled, the news system does not stop
working. At most, the user's client does something incorrect with a
valid header because it assumed something another header told it was
not true.
>So it IS a protocol issue insofar as #3 can lead to interoperability
>problems (and our Chair, when he was still participating, did rule that it
>was in order to consider it as an interoperability matter).
"Interoperability" includes two roots -- "operable", which means that
things work (and here nothing breaks for any non-broken client, so
"operable" does not apply), and "inter", which means "between two or
more things". This is solely an issue for broken newsreading clients that
choose to ignore the References header. That is not "inter".
Since it is neither an "inter" nor an "operable" problem, it cannot be
an "interoperability" issue. The chair was wrong.
>BTW, people have been saying that threading by references is THE proper
>way to go about it, and that threading by Subject is old-fashioned.
That's correct.
>But it is not as simple as that.
Yes, it is.
>Many current threading agents endeavour to
>detect a change of subject within a thread, and move the new subthread to
>a separate area.
We cannot predict in what ways a software author will ignore the existing
standards, nor in what ways he will write broken software. The fact that
many current threading agents (I assume you mean "reading agents which
thread articles for display", since "threading agents" don't seem to be
defined anywhere) do so by trying make guesses when another header tells
them explicitely is, by definition, broken behaviour, and should not be
supported further.
Either that, or we eliminate the References header altogether. It is
foolish to try to maintain two different systems in the same article for
transmitting the same information.
>Of course, it fails if "Re: " processing is wrongly done,
And clients that ignore the threading header (References) in favor of an
unstructured header are a perfect example of "processing [is] wrongly
done."