Subject: [Tools-discuss] Re: Idnits-2.04.09 feedback

From: Henrik Levkowetz <[email-masked]>
Date: Tue, 03 Jul 2007 15:51:47 +0200

Hi Paul,

On 2007-07-03 15:39 Paul Aitken said the following:
> Hi.
> 
> I just found a problem with a draft that's just about to become an RFC, 
> where it claims RFC 2119 compliance but uses the term "MAY NOT" which is 
> not defined in RFC 2119.
> 
> This is leading to two different interpretations - one believing MAY NOT 
> == MUST NOT, the other believing MAY NOT == SHOULD NOT.
> 
> Could idnits be updated to check for such errors?

Thats sounds like a reasonable and helpful idea.  I'll see if I can come
up with something to address this.

	Henrik

_______________________________________________
Tools-discuss mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tools-discuss

---

From: Brian E Carpenter <[email-masked]>
Date: Tue, 03 Jul 2007 16:34:37 +0200

>> == MUST NOT, the other believing MAY NOT == SHOULD NOT.

By the way, the meaning is very clear in English, as in
"You MAY NOT have another ice cream." But I think it is to avoid
this argument that the phrase is not present in 2119.

> up with something to address this.

You do have one little twist to watch out for. 2119 defines "NOT RECOMMENDED"
but the recommended boilerplate fails to include it. So "NOT RECOMMENDED"
is allowed.

     Brian

---

From: Henrik Levkowetz <[email-masked]>
Date: Tue, 03 Jul 2007 16:52:47 +0200

On 2007-07-03 16:34 Brian E Carpenter said the following:
...
> but the recommended boilerplate fails to include it. So "NOT RECOMMENDED"

Good point.  Idnits actually accepts a variation of the recommended
boilerplate which includes "NOT RECOMMENDED", for this reason.  I'm
thinking a bit now about what kind of algorithm to use in order to
catch both "MAY NOT" and similar phrases while accepting those which
are defined in 2119.

	Henrik

---

From: Joe Touch <[email-masked]>
Date: Tue, 03 Jul 2007 19:16:25 -0700

Brian E Carpenter wrote:
>>> I just found a problem with a draft that's just about to become an
>>> RFC, where it claims RFC 2119 compliance but uses the term "MAY NOT"
>>> which is not defined in RFC 2119.
>>>
>>> This is leading to two different interpretations - one believing MAY
>>> NOT == MUST NOT, the other believing MAY NOT == SHOULD NOT.
> 
> "You MAY NOT have another ice cream."

The safety harness MAY NOT work. Which also means it may.

It's not so clear. When it's a imperative, it may be unambiguous as
equivalent to MUST NOT, but imperatives aren't a common part of written
English except as narrative. When used in a declarative (as I have used
it), it often means SHOULD NOT.

Joe

---

From: Henrik Levkowetz <[email-masked]>
Date: Fri, 06 Jul 2007 13:37:34 +0200

Revisiting this:

> up with something to address this.

Idnits v2.04.10, which I'm just releasing, looks for and comments on
the presence of "MAY NOT", "NOT REQUIRED" and "NOT OPTIONAL".  I tried
a solution which more generally looked for uppercase words adjacent to
a 2119 keyword, but that resulted in too many false positives, so I
restricted the check to the 3 expressions listed above.  It is trivial
to extend the list if needed.

	Henrik

---

From: Paul Aitken <[email-masked]>
Date: Tue, 03 Jul 2007 15:06:00 +0100

> up with something to address this.

Thanks Henrik.

-- 
Paul Aitken
Cisco Systems Ltd, Edinburgh, Scotland.

---

From: Paul Aitken <[email-masked]>
Date: Tue, 03 Jul 2007 17:32:03 +0100

Brian,

> this argument that the phrase is not present in 2119.

Well I thought so, as did the other authors and implementors of this 
protocol.

But today someone else (possibly a non-native English speaker, though 
obviously with an excellent command of English) interpreted "MAY NOT" as 
"SHOULD NOT", or "MIGHT NOT", ie "I understood it has a possibility of ..."

Thinking about it, everyday we use phrases such as "I may not go ..." or 
"I may not do that" when we actually mean "might not", since "may" 
indicates permission, whereas "might" indicates probability.

However, in terms of RFC 2119, "MAY NOT" doesn't make much sense: my 
guess is that it'd indicate that it's optional NOT to do something, 
which is about the same as being optional that you do it.

Bottom line is that we should highlight such mistakes to authors so they 
can tighten up their drafts - and idnits seems the perfect way to do that.

Cheers.

---

From: Paul Aitken <[email-masked]>
Date: Tue, 03 Jul 2007 14:39:09 +0100

Hi.

Thanks.

---

From: Paul Aitken <[email-masked]>
Date: Tue, 03 Jul 2007 17:32:03 +0100

Brian,

Cheers.

---

From: [email-masked] (Scott O. Bradner)
Date: Fri, 13 Jul 2007 13:48:18 -0400 (EDT)

> However, in terms of RFC 2119, "MAY NOT" doesn't make much sense: 

that is what the author thought when writing RFC 2119

Scott