Subject: Re: 2119bis

From: [email-masked] (Noel Chiappa)
Date: Sat, 3 Sep 2011 10:14:04 -0400 (EDT)

On Tue, 30 Aug 2011, Martin Sustrik wrote:

    > For an implementor it's often pretty hard to decide whether to
    > implement functionality marked as SHOULD given that he has zero context
    > and no idea whether the reason he has for not implementing the feature is
    > at all in line with RFC authors' intentions.

For me, I would say that unless the implementor in question has experience in
designing protocols, and fairly deep understanding of that particular area, they
are not in a position to make a good judgement on whether or not they can ignore
a 'SHOULD'.

	Noel

---

From: Hector <[email-masked]>
Date: Sat, 03 Sep 2011 10:52:35 -0400

Noel Chiappa wrote:
>
> For me, I would say that unless the implementor in question has 
> experience in designing protocols, and fairly deep understanding 
> of that particular area, they are not in a position to make a 
> good judgement on whether or not they can ignore a 'SHOULD'.

True Noel, but the author has to be aware that he might not get what 
it wants.  See RFC2119 Section 6.

SHOULD really shines in protocols that are updated. For example:

X1 is in original Protocol v1.0

    MUST USE X1

For protocol v2.0, X2 is a improved version of X1.

    SHOULD USE X2 IF POSSIBLE, IF NOT
    MUST USE X1

Its the same as saying

    MUST USE X2 first or X1 as a fallback

Implementors using Protocol v2.0 will use X2, if it wants to because 
it can use X1.  You have no control over this. X2 can be an improved 
version the operator doesn't like.  He likes X1.

Legacy Implementors using Protocol v1.0 doesn't known anything about 
X2 so it will naturally use X1.

On the only had, you have can have:

  Protocol v1.0 with X1 with Protocol V2.0 X1 and X2.

The protocol v2.0 implementor may not be able to do X2 unless it knows 
the other side is protocol v2.0 ready.

It all depends - it can have an auto-negotiation for the highest X 
version or one that is disabled too.

In all cases, The end points must not break down when one or the other 
lacks X2 support.

Make sense?

--
HLS

---

From: "Randy Presuhn" <[email-masked]>
Date: Sat, 3 Sep 2011 09:39:14 -0700

Hi -

> From: "Hector" <[email-masked]>
> Cc: <[email-masked]>
> Sent: Saturday, September 03, 2011 7:52 AM
> Subject: Re: 2119bis
...
>     MUST USE X2 first or X1 as a fallback
...

No, those two formulations mean different things.
If the first "SHOULD" were a "MUST", then they'd be close
but still not equivalent.

Randy

---

From: Joe Touch <[email-masked]>
Date: Mon, 12 Sep 2011 15:33:20 -0700

> are not in a position to make a good judgement on whether or not they can ignore

FWIW, IMO "SHOULD" should only be used in docs when accompanied by a 
description of a known or suspected exception case.

Otherwise it's just a wiggle-word variant of MUST, and there's no point 
in being vague in a spec.

Joe