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

Manu Sporny <msporny@digitalbazaar.com> Fri, 05 April 2024 15:55 UTC

Return-Path: <msporny@digitalbazaar.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 00E20C151075 for <media-types@ietfa.amsl.com>; Fri, 5 Apr 2024 08:55:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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=digitalbazaar.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 7TLq6BnPGDO4 for <media-types@ietfa.amsl.com>; Fri, 5 Apr 2024 08:55:11 -0700 (PDT)
Received: from mail-vs1-xe36.google.com (mail-vs1-xe36.google.com [IPv6:2607:f8b0:4864:20::e36]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 1A00AC14F610 for <media-types@ietf.org>; Fri, 5 Apr 2024 08:55:05 -0700 (PDT)
Received: by mail-vs1-xe36.google.com with SMTP id ada2fe7eead31-479c3616fceso681295137.3 for <media-types@ietf.org>; Fri, 05 Apr 2024 08:55:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=digitalbazaar.com; s=google; t=1712332504; x=1712937304; darn=ietf.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KLJi49vJFc8y2FuN3K5ux/H8F4yexBLV4GT0U2tkAxE=; b=pBfAXygqiTPaxlBAWcQoVG9zfR1Ax+8AKtU+07QXrvp10A7EcJi0/At0u6ZjVUo0KD bQNI6X6oMY/HmxnSOf6e8Y020VDQdrE3NxmoKcPYjFlWKKREGaw3nzzd3q6xeXpeh7iF 1v+5N2wToJJ+ZfbEm93XMJBN0hPQM0u7cF8/u7EEF/k4YL8OHtR7HJL+pjSNCqO7tZVJ KUzFJOtzq1XJ7SfbztAKkFSpup0x2BAruI4Uw17Y4ayRXqNJD52Jb1Dnu0lVIAzhwDj4 3JlR9Aoj0HRUXzexzUSGlqCzAF4ZQFUDiQ9GLm6GFLSW5+UKLQY4dcdwHwJzPnRi196L 5mIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712332504; x=1712937304; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KLJi49vJFc8y2FuN3K5ux/H8F4yexBLV4GT0U2tkAxE=; b=ZW0B2K8lnj3wRZPIEjM3XODbkIfLbYHGaa9sfuRe1LUA6bD43qTq7gZYY2S7xbKqz2 KAWwZFvYCS//umvPs19eFVYiDx83z5tNSPGF8eVg438VE47tLshHCNumHUdIl+XqaBl1 EVMXce/q0oX7TmPyPGO1heH+Z8yQAjpw5pwsRvx8ea7q71ry42+6yCgT3ohBATJHlZ1C jGzMW343zKVJkysCYuY1EcKZDD/nzP6nQpgeQuzCsH+ahOanSwHVSZPCdqHyGMz3HdxB KfRGEl95DjnBK5Da7fJnTO1oOfPd5Z3elNdLb9jXXw3C+4FGZkRPyYUQNwiSBC1qHvWO TNdw==
X-Gm-Message-State: AOJu0YwnBQolwk89wtyli+58x8hhdQET8wc5D5Awh8wxCdZMefudtGTh Z9aSLYVZGT+NlHeETynZYwfHftVefhwanre34u777hTpEEG9xAbWyah8I4DfeLdS6HTBHWpllqa IoEtI5DodVU9tmBZyQZVWrU6tchGdy571mxagWMvybV4LL7ZgLLg=
X-Google-Smtp-Source: AGHT+IF8YzUx+ukXdjZmVN2kUhqqA5aH+2VtlyjmBXcQrnBYLQCdCwNDM/QNH/o5D9ySBDFwwiwqXtlKM1iUm62dmpg=
X-Received: by 2002:a05:6102:942:b0:479:ded3:78a7 with SMTP id a2-20020a056102094200b00479ded378a7mr1629881vsi.21.1712332504079; Fri, 05 Apr 2024 08:55:04 -0700 (PDT)
MIME-Version: 1.0
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>
In-Reply-To: <837B503B-B9F9-40F7-8078-7D1BCD66D076@mnot.net>
From: Manu Sporny <msporny@digitalbazaar.com>
Date: Fri, 05 Apr 2024 11:54:27 -0400
Message-ID: <CAMBN2CTMk8GDeUT0ObHcW=xxaRMzd75PrtWwLa_YB-4JoF_FxA@mail.gmail.com>
To: IETF Media Types <media-types@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/6t7zs4SRIpMGfDwdBpEzkESqdHM>
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: Fri, 05 Apr 2024 15:55:15 -0000

On Fri, Apr 5, 2024 at 3:16 AM Mark Nottingham
<mnot=40mnot.net@dmarc.ietf.org> wrote:
> I'll be interested to see people's reactions to these proposals.

There is merit to a number of Ted's proposals, and there are multiple
consistent ways to interpret suffixes and multiple suffixes.

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.

-- manu

-- 
Manu Sporny - https://www.linkedin.com/in/manusporny/
Founder/CEO - Digital Bazaar, Inc.
https://www.digitalbazaar.com/