Subject: #1102 Suggestion to use "server" and "UA" in USEFOR

From: Harald Tveit Alvestrand <[email-masked]>
Date: Sun, 21 Aug 2005 20:41:05 +0200

Charles has suggested that USEFOR be changed to use the terms "server" and 
"user agent" rather than the current list of "agents" that are more-or-less 
backported from USEPRO.

I have not seen any debate on it; I tend to sympathize from the viewpoint 
of making a simpler and more well-known terminology; on the other hand, 
it's a bit of work for the editor, and at this hopefully-late stage, it's a 
big change to digest.

Do people have any thought on this subject?

               Harald

---

From: Russ Allbery <[email-masked]>
Date: Sun, 21 Aug 2005 12:35:40 -0700

> Do people have any thought on this subject?

I find the long list of agents confusing, but I would find switching
between one set of terminology in the format document to a different set
of terminology in the protocol document even more confusing.

If we're going to change the format document, we should change USEPRO as
well.  If we're not going to change USEPRO, we should probably live with
the complexity.

-- 
Russ Allbery ([email-masked])             <http://www.eyrie.org/~eagle/>

---

From: Frank Ellermann <[email-masked]>
Date: Mon, 22 Aug 2005 08:19:18 +0200

>> Do people have any thought on this subject?

I'd like "news server" but...

> I find the long list of agents confusing, but I would find
> switching between one set of terminology in the format
> document to a different set of terminology in the protocol
> document even more confusing.

...that makes sense, unfortunately.  We now have this clumsy
"header field" etc. terminology, keeping the various "agents"
is at least the same correct style, whether I like it or not.

> we should probably live with the complexity.

There's a note in 1.5:

   Posting, reading and followup agents (which are usually just
   different services provided by the same piece of software)
   are known collectively as "user agents".

Let's say:
                             "user agents" or "news reader"
  (the client of a news server, see below).

The next paragraph in 1.5 defines the "injection agent" using
the (undefined but obvious) term relaying agent.  We could add:

  Combinations of injection and relaying agents are also known
  as "news server".

Or similar, less DEnglish if possible.  Strange, we have so
many agents, but not one of them offers to _get_ articles ;-)
Who talks with a "reading agent" ?  No serious question, bye

---

From: Richard Clayton <[email-masked]>
Date: Mon, 22 Aug 2005 11:25:39 +0100

In message <990B5932BFDC2E7A45C35B9E@B50854F0A9192E8EC6CDA126>, Harald
Tveit Alvestrand <[email-masked]> writes
>Do people have any thought on this subject?

since different agents are permitted to do different things there is
value in giving them different names, especially when these names are
used in other documents as well...

I have a feeling that changing the terms will make much more of a meal
of a paragraph such as this one:

   Components beginning with underline ("_") are reserved for use by
   future versions of this standard and MUST NOT be generated by posting
   agents (whether in Newsgroups header fields or in newgroup control
   messages [USEPRO]).  However, such names MUST be accepted by relaying
   and serving agents.

which is at least reasonably concise at present!

BTW: Mind you, now I look at it, I have a question about this paragraph,
does this mean that it is currently proper for an injection agent to
generate an underline? and that a followup agent can fail to accept it ?
Why not say what I suspect is intended "However, such names MUST be
accepted by all agents."

- -=-=-=-=-

If we keep the names (and I think we should) then some tidying up of
definitions and usage is called for.

Looking at the definitions in #1.5, these would benefit from being
presented in a better order, the "message identifier" definition refers
forward to a term not yet defined.

Also there are no definitions for "serving agent" or "relaying agent"

Also, in the rest of the document for generic terms for all of the
entities I find "agent" "news agent" and "netnews agent". I would
suggest just "agent" would suffice.

I'd also suggest hyphenating the terms (ie: "posting-agent" etc) because
this makes it far more clear when you meet sentences that say

   ... new agent ...

that the agent is merely meant to be a novel one :) and it isn't a typo

- -- 
richard                                              Richard Clayton

They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.         Benjamin Franklin

---

From: "Forrest J. Cavalier III" <[email-masked]>
Date: Mon, 22 Aug 2005 06:42:41 -0400

> Do people have any thought on this subject?

Yes.

All the different agent designations in USEPRO are mostly artificial,
arbitrary, and unnecessary.  Real-world software does not fit clearly in any
one category, and performs multiple agent roles.

USEPRO would be a lot clearer if it dismissed with all the language of "Duty"
and used definitions of cause and effect.

Since USEPRO is not finished, and USEPRO changes have been declared
unacceptable topics for discussion, it is a mistake to make USEFOR
confusing in order to be consistent with an unfinished document that we
all know needs substantial revision.

---

From: Harald Tveit Alvestrand <[email-masked]>
Date: Mon, 22 Aug 2005 05:52:57 -0700

> Why not say what I suspect is intended "However, such names MUST be

it would, I think, change to

   Components beginning with underline ("_") are reserved for use by
   future versions of this standard and MUST NOT be generated by user
   agents (whether in Newsgroups header fields or in newgroup control
   messages [USEPRO]).  However, such names MUST be accepted by servers.

Which would answer your questions......

---

From: "Charles Lindsey" <[email-masked]>
Date: Mon, 22 Aug 2005 14:01:36 GMT

>it's a bit of work for the editor, and at this hopefully-late stage, it's a 

The various sub-categories of agent are useful when it comes to defining
the protocol, but have little impact on just the format of articles.

If people are happy with the general principle, I would be happy to
propose a detailed list of changes to implement it.

-- 
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133   Web: http://www.cs.man.ac.uk/~chl
Email: [email-masked]      Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9      Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5

---

From: Frank Ellermann <[email-masked]>
Date: Mon, 22 Aug 2005 19:37:36 +0200

Richard Clayton wrote:

>| such names MUST be accepted by relaying and serving agents.

Oh, here's the missing part, something talking with "reading
agents" is a "serving agent".  If we keep this terminology
we should explain in 1.5 who's who.  For P-A, F-A, and R-A
there's a summary, "collectively known as UA" (or similar),
we should add 'or "news reader" (the client of news servers)'.

We need a similar summary for I-A, R-A, and S-A: 'also known
as "news server"'.  Maybe in USEPRO instead of USEFOR.  But
Forrest said that we might need another terminology in USEPRO
later, and therefore we should use general terms like UA and
server in USEFOR.

OTOH Russ said we should use the same terms in both texts -
it's impossible to follow both strategies at the same time :-(

My gut feeling, for some time I had serious difficulties to
understand who's who wrt I-A and P-A.  And yesterday I didn't
know the term S-A.  That's a bad sign, the terminology is not
clear.  No good idea how to fix it, but minimally 1.5 should
be complete listing all six agents, defining a "news server"
as the set I-A, R-A, and S-A 

Or we move all these details to USEPRO where talking about the
different agents makes more sense.  Especially F-A vs. P-A is
highly artificial or in other words utter dubious - any piece
of software claiming to be only a P-A but no F-A (or v.v.) is
most probably broken.  The functions are also almost identical,
creating no References at all is a special case of creating
proper References, that's a chapter in USEPRO, not a separate
"followup-agent".  And we don't want something that is _only_
a "posting-agent", if it can't create followups it's wrong.

                         Bye, Frank

---

From: Harald Tveit Alvestrand <[email-masked]>
Date: Mon, 22 Aug 2005 11:39:06 -0700

--On 22. august 2005 19:37 +0200 Frank Ellermann <[email-masked]> 
wrote:

> most probably broken.

The 20-line Perl script that I use to make monthly postings to 
comp.os.linux.misc is a posting-agent that isn't a forwarding-agent..... 
obviously a special case.

---

From: Frank Ellermann <[email-masked]>
Date: Mon, 22 Aug 2005 22:43:39 +0200

Harald Tveit Alvestrand wrote:
 
> The 20-line Perl script that I use to make monthly postings
> to comp.os.linux.misc is a posting-agent that isn't a
> forwarding-agent..... obviously a special case.

Okay, it's a bot that never creates followups.  Some bots do,
article validators in test groups waiting for users who don't
say "ignore noreply" somewhere in the subject.  Adding some
lines you could turn your P-A in an F-A, this distinction is
artificial.

You just said "forwarding-agent" instead of "followup-agent",
maybe it's not only me who doesn't see why F-A is a necessary
term for a distinct set of functions.

                           Bye, Frank

---

From: "Charles Lindsey" <[email-masked]>
Date: Tue, 23 Aug 2005 11:11:34 GMT

>   messages [USEPRO]).  However, such names MUST be accepted by relaying

As Harald has already explained, s/posting agents/user agents/ and
s/relaying and serving agents/news-servers/.

OTOH, that change would suggest that injecting agents MUST now accept that
"_", and I am not sure that is what we want

>Why not say what I suspect is intended "However, such names MUST be

Yes, I think we need to make up our minds there. For sure, no agent
(posting or injecting) should be generating that "_" until some future
standard says so. Whether injecting agents (in their role as protectors of
Usenet against invalid stuff) should throw them out is worth discussing.
If we are changing that paragraph in the course of removing all those
*-agent terms from USEFOR, then we should fix any such problems at the same
time.

>forward to a term not yet defined.

Some pairs of definitions are mutually self referring.

See USEPRO 2.2 for the intended detailed definitions of the *-agent terms,
which introduces them in the context of the overall architecture.

---

From: "Charles Lindsey" <[email-masked]>
Date: Tue, 23 Aug 2005 11:23:14 GMT

>as the set I-A, R-A, and S-A 

Please read section 2.2 of USEPRO, which defines all those *-agent terms
in the context of the overall architecture (which it would be impossible
to do in USEFOR). It also defines "user agent" and "news-server" as the
appropriate groupings of *-agents.

(Note that 2.1 of USEPRO would be removed, since it just
duplicates the definitions in USEFOR.)

>different agents makes more sense. ...

Yes, that was the intention behind my proposal not to use those terms in
USEFOR.

If USEFOR introduces and uses just "user agent" and "news-server", then it
could well point out that USEPRO introduces a more detailed
classification.

---

From: Frank Ellermann <[email-masked]>
Date: Wed, 24 Aug 2005 16:43:12 +0200

Charles Lindsey wrote:

> Please read section 2.2 of USEPRO

Yes, that's okay, but let's join P-A + F-A => P-A.
 
>> Or we move all these details to USEPRO where talking about
>> the different agents makes more sense. ...
 
> Yes, that was the intention behind my proposal not to use
> those terms in USEFOR.

Okay, not as Russ wanted it, but better for USEFOR, and if we
have the sets "UA" (P-A, R-A) and "news server" (I-A, R-A, S-A)
resulting in 3 + 4 terms, then using the two collective terms
is USEFOR, and the five specific terms + gateway in USEPRO is
not too bad.

> If USEFOR introduces and uses just "user agent" and
> "news-server", then it could well point out that USEPRO
> introduces a more detailed classification.

Maybe we need I-A in addition to "news server" in USEFOR at
some places (e.g. because R-As are not interested in some
rules for I-As).  In that case we could say something like:

      The news server (injection agent) MUST do...

I'm not yet sure that this is really the best idea.  Another
way would be to get rid of all specific UAs, posting, reading,
followup-ping, who cares, it's the UA.  But keep I-A vs. R-A
and UA vs. gateway, because these beasts are functionally
different, with different duties depending on their role.

                          Bye, Frank