[media-types] IETF Multiple Suffixes Interim?

Orie Steele <orie@transmute.industries> Wed, 17 May 2023 15:03 UTC

Return-Path: <orie@transmute.industries>
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 615C0C1516E9 for <media-types@ietfa.amsl.com>; Wed, 17 May 2023 08:03:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.086
X-Spam-Level:
X-Spam-Status: No, score=-2.086 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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=transmute.industries
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 zQbu5evULzvV for <media-types@ietfa.amsl.com>; Wed, 17 May 2023 08:03:13 -0700 (PDT)
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (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 5D0F7C151B24 for <media-types@ietf.org>; Wed, 17 May 2023 08:02:31 -0700 (PDT)
Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-510d1972d5aso1112795a12.0 for <media-types@ietf.org>; Wed, 17 May 2023 08:02:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=transmute.industries; s=google; t=1684335749; x=1686927749; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=zkaglmJvXedTRriLZ59E+8Cma746ZTfsix440fcpHVY=; b=Z5O2eV2uPDQIu0+flmLVcaNM8XW7936WE+IXy0uX5S+WTGPjEO4NvCsKTKoh8bsNh9 I5Z6UGZG10tGUl9eM5OUscPG5vYj3wgKxp8pMewys7gAA0L0lx86lnYuzoto/hih2UGS J0OqFvfY3Sp1uv8o9r5FQRq87qzNHNIgCUBToL3vc77iytElP1/s+YSR8APpJYBS5EzS LOnlQj0tMOXeVANeaYme8szIUklbL81mIsoiuGKZ3MrV+VX5H+Xwtxw8PFfeDSss6Q7Q HQk0nVQPgeQxSTBWBCSPGqRyKay7XS5byfOQCH7qIzEzVRIpRwu3AvV7Pq2m2wDT1QwZ LCsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684335749; x=1686927749; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=zkaglmJvXedTRriLZ59E+8Cma746ZTfsix440fcpHVY=; b=Y3ABrp5uXPg8JElUwky7l3ftcG1a63faQcD1Nk320kS8M5OmM0BpUk8308qZwn00y0 CWAU1mLoViz/JMCiNX0wH4h3RhOVLY0F0pmau7r2Glik1B7NIH2RcuvizjRn/ifufSsK HYP9gjq/NKmDmAVWpcLkwBWMrweq+kn+p9tYPFqSJC/3S+DCnI8C6YQ5tqzEb7zUpPNq k5edqizUUM/sFQz71ltCqO6cjkPhnwjnYhnKSqgABFseq4idR324A82dBqnmq7A/nM4A VA2wsbP1tlC2eeKGnclNwKf64vVE0b+AxzcX18xQPoLXXudjl6QsllcT2JW+nXXwnFbx 7FZQ==
X-Gm-Message-State: AC+VfDxch0QPtqBV3GJB6JqUPcmrKkUSS/gNVBR9medRTgcwa44ppbMA BMptnGbVIKTrhduDf4qNKmZDJKLbgtR0DdcHchGXIg==
X-Google-Smtp-Source: ACHHUZ6T1JIO/mzEp8xUYECy+0EAI11QrDCCjbrCk4xWF4TWZID/fERI/m35sDMwrGPaOnMwNgyECZWcaQaN3quo6HI=
X-Received: by 2002:a17:906:6a24:b0:96a:2b5a:f013 with SMTP id qw36-20020a1709066a2400b0096a2b5af013mr24751284ejc.62.1684335749076; Wed, 17 May 2023 08:02:29 -0700 (PDT)
MIME-Version: 1.0
From: Orie Steele <orie@transmute.industries>
Date: Wed, 17 May 2023 10:02:18 -0500
Message-ID: <CAN8C-_LypYAjbAHyY_EeO_WhPEszRTXNy4P=t3ORo8BNVgjkPA@mail.gmail.com>
To: W3C VC Working Group <public-vc-wg@w3.org>, "W3C Credentials CG (Public List)" <public-credentials@w3.org>, media-types@ietf.org
Cc: Manu Sporny <msporny@digitalbazaar.com>, Ted Thibodeau <tthibodeau@openlinksw.com>
Content-Type: multipart/alternative; boundary="00000000000001b04705fbe4fabb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/eaJ8NkqxqbsP3aHAQsD046DjfuI>
Subject: [media-types] IETF Multiple Suffixes Interim?
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, 17 May 2023 15:03:17 -0000

Given the verifiable credentials core data model requests the registration
of a new media type that uses 2 plus signs:

https://w3c.github.io/vc-data-model/#media-type

... and the multiple suffixes draft is still not an RFC:

https://github.com/ietf-wg-mediaman/suffixes

Perhaps we might request an interim meeting from IETF to discuss changes to
the suffixes draft and ensure that W3C does not publish another TR with
unregistrable media types?

There are a few ideas floating around on how to complete the work, which I
will summarize but hopefully @Manu Sporny <msporny@digitalbazaar.com> and @Ted
Thibodeau <tthibodeau@openlinksw.com> can add their thoughts.

1. Get consensus on processing rules.

Is there agreement that processing for the following examples looks like
this:

In general:

type/subtype+suffix1+suffix2 yields an attempted processing pipeline:

type/suffix2 -> type/suffix1 -> type/subtype

1.0 application/did+ld+json

application/json -> application/ld+json -> application/did+ld+json

1.1 image/svg+xml+gzip

image/gzip -> image/xml+gzip -> image/svg+xml+gzip

2. Are there more cases like image/xml that we should be considering?

Here is the list to review:

- https://www.rfc-editor.org/rfc/rfc6838
- https://www.iana.org/assignments/media-types/media-types.xhtml
-
https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml

Are we ok saying "processing errors are expected, for cases like image/xml"
in the same way they would be expected for cases like:

image/svg+xml  profile="https://www.w3.org/ns/activitystreams"

- See for example: https://www.w3.org/TR/activitystreams-core/#media-type

   https://www.iana.org/assignments/media-types/application/ld+json

   Media types MAY elect to use one or more media type parameters, or
   some parameters may be automatically made available to the media type
   by virtue of being a subtype of a content type that defines a set of
   parameters applicable to any of its subtypes.  In either case, the
   names, values, and meanings of any parameters MUST be fully specified
   when a media type is registered in the standards tree, and SHOULD be
   specified as completely as possible when media types are registered
   in the vendor or personal trees.

- https://www.rfc-editor.org/rfc/rfc6838#section-4.3

It seems like a poor combination of plus signs will yield errors in very
similar ways that a poor choice of media type parameters will yield errors
...
... that is to say, the behavior will be unexpected, unless
explicitly specified when the media type is registered, as "profile" was
for ld+json.

This partially kicks the responsibility back to the entity doing the
registration to explain themselves,
instead of trying to reverse engineer an algorithm that will gain consensus
for all media types and suffixes registered to date.

In general the guidance should be: No, don't add multiple plus signs,
unless you have met a high bar, similar to how ld+json has paragraphs of
text explaining "profile".

For example, the W3 VCWG has resolved that vc+ld+json is compacted... so I
assume we do not need to use profile="http://www.w3.org/ns/json-ld#compacted
"

And yet our requested registration of "vc+ld+json" will need to spell this
out to avoid confusion... In a similar way, it will need to spell out
processing of multiple suffixes.

Regards,

OS


-- 


ORIE STEELE
Chief Technology Officer
www.transmute.industries

<https://transmute.industries>