Re: NEW ISSUE: Define "ought to"

Eliot Lear <lear@cisco.com> Wed, 31 July 2013 09:06 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BECA421F99DC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 31 Jul 2013 02:06:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.195
X-Spam-Level:
X-Spam-Status: No, score=-9.195 tagged_above=-999 required=5 tests=[AWL=1.404, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Orz9Mako3OtD for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 31 Jul 2013 02:06:50 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id C1DB321F99CF for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 31 Jul 2013 01:52:02 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1V4S7W-0001xD-Qz for ietf-http-wg-dist@listhub.w3.org; Wed, 31 Jul 2013 08:50:58 +0000
Resent-Date: Wed, 31 Jul 2013 08:50:58 +0000
Resent-Message-Id: <E1V4S7W-0001xD-Qz@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <lear@cisco.com>) id 1V4S7M-0001wU-Rg for ietf-http-wg@listhub.w3.org; Wed, 31 Jul 2013 08:50:48 +0000
Received: from ams-iport-1.cisco.com ([144.254.224.140]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <lear@cisco.com>) id 1V4S7L-0005AA-SZ for ietf-http-wg@w3.org; Wed, 31 Jul 2013 08:50:48 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2526; q=dns/txt; s=iport; t=1375260647; x=1376470247; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=QT64hmpuaCo9heAi57UqFqOG2miJPV7tseugeGM5RDM=; b=aH6KgMflNuU6ORp/NuH6+swdAEgYG42x1aQGppgLOIk/6MU3Rgj9s8ls lvP0Jvbk0lN/nICjrpskmt+0XLtC6uE9nMxIAESYiCHNctmBwcmKkL4et 1HVv47yHhojNXP2XQwlt3KER1ccsrQkseNecATrdiTCsHASjqBj5IonfA 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhUFAJrO+FGQ/khR/2dsb2JhbABbgwaEFbsMgRcWdIIkAQEBAwEjVQEFCwsOCgICBRYLAgIJAwIBAgFFBg0BBwEBiAYGpweRUIEojlYHgmWBJAOXX5FMgxY6
X-IronPort-AV: E=Sophos;i="4.89,785,1367971200"; d="scan'208";a="157783859"
Received: from ams-core-1.cisco.com ([144.254.72.81]) by ams-iport-1.cisco.com with ESMTP; 31 Jul 2013 08:50:21 +0000
Received: from ams3-vpn-dhcp7286.cisco.com (ams3-vpn-dhcp7286.cisco.com [10.61.92.117]) by ams-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id r6V8oJcO017280 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 31 Jul 2013 08:50:19 GMT
Message-ID: <51F8CFCA.3090800@cisco.com>
Date: Wed, 31 Jul 2013 10:50:18 +0200
From: Eliot Lear <lear@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: Willy Tarreau <w@1wt.eu>
CC: dcrocker@bbiw.net, Julian Reschke <julian.reschke@gmx.de>, ietf-http-wg@w3.org
References: <51F7D951.3050204@bbs.darktech.org> <51F7DBF5.3030403@gmx.de> <51F89572.1080506@dcrocker.net> <51F8C1D4.6010409@gmx.de> <51F8C30C.2060103@dcrocker.net> <20130731080256.GD7351@1wt.eu>
In-Reply-To: <20130731080256.GD7351@1wt.eu>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=144.254.224.140; envelope-from=lear@cisco.com; helo=ams-iport-1.cisco.com
X-W3C-Hub-Spam-Status: No, score=-14.0
X-W3C-Hub-Spam-Report: AWL=0.131, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.507, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5
X-W3C-Scan-Sig: lisa.w3.org 1V4S7L-0005AA-SZ 61a4565b4ef879e50b06493ddbf7631b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: NEW ISSUE: Define "ought to"
Archived-At: <http://www.w3.org/mid/51F8CFCA.3090800@cisco.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/19006
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 7/31/13 10:02 AM, Willy Tarreau wrote:
> Anyway it's not a big problem if they think they read something normative,
> especially for confusion between should/SHOULD etc, since in the end, they
> should do something for the better. So if they end up producing better
> implementations, that's good for everyone. What is important is that poeple
> who try to evaluate standard compliance are not confused. And when you're
> doing this, you're pretty much aware of the difference in wording.
>
> So in my opinion, this wording encourages everyone to follow the spec as
> accurately as possible, and is non-ambiguous for those who want to be picky
> about it.
>

There's a flipside here: use 2119 normative language when that's what
you really mean, and don't contort the text to avoid those words.  But
let's go to the video tape.  What does the actual text say?

>    The purpose of this value is to allow the initiating endpoint to
>    request that frames for the stream be processed with a specified
>    priority relative to other concurrently active streams.  That is, if
>    an endpoint receives interleaved frames for multiple streams, the
>    endpoint ought to make a best-effort attempt at processing frames for
>    higher priority streams before processing those for lower priority
>    streams.
>

And now let's look at what RFC-2119 says about SHOULD:

> 3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
>    may exist valid reasons in particular circumstances to ignore a
>    particular item, but the full implications must be understood and
>    carefully weighed before choosing a different course.

Let's add one more aspect: in other contexts of QoS "best effort" is
actually taken to mean the precise opposite.  And so I would
(re?)tighten the wording as follows:

>    The purpose of this value is to allow the initiating endpoint to
>    request that frames for the stream be processed with a specified
>    priority relative to other concurrently active streams.  That is, if
>    an endpoint receives interleaved frames for multiple streams, the
>    endpoint SHOULD process frames for
>    higher priority streams before processing those for lower priority
>    streams.

After all, that is why you have the feature in the protocol in the first
place.  There may be circumstances where an implementation can't process
a particular higher priority message first, but presumably there would
be a good reason for that.

Eliot