Re: Need the quote and the author

John C Klensin <klensin@mci.net> Sun, 13 July 1997 13:35 UTC

Received: from cnri by ietf.org id aa05159; 13 Jul 97 9:35 EDT
Received: from mail.proper.com (mail.proper.com [206.86.127.224]) by cnri.reston.va.us (8.8.5/8.7.3) with ESMTPid JAA27301; Sun, 13 Jul 1997 09:34:32 -0400 (EDT)
Received: (from majordomo@localhost) by mail.proper.com (8.8.5/8.7.3) id GAA04130 for ietf-smtp-bks; Sun, 13 Jul 1997 06:18:45 -0700 (PDT)
Received: from a4.jck.com (ns.jck.com [206.99.215.40]) by mail.proper.com (8.8.5/8.7.3) with ESMTP id GAA04126 for <ietf-smtp@imc.org>; Sun, 13 Jul 1997 06:18:40 -0700 (PDT)
Received: from tp7.Jck.com ("port 1924"@[206.99.215.42]) by a4.jck.com (PMDF V5.1-8 #21705) with SMTP id <0ED9EFV0G002AH@a4.jck.com> for ietf-smtp@imc.org; Sun, 13 Jul 1997 09:21:31 -0400 (EDT)
Date: Sun, 13 Jul 1997 09:21:23 -0400 (EDT)
From: John C Klensin <klensin@mci.net>
Subject: Re: Need the quote and the author
In-reply-to: <Pine.SOL.3.95.970711072354.7644B-100000@calvin.twntpe.cdc.com>
To: Edward M Greshko <Edward.M.Greshko@cdc.com>
Cc: ietf-smtp@imc.org
Reply-to: John C Klensin <klensin@mci.net>
Message-id: <SIMEON.9707130923.E@tp7.Jck.com>
MIME-version: 1.0
X-Mailer: Simeon for Win32 Version 4.1.2 Build (22a)
Content-type: TEXT/PLAIN; CHARSET=US-ASCII
X-Authentication: none
Sender: owner-ietf-smtp@imc.org
Precedence: bulk

On Fri, 11 Jul 1997 07:27:52 +0800 (GMT) Edward M Greshko 
<Edward.M.Greshko@cdc.com>; wrote:

> Of course this is not quite related to SMTP......

good.  see below.

> There is a quote by someone from a time long ago which goes along the
> lines of being conservative in what you generate and liberal in what you
> receive.  In other words, make sure that you follow the specs to the
> letter in what you generate, however try to deal with anything reasonable
> that you can anticipate being thrown your way.
> 
> I need to know the exact quote and the author.  If it is documented
> someplace that would be "nice" too.

As Tim Goodwin pointed out, the first written form of the 
comment (that I know of) is in RFC 1123.   The quote itself 
is due to Jon Postel, a _lot_ earlier -- it has been 
floating around since the early 80s or earlier.

As Tim suggests, you need to be quite careful about the 
quotation and its applicability.  It was intended, more or 
less, as a "smoothing principle:  Traditionally, we don't 
do precise specifications for Internet protocols, 
especially at the applications level.  Instead, we have 
tried to make things easier to write and understand with 
less-than-precise syntax rules, a certain amount of 
handwaving about semantics, general assumptions about 
goodwill, etc.   That is typically ok, if there is some 
rule about how to handle all of the ambiguities.  The 
robustness principle was, more or less, intended to cover 
those cases, i.e., if it was possible to read a particular 
provision in different ways, the sender was expected to 
read it in the narrowest way feasible while the receiver 
was expected to give it the most relaxed and broad reading 
that was feasible.   I.e., senders are required to read and 
follow the specs closely; receivers are to anticipate 
senders who don't.   Virtually every time one looks at a 
terrible implementation of an Internet protocol that seems 
to work anyway, the underlying cause is proper behavior 
using the robustness principle.

The problem is that it has been used to justify incredible 
nonsense, including software authors who have taken the 
position that receivers are obligated to accept any 
foolishness that is thrown at them (and therefore the 
sender is permitted to send such foolishness).  That was 
never the intent, and some of us have argued in a number of 
specific cases for dropping the robustness principle in 
favor of a "if bad stuff comes in, bounce it" model, just 
on the grounds of cleaning up/ preserving the 
infrastructure.

    john