Re: [media-types] Thoughts on suffixes, single and multiple

Michael Jones <michael_b_jones@hotmail.com> Wed, 03 April 2024 14:52 UTC

Return-Path: <michael_b_jones@hotmail.com>
X-Original-To: media-types@ietfa.amsl.com
Delivered-To: media-types@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61819C151717 for <media-types@ietfa.amsl.com>; Wed, 3 Apr 2024 07:52:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.223
X-Spam-Level:
X-Spam-Status: No, score=-1.223 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_HOTMAIL_RCVD2=0.874, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=hotmail.com
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 5C4izfyO6lMy for <media-types@ietfa.amsl.com>; Wed, 3 Apr 2024 07:52:30 -0700 (PDT)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2074.outbound.protection.outlook.com [40.92.23.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA4EDC151701 for <media-types@ietf.org>; Wed, 3 Apr 2024 07:52:30 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KPfbjDGm3XHWEMHXowbs+UdNAFzHKdWcffAuAFtRuhdVUY+KOQ6zE3BQYh8Z6T9oK9uk4a/on9jQgJjrx9RdJgwORt+F/iI8cugY6W98hW2q3JLm/JDdmSST1vsfb/NoIpXFMnIKDQdyRyz2xY1Mv/KDxZ6DIkwTk4yVi6qLexKI7OIfL7+1bqOPxZFaphIb5uJNsQzjty//UhPmHOLRuG96n546SjWa/eboa1fe0jnzLZ7Wbp+XWhxtiKlVnwGuFN13L0/X89F+snX4qu6oSX4oQckHvaDBvh06OB9bqWbT38ceQ7bWjhOF5crmc6lxDsNlKJzfSSZh6uuw7kA0ag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n8tMuyIIhTAmZnVtvg4wCKIgftFrx9e/lOuAM9hWwtQ=; b=ivTU1FlR3DLMY/ClEKqjEzVDljHj2OZ+bSRZ1lFJb6ge/SDo0wkere0M8qxG8JbQBpyyRRV+XbBxiYwzf6tQ2w94wAImA9eepMzsJmBXCtq+QlLBc7PJqF9b+4z5eYQXYBZiVw1K4xYrqgWsKPdq+SvOHpMMqxF5xyLmTEEJMiQ14+TiicPitgM3bYChJwXb3uXglCcik/W7XL0xf4dUZTJNqtnSmgzB87KGKck0gJTJEcQ6U4XV2TXJ673PQCYdS+0ZUfqyQAskq+dcOOwlQ/kDPigMayS8LnWI8AAIR1KWargwrGdzbkZ6dI0XfkS3EgQDyDR6cGKCTIjl4rYGaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n8tMuyIIhTAmZnVtvg4wCKIgftFrx9e/lOuAM9hWwtQ=; b=PndpZWYqjp/t2z83IinmAX/j9cEZUYGtWz34LCboBMpjTCKbhxRSu8Wp6fbqqegTog+YTtiwlnGox33UKCgwAURedBuxAf6s8QDtuYDzEVWPxIUy6wbOACxgrjR1C79ErklUl74mrPY0CQDO7nUz1n2gbPzLEGGgUVvfnGkT8FxVP1+cIBxmmO9SZofs9i18Tm0787WcaJYVCZo9Xd1Ljn5KZsyv+20WPCAhE7yMHJTWsabxrTk5xmWlVmNJFFC9Lq52JkuECSIbmJyTTedyO+2+Gm8HuNQLQetuNOrxCUHkbSZ6JuPYhiP8953v/ie3qmf3+uaXEkfHMHv80zeXQA==
Received: from SJ0PR02MB7439.namprd02.prod.outlook.com (2603:10b6:a03:295::14) by DM6PR02MB6826.namprd02.prod.outlook.com (2603:10b6:5:21e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr 2024 14:52:29 +0000
Received: from SJ0PR02MB7439.namprd02.prod.outlook.com ([fe80::7c2c:4b2:7be3:4f66]) by SJ0PR02MB7439.namprd02.prod.outlook.com ([fe80::7c2c:4b2:7be3:4f66%4]) with mapi id 15.20.7409.042; Wed, 3 Apr 2024 14:52:29 +0000
From: Michael Jones <michael_b_jones@hotmail.com>
To: Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>, IETF Media Types <media-types@ietf.org>
Thread-Topic: [media-types] Thoughts on suffixes, single and multiple
Thread-Index: AQHahZBgxBBYMWGTOUWZgMR3YFFMQ7FWnsnQ
Date: Wed, 03 Apr 2024 14:52:28 +0000
Message-ID: <SJ0PR02MB74397D82EE0EB8376ADBF62BB73D2@SJ0PR02MB7439.namprd02.prod.outlook.com>
References: <2E20FEDE-C766-43EE-A6E2-1FB63E79CF0B@mnot.net>
In-Reply-To: <2E20FEDE-C766-43EE-A6E2-1FB63E79CF0B@mnot.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tmn: [OPDL1sK0gMz5EQO1kNPnl0F2Etmtiq2towJRDdxe/qn8Y4k+hbU4AqYI1dCkovGdXZ0+CYhzeDA=]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR02MB7439:EE_|DM6PR02MB6826:EE_
x-ms-office365-filtering-correlation-id: b04558c9-e444-48aa-4776-08dc53edaf12
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: oNNRqN633qdGQHBhUt9aZufXIKOdaeMpoXOH/Ovj2/WsjXieWGMnl9IaVo2KWkRXkUWRsxE0YFp6W5taBxh/8p+z8RguwoOK5FMQhCVDbTcN/oRN9ixy6ubXMNzMovHvNxuM+A7L8XDyx3tki8gxgTC8uQ/0ENLazuHNCnUeQAJWDGJRRnj4vAh+n8LN0yrgHSMo7+eMsPYD7WXI+bWU/TiLgVkU2tZIarMVCKdPhZiw44J78iwah7M+j2So/RyJ/B6uozmNWPGJedCq5eGYQt31oPA8+aUDB3Hvrqmn7YjGYxsvGfKGyfKMmhHmIlwCZH3cS5K6XuqDFd3GX3G6wlyPiz9eeDWBMRHJ29yAbRF5cYx/ndMgyTfLa61t0qOThVfJ5YlwrC5S+Wa9zVtPkWVnTRcyPxi+wGitGyomMQSYM6DktOz4+0AGmBkX93RriTAtePVYaZRmxObqgWb/w96xaLfou6FxcypFv+hvVdrIt/hPoI7GioDyfsm1RlWWxBzCxqOc30Y4eAv4esj03ov7xyHx7MGAiiKeCcj5jIWlPyn57WE/Gas9XN4b32FQgzmnt3z3ko4/RgkO+7Lerw+ww04p0/t1RfsE7mmhUpEVnkPeBHqBwq7QNcDtSrQO/VYx/nkN1sSfg4JhnUROy20P2BTSGyJa2wCiYmvVPLA=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: B+MQXwwEnrAz16P0aOoNXfzlbJqLoizFsM7iaFtX30o30kP5mj3K6hVKV0PFFmbkmiSurFHpDsi2teVGt/Y1C1BxnQRbVZWfsFU5PiBNnB5pSxMT+vZ1L0d/N5msF426hHbJhnNFpFkveurBBA1u3syjYDFm3z1rjmbFeUP+bq7OFDA821ZJO6RIwXcsmd3xS0iy41lLjNceYlv8uPA3bTtlU6Kn0gXUaTNjZStcgHHkrOOS/oMprO79zj4YuCkRZeVtHp5d2QYUW0rqSuKsm45Ho9HD+V2pvqOZJ9TqrEPiZ8CH3zdAa1a4oC59ikleQgi2PUnpFNcaoX5cdliKvJ+rqN669LXK0CnwVn3TKyyw2jcYBNrKpk88/0gEv3wv93CYJNoa6kZkmZOt3AnnXd/7G4fl4UnRWBfaO49oj0q+7tQpV9VVKnkvsLMg7SxslOW7Fk50CdtH0JoTqSJVe80X6xycuEFyWyHwa0eTGZmeN/oAM0yMs2/x+YEib+ffUNxRrbqy1rECHB5vnU/h/julA1j/BJJCKEjQiL8AXrExxkIGKrLKPDSX5AXYTyTTS58wiqB/C/9kYPfocj/V1FR4SWOWDBGN2q4A7oCaltFGtqiK/+a/AA8XlPME8sA8ehJyeAZLMhO6GRd5XmY1E8XNR+iJbA7pv9gUFqESnJk520TLJMZHRRQz7w0UGqd+KaAHcnIHNjBst4yyN3gDvdFJ5rxX1XExJ0rIO3zcV8/4nOsIIQrlxA9sH8v16tbCKhKcg6yw0k/2ee7gR/bJrbVHX6hZYZVJ/FXQV3CFrSMCJ4PH69MpuWUiFy2DWPrzE7mY/m4WoZ7kyM6MJ7DrC1+eZ6ugejSgYxevGmyLzO7wBisowoyuh67DPOqzBu9Eo0lnIRZDvzmC+aVFYcxWUuTUi6Smjm6BVggC501DHqxrzzdzoJk4oRCY7LMxPhWdOkYE7y0uf3AoNiO3H8EMB4roRSFFPPWhEIMLPWiQWW4yl0v/KCQkxpLdWtk5uR61VTAxHsCE/AmxjRhih1ejrgN3AhPbUhIeIHErbCTyKNSFte7U8Pu9ZeyTGmD8XmQEXdzI76YjLyBkaC9WDjPaWSSiZIKapnRrUMAjl0riXPY06W1iFYThgEPlOjDI4TerDiGne7fjl2qN6Aa7Q/sYFmhKg5EqTwZOxX6to63aQmxaJlEJilYumvwztlFsEdkT6kAVW5XGl8na+YbjtX2gVPqt2Smy4kAWYdPA0PZ98uwW91+ODThtePxOuxRnhB/1cgZ0oa1d2KqTUnrVoHHW9KIIi3RRKqvaWqmXlaZsqFZl8nzGzTR4hw6LPve+cVNu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-99c3d.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR02MB7439.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: b04558c9-e444-48aa-4776-08dc53edaf12
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2024 14:52:28.8791 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB6826
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/WgnX1lyhUMR2M82HRlsegEGg8j0>
Subject: Re: [media-types] Thoughts on suffixes, single and multiple
X-BeenThere: media-types@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IANA mailing list for reviewing Media Type \(MIME Type, Content Type\) registration requests." <media-types.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/media-types>, <mailto:media-types-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/media-types/>
List-Post: <mailto:media-types@ietf.org>
List-Help: <mailto:media-types-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/media-types>, <mailto:media-types-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2024 14:52:34 -0000

I believe that the media type suffix is useful for declaring that the syntax of a media type uses a particular data structure.  That's why, for instance, in the JWT BCP [RFC 8725] recommends that explicit typing be performed with media types using +jwt:

        "it is RECOMMENDED that a media type name of the format "application/example+jwt" be used, where "example" is replaced by the identifier for the specific kind of JWT."

I would be strongly against deprecating the use of suffixes in media types.  They are useful in practice and that horse has long since left the barn.

That said, I'm quite ambivalent about media types with multiple +s in them, and would be fine with us saying that no more of them will be registered.  Per my message https://mailarchive.ietf.org/arch/msg/media-types/cryCVgjewUShbc9u6XgPkeHmbeg/, when I tried to faithfully register multiple suffix media types for the W3C VCWG, the results were decidedly mixed.

                                Best wishes,
                                -- Mike

-----Original Message-----
From: media-types <media-types-bounces@ietf.org> On Behalf Of Mark Nottingham
Sent: Tuesday, April 2, 2024 11:30 PM
To: IETF Media Types <media-types@ietf.org>
Subject: [media-types] Thoughts on suffixes, single and multiple

After the meeting in Brisbane, some of us went aside to continue to the multiple suffixes discussion. There, we quickly came to the conclusion that we should deprecate the concept of suffixes in media subtypes -- i.e., they would still be syntactically allowed, but would have no meaning or registry. Martin Thomson and I took an action to write something down about this.

Once I was home, I started to think more carefully about this and do research. One thing that I haven't yet seen is a summary of how suffixes are currently used (apologies if I missed someone else's effort there). These are the counts for each suffix in the registry that I came up with about a week ago:

+xml = 439
+json = 145
+ber = 0
+cbor = 16
+der = 1
+fastinfoset = 1
+wbxml = 7
+zip = 24
+tlv = 1
+json-seq = 2
+sqlite = 1
+jwt = 6
+gzip = 2
+cbor-seq = 4
+zstd = 0
+yaml = 2
+cose = 0

As you can see, we have a few very widely used suffixes (in a registry of 1,588 entries as of that survey), and many very seldom used ones - with a few not used at all.

The widespread use of +xml and +json in particular made me more cautious about deprecating suffixes altogether -- especially since we still sort-of believe that they are indeed used by (or at least potentially useful to) things like editors to hint syntactic conventions.

So, that leaves a few different options, considering the constraints we have:

1) Disallow more than one "+" sign in media subtypes, as floated at the meeting. This would put a fair amount of pressure on the registry's ability to reflect reality, depending on how widely deployed some things get (although we could grandfather some types in to ease the pressure here).

2) Syntactically allow suffixes before the last one, but not assign them any meaning or register them; e.g., application/foo+bar+xml would be an XML format, but who knows what bar is; effectively, it's just part of "foo+bar". This would allow people to define suffix-like things, but wouldn't give them any recognition or coordination -- potentially leading to the need to formalise things more down the road, just as we did in the first round of suffixes.

3) Consider multiple suffixes, when they occur, to be unrelated hints as to the syntax of the format -- i.e., there is no processing model, there is no ordering (although a registrant would have to choose an order; registrations with different orderings should be refused). Effectively, suffixes would just be a 'bag of hints' about the format being used.

I'd be interested in hearing people's reactions to these.

Separately, I think we need to settle a few other matters to make progress:


### Defining What Suffixes Are For (no matter how many there are)

After the discussion in Brisbane, I strongly believe that suffixes should ONLY be for hinting about the syntax or format convention in use, as an aid eg to editors, syntax highlighters, etc. This is the proven use case for media type suffixes. Suffixes should not be used to hint semantics; only syntax. We should have strong language about the dangers of using suffixes to hint particular kinds of processing; cf the previous discussion on the 'polyglot problem' and the potential security issues around performing processing based upon suffixes.

The suffix registration process should be designed to assure that only such suffixes are registered.

Note that in this view, "+ld" is very likely unregistrable.


### Cleaning Up Existing Suffixes

+gzip and +zstd are problematic; the former should be disallowed for new registrations, and the latter should be removed or obsoleted in the registry. Likewise, I am highly suspicious of +jwt and +cose. +zip _is_ a format convention, so I suppose it's OK?


Cheers,

--
Mark Nottingham   https://www.mnot.net/

_______________________________________________
media-types mailing list
media-types@ietf.org
https://www.ietf.org/mailman/listinfo/media-types