Re: SHOULD vs MUST (was Re: Review of draft-ietf-geopriv-http-location-delivery-07)

Dave Cridland <> Tue, 24 June 2008 17:12 UTC

Return-Path: <>
Received: from [] (localhost []) by (Postfix) with ESMTP id 9AF2F3A6A1D; Tue, 24 Jun 2008 10:12:36 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id C5F543A6945 for <>; Tue, 24 Jun 2008 10:12:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.519
X-Spam-Status: No, score=-0.519 tagged_above=-999 required=5 tests=[AWL=0.604, BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, HELO_MISMATCH_NET=0.611, RDNS_DYNAMIC=0.1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id xuj5ENHd4aih for <>; Tue, 24 Jun 2008 10:12:34 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id C5C713A6845 for <>; Tue, 24 Jun 2008 10:12:33 -0700 (PDT)
Received: from ([]) by (submission) via TCP with ESMTPA id <>; Mon, 23 Jun 2008 11:19:53 +0100
X-SMTP-Protocol-Errors: PIPELINING
Subject: Re: SHOULD vs MUST (was Re: Review of draft-ietf-geopriv-http-location-delivery-07)
References: <> <> <> <>
In-Reply-To: <>
MIME-Version: 1.0
Message-Id: <>
Date: Mon, 23 Jun 2008 11:19:51 +0100
From: Dave Cridland <>
To: Lawrence Conroy <>
Cc: IETF Discussion <>
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"

I think I'm essentially agreeing with Eric Rescorla here, but perhaps  
phrasing it differently may help.

On Sat Jun 21 14:31:03 2008, Lawrence Conroy wrote:
> I had read 2119 to mean that a MUST was unconditional
> - do this or be non-complaint.

That's a reasonable assessment, given RFC 2119.

> Do you believe that MUST can have an "unless" clause?

I think that any MUST X unless Y can essentially be rephrased as one  
of "MUST (X or Y)", or "MUST (X or Y); SHOULD X". Lacking context on  
geopriv, it sounds like one of these (and it doesn't matter which).

> Doesn't this mean that any SHOULD with an explicit "unless" will
> need to be changed into a MUST - could you expand on this, please?

Again, I lack context here, but if the intent is as above, then they  
may do.

A SHOULD X unless Y essentially means "SHOULD (X or Y)" - as Eric  
says, this is probably not what the intent is, although in the case  
of TLS authentication it might be a reasonable course of action. I  
have to admit that if I read a "SHOULD X unless Y", given the usual  
English meaning, I'd read it as the same as "MUST X unless Y", but  
Eric's quite correct in pointing out the difference.

A final point is that actually phrasing it as "MUST X or Y" is  
problematic since English lacks the possibility of parenthesis for  
precendence - hence a stronger binding, such as MUST X unless Y, is  

Dave Cridland - -
  - acap://
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade
IETF mailing list