Re: [abnf-discuss] Should RFC 7405 be part of STD 68 now?

Carsten Bormann <cabo@tzi.org> Tue, 19 December 2023 15:36 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: abnf-discuss@ietfa.amsl.com
Delivered-To: abnf-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76301C23960F; Tue, 19 Dec 2023 07:36:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K_S-pcci5vTT; Tue, 19 Dec 2023 07:36:00 -0800 (PST)
Received: from smtp.zfn.uni-bremen.de (smtp.zfn.uni-bremen.de [IPv6:2001:638:708:32::21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7259DC23960E; Tue, 19 Dec 2023 07:35:58 -0800 (PST)
Received: from smtpclient.apple (p548dcbf2.dip0.t-ipconnect.de [84.141.203.242]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4Svgl00Nr5zDCfL; Tue, 19 Dec 2023 16:35:56 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <aa439241-3834-459f-a6bc-d7907e398566@gmail.com>
Date: Tue, 19 Dec 2023 16:35:45 +0100
Cc: abnf-discuss@ietf.org, ART Area <art@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <7CC781B5-401D-46A3-ACDF-D8FA356B4A6D@tzi.org>
References: <4DD498CF-63E6-48E6-A75A-6E72B72F372E@tzi.org> <aa439241-3834-459f-a6bc-d7907e398566@gmail.com>
To: Dave Crocker <dcrocker@gmail.com>
X-Mailer: Apple Mail (2.3774.300.61.1.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/abnf-discuss/s65DwP7W_a3ZE-bL0fNqdaHd__M>
Subject: Re: [abnf-discuss] Should RFC 7405 be part of STD 68 now?
X-BeenThere: abnf-discuss@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "General discussion about tools, activities and capabilities involving the ABNF meta-language" <abnf-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/abnf-discuss>, <mailto:abnf-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/abnf-discuss/>
List-Post: <mailto:abnf-discuss@ietf.org>
List-Help: <mailto:abnf-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/abnf-discuss>, <mailto:abnf-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Dec 2023 15:36:04 -0000

On Dec 19, 2023, at 16:10, Dave Crocker <dcrocker@gmail.com> wrote:
> 
> On 12/19/2023 12:40 AM, Carsten Bormann wrote:
>> Apart from that, is there anything that is getting in the way of promoting STD 7405 to be part of STD 68?
> 
> Widespread adoption is a good indicator that standards status is appropriate for a specification.
> 
> Combining specifications is a different matter.
> 
> The issue is whether it is a good idea to make the mandatory core of a specification bigger and more complex?

RFC 7405 is, what was it, 4 pages?
It solves one specific problem where ABNF shows its age more than in other places:
In 1978, it was natural to specify text-based protocols that were case-insensitive.

45 years later, this is now entirely out of fashion.
Not because of a fashion cycle, but because we are using text-based protocols in environments where it is easy to type letters in the case the protocol requires.
(Of course, RFC 7405 does not take away ABNF’s good support for case-insensitive ASCII, where that is still useful.)

The alternative to using RFC 7405 is doing unnatural acts (*), so one mostly simply references both, creating complexity in the spec using ABNF.

> That is, while the two specifications here might each be widely used, is it reasonable to impose a burden on all implementations that they implement both?

From my perspective of using ABNF for modern protocols:
Most emphatically, yes!

Given its almost trivial nature, it is way more of a burden to support RFC 7405 separately than to simply support it always.

> Simply adding 7405 to STD 68 will make it a requirement that all engines claiming to do ABNF must support this feature.  Is that reasonable?

Very much so.

Grüße, Carsten


(*)
From RFC 4997, IIRC the first RFC I contributed to where I was really miffed with being stuck with case-insensitive string literals:

   ; case-sensitive literals
   C            = %d67
   COMPRESSED   = %d67.79.77.80.82.69.83.83.69.68
   CONTROL      = %d67.79.78.84.82.79.76
   DEFAULT      = %d68.69.70.65.85.76.84
   ENFORCE      = %d69.78.70.79.82.67.69
   INITIAL      = %d73.78.73.84.73.65.76
   LENGTH       = %d76.69.78.71.84.72
   THIS         = %d84.72.73.83
   U            = %d85
   UNCOMPRESSED = %d85.78.67.79.77.80.82.69.83.83.69.68
   VALUE        = %d86.65.76.85.69
   VARIABLE     = %d86.65.82.73.65.66.76.69
   false        = %d102.97.108.115.101
   true         = %d116.114.117.101

Here is a more recent one (draft-ietf-jsonpath-base-21.txt, in RFC editor queue):

   escapable           = %x62 / ; b BS backspace U+0008
                         %x66 / ; f FF form feed U+000C
                         %x6E / ; n LF line feed U+000A
                         %x72 / ; r CR carriage return U+000D
                         %x74 / ; t HT horizontal tab U+0009
                         "/"  / ; / slash (solidus) U+002F
                         "\"  / ; \ backslash (reverse solidus) U+005C
                         (%x75 hexchar) ;  uXXXX      U+XXXX

Here we decided to eschew RFC 7405, which doesn’t make the spec any more readable.