A quick reminder about SHOULD

"D. J. Bernstein" <djb@cr.yp.to> Sun, 23 July 2000 06:17 UTC

Received: from cs.utk.edu (CS.UTK.EDU [128.169.94.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id CAA20117 for <drums-archive@odin.ietf.org>; Sun, 23 Jul 2000 02:17:12 -0400 (EDT)
Received: from localhost (daemon@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id CAA19591; Sun, 23 Jul 2000 02:16:56 -0400 (EDT)
Received: by cs.utk.edu (bulk_mailer v1.13); Sun, 23 Jul 2000 02:16:54 -0400
Received: by cs.utk.edu (cf v2.9s-UTK) id CAA19574; Sun, 23 Jul 2000 02:16:54 -0400 (EDT)
Received: from muncher.math.uic.edu (marvin@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id CAA19561; Sun, 23 Jul 2000 02:16:53 -0400 (EDT)
Received: from muncher.math.uic.edu (131.193.178.181 -> koobera.math.uic.edu) by cs.utk.edu (smtpshim v1.0); Sun, 23 Jul 2000 02:16:53 -0400
Received: (qmail 17651 invoked by uid 1001); 23 Jul 2000 06:17:13 -0000
Date: Sun, 23 Jul 2000 06:17:13 -0000
Message-ID: <20000723061713.13164.qmail@cr.yp.to>
From: "D. J. Bernstein" <djb@cr.yp.to>
To: drums@cs.utk.edu
Subject: A quick reminder about SHOULD
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
List-Unsubscribe: <mailto:drums-request@cs.utk.edu?Subject=unsubscribe>

Please remember that the word ``SHOULD'' has a specific definition in
Klensin's document. It's much stronger than the RFC 1123 ``SHOULD,''
never mind the English word ``should.''

When RFC 1123 says that every SMTP server ``SHOULD implement EXPN,'' for
example, here's what it's saying:

   There may exist valid reasons in particular circumstances to not
   implement EXPN, but the full implications should be understood and
   the case carefully weighed.

In contrast, when Klensin says that every SMTP server ``SHOULD support
EXPN,'' here's what he's saying:

   An SMTP server that doesn't support EXPN may interoperate properly,
   but this will typically be the case only if great care is taken.
   Consequently, the requirement to support EXPN should be violated only
   under exceptional and well-understood circumstances.

That's certainly not what RFC 1123 says. RFC 1123 is merely giving some
bad advice; Klensin is making a patently ridiculous claim about
interoperability.

You might think at first glance that Klensin's ``SHOULD support EXPN''
is the same as RFC 1123's ``SHOULD implement EXPN.'' Don't be fooled!
Klensin made a big change in the definition of ``SHOULD.''

Can we all agree that the spec should recommend against supporting EXPN?
Perhaps we can't. But the default position, in the absence of consensus,
is what RFC 1123 said, _not_ what Klensin wants to say.

---Dan