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

Mark Nottingham <mnot@mnot.net> Sat, 06 April 2024 02:03 UTC

Return-Path: <mnot@mnot.net>
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 F0EB0C151066 for <media-types@ietfa.amsl.com>; Fri, 5 Apr 2024 19:03:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b="YAWxknCs"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="A1mxSnhH"
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 lXkRgdQ78YjS for <media-types@ietfa.amsl.com>; Fri, 5 Apr 2024 19:02:59 -0700 (PDT)
Received: from fout7-smtp.messagingengine.com (fout7-smtp.messagingengine.com [103.168.172.150]) (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 5EE9AC14F74E for <media-types@ietf.org>; Fri, 5 Apr 2024 19:02:59 -0700 (PDT)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfout.nyi.internal (Postfix) with ESMTP id E54BC138008D; Fri, 5 Apr 2024 22:02:57 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Fri, 05 Apr 2024 22:02:57 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1712368977; x=1712455377; bh=4ICf5oES9ozOdqBXaXfvISo2DSx4lv6JUG3pj/f/D0I=; b= YAWxknCssu7B93tslh+QstyrE04ocA1c30wfa1BQ/2AXq26DEyNExnXz3HR4Fowp 2afuovajvBYED0aHfEH4QedxIoGY7EVlk1jRkPuzYsX8i3phQ4dKY0iCcsZuZPKI mt9//PT9DDfMgYvLwyDBv8gh8dzvH2tpnJvUuBVCiutcY9//gB6U1X6hJ3sp4o1c tcTIiccrwPwKFsgKHlAQJbhWlzVjtYk+4GnQh8OhDZVcmBrwxXKK7mwpZoobzkQ8 SDyvlLLgUoGBJV7/Dw4lL1AjpelMKl85Vqgl6qvt6ze0pXkfznfeZ7CeXVRplXYw SLGKm3nkUdGn3scabSflCw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1712368977; x= 1712455377; bh=4ICf5oES9ozOdqBXaXfvISo2DSx4lv6JUG3pj/f/D0I=; b=A 1mxSnhHxGPwfz8D0rqxwQKuysenW37qCPU+cFuwMjEtwfDXwfNttQQ3AAHwjeSyt Agb4f81rn7OIe/wDoc5MJ+NMvJ2xAkedHJzg8yRtRqw+D+trc1FbMOBiSrTDe/y9 a5mtBpmaRYRPFGo7R/vidBN9mCfyThjm7kTqV4es6oLeeUqyBtu6QJiCviWKzkDl G166U7w2qSU5oxU5XcVqdIibcoC+7UkW447fe0F8W678tlSli7Wg08sjKqfhIRiE WAkbnGpUSe76HNESUxB7qSD/l5momKmZHCUHIrX/D1hY9m8mfJpTcS2Gg2hdVr4t pX9EEVcUQu0/mipWkuDzg==
X-ME-Sender: <xms:Ua0QZq7tHvtzFCuOq-3NXuiglrypXyed95swxMyFa9ovSTlXDvXnkQ> <xme:Ua0QZj6jE_4B9a13D8g6rl7uPrxenRjAkbj7m6rS-23BsP1DNRvmkwI-yT6B9FwlH NFCSxEMmML6v13LDg>
X-ME-Received: <xmr:Ua0QZpeNjgu5sYY3UfjCxiCc3OhsQghaQFsscA2e8I5yT9vWGKm3JcHo3LJiVGCGVbnyLipAMVIdjEzSgZtmfh0g-GQREcqBKtijoQxC1POPgA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeguddgheegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffvefgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghr khcupfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrth htvghrnheptddtgefgueevtddugfdtkeffudegveetffegjeelhfdvtedvueejteegueeg teetnecuffhomhgrihhnpehmnhhothdrnhgvthenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:Ua0QZnJf_7wWso1NFCEex7DxrR2ktgXegeXf6M93jaR-ryoUMVHuTQ> <xmx:Ua0QZuLT1_3o8rmHse7DBgl8qqdCrfeNuLNCyaarVWdCybQoYiD2uA> <xmx:Ua0QZozfgM6_i26CU4aPbxzUAk5H09AHFJViC37nlqB7GANB98gWuQ> <xmx:Ua0QZiKIZKX_KeK_36zR44T9cChJubtnG4V1601KLK1_Gx95kNUz2A> <xmx:Ua0QZjE5XuKUroeFnTphX2RSl0as2ToK9y5whjhFEI06340_Ig9ZmHPa>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 5 Apr 2024 22:02:56 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAMBN2CTMk8GDeUT0ObHcW=xxaRMzd75PrtWwLa_YB-4JoF_FxA@mail.gmail.com>
Date: Sat, 06 Apr 2024 11:02:53 +0900
Cc: IETF Media Types <media-types@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <F58ABF0E-56F3-462B-AA00-192A75AFEE41@mnot.net>
References: <2E20FEDE-C766-43EE-A6E2-1FB63E79CF0B@mnot.net> <1c404c4d-437c-464a-b414-4e0d39c1d8ea@alvestrand.no> <E83E80FF-5810-4A53-85D8-E5095F9C1C1C@openlinksw.com> <837B503B-B9F9-40F7-8078-7D1BCD66D076@mnot.net> <CAMBN2CTMk8GDeUT0ObHcW=xxaRMzd75PrtWwLa_YB-4JoF_FxA@mail.gmail.com>
To: Manu Sporny <msporny@digitalbazaar.com>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/8gEF1TKeWiIHGnNnAc2nbz4NCyQ>
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: Sat, 06 Apr 2024 02:03:04 -0000

Thanks, Manu - this is a good summary.

My leaning so far has been towards minimal (and somewhat drastic, albeit mostly backwards-compatible) solutions, but I'm not in-principle against a broader framework that would allow these different uses while avoiding security and interoperability issues. The biggest problem we seem to have is confusion around how to use suffixes, and the now many examples we have that show the impact of that confusion. 

Establishing that framework is going to take some legwork, careful consideration, and even more careful writing. It may mean, for example, that specific suffixes might have additional rules about how they're combined with other suffixes. We'll need guidelines for defining new suffixes and what they should document. And so on.

My concern at this point is that doing all of that is going to be a significant amount of work, and as we've seen many uses of suffixes only provide marginal value. 

Who's going to do the work?

The whole point of standard protocols is to have agreement on syntax and semantics, and there seems to be precious little of it here, as you point out.

Cheers,


> On 6 Apr 2024, at 00:54, Manu Sporny <msporny@digitalbazaar.com> wrote:
> 
> The biggest problem right now is that we have so many legacy
> registrations that "break" some of these "clean" proposals that it is
> highly unlikely that we're going to get to a "clean" solution.
> 
> Every proposal that argues for a "bad suffix rule" will affect a
> contingent of people that put them in the "bad suffix" camp for
> reasons that they do not accept... and rightly so, as Mr. Dude put it
> in The Big Lebowski: "Yeah? Well, you know, that's just like uh, your
> opinion, man."
> 
> We are now re-hashing discussions that we've had before, with no
> strong arguments for a single guiding philosophy. To review some of
> the directions we could go:
> 
> * State that suffixes were a mistake or say they're just a notation
> with no defined meaning
> 
> This won't fly because we have LOTS of registered media types with
> suffixes and a non-trivial subset of people that registered them, or
> were instructed to register them by the Designated Experts, seem to
> think that they DO mean something. I would be surprised if we were
> able to get anywhere near consensus on this approach.
> 
> * State that single suffixes are ok and that they identify the syntax
> and nothing more
> 
> This doesn't solve for subtypes, such as JSON Schema, JSON-LD,
> CBOR-LD, gzip'd data formats that already have plus signs in them, and
> other legitimate use cases that do have well-reasoned thinking behind
> what each level of the multiple suffixes means.
> 
> IOW, it draws this arbitrary line between single suffixes being ok,
> but multiple suffixes being bad -- and the reasoning for why that is
> bad (or good) has not been detailed yet (though Ted's response comes
> close to what constitutes a good usage of suffixes and what
> constitutes a bad usage of suffixes). I also expect Ted's well
> reasoned approach to be rejected because it would put some already
> registered suffixes into the "don't do this" bucket.
> 
> * State that single suffixes, and multiple suffixes, are ok and that
> they mean something
> 
> We have people objecting to what multiple suffixes mean because they
> would cause something bad to happen. I've yet to understand what bad
> thing might happen based on the concrete text written in the multiple
> suffixes draft. I do agree that we'd need to write more to establish
> "good suffixes" from "bad suffixes", but that would take a reasoned
> approach that would be rejected outright based on pre-existing
> registrations falling into the "bad" bucket.
> 
> Which brings us to what's probably driving the strong reactions:
> 
> * Explain what constitutes a good suffix usage and bad suffix usage
> 
> I can't imagine that WGs that have produced specifications, that use
> suffixes, that have followed the rules to this point, as vague as they
> have been, would accept being labeled as a "bad suffix usage".
> 
> AFAICT, most of these structured suffix media types ARE deployed and
> ARE used and no one has really complained about them until the
> multiple suffixes started hitting the scene, and even then, the push
> for/back on them has largely been academic. None of these approaches
> seems like it would "Break the Internet(tm)" -- people might not agree
> with the line of reasoning, but the code based on the suffixes draft
> (as it exists today) is deterministic. The rules of what to do are
> clear. The rules of what's allowable for registration are still not
> clear.
> 
> Perhaps the path forward is to accept that we have different ways that
> people think about this stuff and document that. There are some
> subclasses of use cases that we have right now, some of them include:
> 
> * Suffixes used to express the base syntax of the data (no semantics):
> +json, +xml, +jwt, +gzip, +zip
> * Suffixes used to hint at the contents in an outer "container"
> syntax: application/epub+zip
> * The above, but the inner contents include a suffix (and a processing
> model): image/svg+xml+gzip
> * Suffixes used to express increasing levels of processing semantics:
> application/vc+ld+json
> 
> The only thing that we seem to be able to agree on is that each of us
> doesn't like at least ONE, possibly more, of those usages of suffixes.
> Picking any one of them won't get consensus, picking and choosing a
> subset of them won't get consensus, so perhaps what we're left with is
> just documenting that each one of them has happened and how you, as an
> implementer, can interpret the myriad of meanings of the plus signs in
> a media type.

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