[Mimedefang] [ot] must vs would. Battle at Noon.

John Rudd john at rudd.cc
Sat Sep 23 13:45:57 EDT 2006

Kevin A. McGrail wrote:
>>> If a SHOULD could be interpreted as a requirement, there
>>> wouldn't be any MUST's.
>> There is absolutely no logic to your statement.
> All of your points seem "correct" and they are a better way of 
> interpreting the RFC that I agree with.  I am, unfortunately, telling 
> you that they state must/should on purpose and they really do mean 
> different things in RFC-speak.  However, you are wrong in stating 
> "And, there is nothing in the definition of the RFC use of the term 
> "SHOULD" which says you MUST NOT treat a SHOULD as a requirement for
> service".
> There is, naturally, an RFC about this... 
> http://rfc-ref.org/RFC-TEXTS/2119/index.html
> Specifically: http://rfc-ref.org/RFC-TEXTS/2119/chapter3.html
> Anyway, really not trying to beat you up about this.  It surprises a 
> lot of people doing RFCs and I wish they could be interpreted the way 
> I want sometimes too!

Yes.  I read RFC-2119 before I replied to your last message on the subject.

There is nothing in that RFC that disagrees with what I've said.  In 
fact, the wording of things I have said in this thread is specifically 
based on the wording of that exact RFC.

As I said, "should" means "if you ignore this, make sure you're aware of 
the consequences of doing so".  That's the same as "the full 
implications must be understood and carefully weighed before choosing a 
different course" (from RFC-2119).  And RFC-1912 clearly states the 
"full implications" of not having matching A and PTR records are: 
"Failure to have matching PTR and A records can cause loss of Internet 
services similar to not being registered in the DNS at all".

Therefore, even though the recommendations in the first half of that 
paragraph are identified with "should", it clearly states that avoiding 
the should can result in a loss of services (there isn't a "must" in 
that paragraph until you get to the requirement that PTR records point 
to an A record and not a CNAME).

Thus "should" may be a requirement for service.  Whether or not a 
"should" is a requirement for service is dependent upon specific 
implementation and site policies, whereas with a "must", the requirement 
for service is absolute.  Therefore, unlike one assertion made in this 
discussion, using a "should" as a requirement for service does NOT 
dilute the meaning of "must".

More information about the MIMEDefang mailing list