Re: [media-types] Media subtypes containing "+"

"Martin J. Dürst" <duerst@it.aoyama.ac.jp> Thu, 23 July 2020 01:47 UTC

Return-Path: <duerst@it.aoyama.ac.jp>
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 0E0C53A0B12 for <media-types@ietfa.amsl.com>; Wed, 22 Jul 2020 18:47:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=itaoyama.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KITkP6AptWxN for <media-types@ietfa.amsl.com>; Wed, 22 Jul 2020 18:47:20 -0700 (PDT)
Received: from JPN01-OS2-obe.outbound.protection.outlook.com (mail-eopbgr1410131.outbound.protection.outlook.com [40.107.141.131]) (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 EDD533A0B0B for <media-types@ietf.org>; Wed, 22 Jul 2020 18:47:19 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e9YW9w+3A5opNSwyIiaA3pNBoZ8ygO70hzudCtAcPOICR5TUHV62hggfckjGbhJicWCPCOjjzYai1JUI4cfdHbdALjdVxkch5hVYBL+3VyBJYCN5j5vhI2HkNRMGPQ/e4ZQhtHRW8eA9E9VyrMZHK7l134EtntiRg2BDGSk0xr7Ivy2p3H3AwSM9A2R59Uv976Q9HDY+iPG5XrQCWLQ+RdJ0+LXeikjUTl3csYtGwFe8M0GjToLBL8a2MzPSTEjLJX3018bG1TtrQkUgpTH5qvix9tI/x0fene0DYDkZLLDr+kfbHl/YyRuUlN2JWHNrjFCjI+7I5/Nc69yagLv5WA==
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-SenderADCheck; bh=iq+cubmpTHBAZfkQTtregkE9bY8eQbFB4L+1egNc4nw=; b=Ixlw/hP0uCLhFKzE2L0OMKOqJdtk0b+vXB7uMN2Tl98byQIB0W+Hfje3323w/Yb0JYlMSFtxbR+YOihUdbnEncxCl/MQigeOsDl+kd87kxXgmO85Ur/x6AyXwFFZKHTtocLmvAv3LkGCYve6RrHDyOUVzcNewpwFKR31RQTbbmjrSmqLI5ZFMDy1W3DRvz2m8zqCAORyEx8xUfQL076b01WyOZzuqQJrA/CQA71fvCmEjVMAP/IEfpOEecvEkjhIwXdwyKp1xbhSZDcg7tFsuO9Gbm2BeIvpKWnQZR43kfMlGqeYutqRr/yrFsVFmsB/rHolA78nD4AysNiVZmbdcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=it.aoyama.ac.jp; dmarc=pass action=none header.from=it.aoyama.ac.jp; dkim=pass header.d=it.aoyama.ac.jp; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itaoyama.onmicrosoft.com; s=selector2-itaoyama-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iq+cubmpTHBAZfkQTtregkE9bY8eQbFB4L+1egNc4nw=; b=iHZGZv9DGHS4gDeMZbtVobKLvr3Kajn8j10U8UyA3uT7/jA6KZus272QZgvzyWHydrI6nMJZcLTxbyrQhS3us5pzxAVvIB8N+GEWBLHIFaYzgoeh/3u/Nvejx1hV/Wivu35rZWzNyvpx2gT9hi+hsXNimeXA0FmQZDFGyryG3e8=
Authentication-Results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=it.aoyama.ac.jp;
Received: from OSBPR01MB2566.jpnprd01.prod.outlook.com (2603:1096:604:1c::13) by OSBPR01MB2726.jpnprd01.prod.outlook.com (2603:1096:604:11::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Thu, 23 Jul 2020 01:47:15 +0000
Received: from OSBPR01MB2566.jpnprd01.prod.outlook.com ([fe80::d1a0:ea71:e6f9:9778]) by OSBPR01MB2566.jpnprd01.prod.outlook.com ([fe80::d1a0:ea71:e6f9:9778%7]) with mapi id 15.20.3216.020; Thu, 23 Jul 2020 01:47:15 +0000
To: "Murray S. Kucherawy" <superuser@gmail.com>, Manu Sporny <msporny@digitalbazaar.com>
Cc: media-types@ietf.org
References: <3d459015-b748-9ee9-21ca-89e7229d030e@digitalbazaar.com> <CAL0qLwZso7eDLDNp2UUZwoRQdLa50KHsjO7vVgWC0jcrnCn-pA@mail.gmail.com>
From: "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
Organization: Aoyama Gakuin University
Message-ID: <4340985a-8bf7-ec0d-0f94-14f873773177@it.aoyama.ac.jp>
Date: Thu, 23 Jul 2020 10:47:14 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
In-Reply-To: <CAL0qLwZso7eDLDNp2UUZwoRQdLa50KHsjO7vVgWC0jcrnCn-pA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: TYAPR01CA0105.jpnprd01.prod.outlook.com (2603:1096:404:2a::21) To OSBPR01MB2566.jpnprd01.prod.outlook.com (2603:1096:604:1c::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from [192.168.1.4] (60.35.95.99) by TYAPR01CA0105.jpnprd01.prod.outlook.com (2603:1096:404:2a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20 via Frontend Transport; Thu, 23 Jul 2020 01:47:14 +0000
X-Originating-IP: [60.35.95.99]
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7adad4ff-c41c-4d21-7251-08d82eaa5352
X-MS-TrafficTypeDiagnostic: OSBPR01MB2726:
X-Microsoft-Antispam-PRVS: <OSBPR01MB27264271E18C8E28DACF6AD8CA760@OSBPR01MB2726.jpnprd01.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: jrrh7Vkbx7qDtVwyAxcevkZlviPUqK7bhspksT0vnZYetlIrS3j8sOGkiIq6bjW32sG5C2rprrATUO7+48ekA1sZF06/VELQEM40clzIbcBXuxT5+qbhB/jAxT92hYxTbIlLy7Z14AT7nguDPywZe+cuw+6Na057shFVNgyb0sbjYAp79/w8XtNY5OLoBgvLFTeyH+/Y7udI5kA38k2xtNnC8h/6VtuPBM4cNS9fqtVqpqMvDko+oxkCDzlUvoE60RqqrfcgrSERKD+l7YcDoJ6WRr3GJ4/r+2TOl90hbHjDG6sMS8w/GqVhCaQgr3UAePWme4mXK+4oq5R39qZywn4naN3FKxtLzgD8vm76ySN3Tu7bBRYiHrjkjhbttm0r7v8RqPZ8/t+rYdiep3M2COK5sCOs2cu7mjwr4OicmQGmvRchTh7zOgBMYpEq0FtHGEOrZ2fVcErZr/2yxnIkqg==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OSBPR01MB2566.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(376002)(136003)(396003)(39840400004)(366004)(346002)(31696002)(66556008)(66476007)(86362001)(966005)(4326008)(508600001)(8676002)(2906002)(16526019)(5660300002)(110136005)(66946007)(16576012)(786003)(316002)(52116002)(36916002)(31686004)(26005)(66574015)(2616005)(956004)(83380400001)(53546011)(6486002)(8936002)(186003)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData: tt8+x2Uhy5MLpkpJ37gSPfr9AknSLdSRMPnPQHQaJR+/5spiIVLPevBqqdzL7QMrO9HVe2wgl4WSDiMvsGngjEvyRBEg+6IHPWgXZsexysTvR59QMvrqZRHonnmnKJdKmS17Kxd/E7WRSADRLF7j1oso+az21GQuAZzTndMWaA9NuaIDxD/mqu9wW+eAGdRbBiWSG0+IPDQD8HhRgGq4e++dx8qmclDFXdPThvy9e3+WjAX0OwfMLzFQjZkfLHNSQ72+keUr1G5lMvpvVbm2tf+QpVtG+W6kDiZ4p9VD22KOzWfEwmTTBAgf+/x3r1/QzIgUEJHzh/BTRk+gjKktwklueY47rBSqqMER3lvQhi0pFWaQvNDiKAMJ0jYnUQm60HLlLttKWVtGE+fMjiP7m7tCCnVmmENOpWaibcqvtepLlMmPGgJrDuis2X3cqYyjQR97myTMm8y9d0atYB2hDpbnGxbwDD4FsIXOoZ5rkV4=
X-OriginatorOrg: it.aoyama.ac.jp
X-MS-Exchange-CrossTenant-Network-Message-Id: 7adad4ff-c41c-4d21-7251-08d82eaa5352
X-MS-Exchange-CrossTenant-AuthSource: OSBPR01MB2566.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2020 01:47:15.1894 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: e02030e7-4d45-463e-a968-0290e738c18e
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dFQ37cu1fK6TBRVcQZ5zMiKNghuiLrlm4afWViw0NpKl7x/4Cq7Trj/oSMWLsEbdPgJHghqjdOJAh7oF1zCFlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB2726
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/87Z8BKPlberBpgC0K6lmXaXc0I8>
Subject: Re: [media-types] Media subtypes containing "+"
X-BeenThere: media-types@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 23 Jul 2020 01:47:22 -0000


On 23/07/2020 04:55, Murray S. Kucherawy wrote:
> Hi Manu, thanks for chiming in.
> 
> On Wed, Jul 8, 2020 at 10:15 AM Manu Sporny <msporny@digitalbazaar.com>
> wrote:
> 
>> So, we're getting cornered into having to pick something and it's going
>> to come down to:
>>
>> application/did+jsonld
>> application/did+cborld
>>
>> OR
>>
>> application/did-ld+json
>> application/did-ld+cbor
>>
>> OR (this seems to be the most tenable one)
>>
>> application/did+ld+json
>> application/did+ld+cborld
>>
>> The W3C JSON-LD 1.1 WG is at the end of it's life, and has not been able
>> to push this decision forward at IETF, so we can't easily register a new
>> MIME Type at this point. I'm sure there are some standards shenanigans
>> that could be played to do that between W3C Staff and IETF ADs, but
>> registering a new MIME Type for "jsonld" is broadly held as the wrong
>> thing to do. If we go down that path, IETF might consider rejecting all
>> new subtype submissions and JSON-LD will become a cautionary tale of
>> where subtypes went wrong... or perhaps there can be guidance given on
>> when *not* to use a subtype that would have prevented the JSON-LD folks
>> (specifically, me as the Editor at the time) from suggesting
>> "application/ld+json" in the first place.
>>
>> The alternate path is that "application/did+ld+json" is allowed, with a
>> clear rationale on why that's a good thing. We have already tested a
>> variety of popular MIME Type parsers across multiple languages out there
>> in the wild and they seem to do the right thing.
>>
> 
>> We go into CR in the W3C DID WG in the next couple of months and we'd
>> like to register all of the relevant MIME Types for the Decentralized
>> Identifier specification by that time. We'd like to register at least
>> this one:
>>
>> application/did+ld+json
>>
> 
> Mark is asking the right question, I feel: Do we know how well suffixes
> have fared, in terms of having been a benefit?  I'm not sure how one would
> go about determining this.  I would love to hear suggestions.

I'm also not sure how we would do this. But one thing that occurs to me 
is that it may differ quite a bit depending on the actual suffixes. In 
particular, the benefits for +ld+json should be rather high, because 
JSON LD can be interpreted as RDF, and RDF data from different sources 
and with different vocabularies can be integrated rather easily (at 
least so the story goes). So I'm not surprised to see such a proposal 
come from such a WG.

Another point is that these suffixes are not only for machines. They may 
help humans, too. They may help people understand how a document is 
structured. And they may also help direct people who design new types to 
use existing types and build upon them, rather than invent their own 
clundges.

> What would break on the Internet if we were to do that?

It's easily possible that there is some software that is looking for the 
first or the last '+' in a subtype, with the expectation that it's the 
only one, or that checks that there is at most one '+'.


> Are there other
>> options that we're not seeing?
>>
> 
> I also don't know how to answer this, other than to claim that we tend to
> err on the side of being cautious about making assumptions.  Having never
> implemented a browser or something else that has to handle media types, I
> don't know if I would look for a suffix by searching for a "+" from the
> left or from the right, and thus I don't know what would break because the
> results here are obviously quite different.

The 'correct' (according to a comment in the ABNF in RFC 6838, see 
https://tools.ietf.org/html/rfc6838#section-4.2) is that one should look 
for the last '+'.

 >>>>
      restricted-name-chars =/ "+" ; Characters after last plus always
                                   ; specify a structured syntax suffix
 >>>>

> My inclination is to ask that we debate a draft that's an update to RFC
> 6838, which describes media type suffixes more precisely in a way that
> explains how to use what looks like a nested suffix structure like this.

This seems to make sense.

> That is, make it clear that "application/did+ld+json" is to be interpreted
> as a type of "application" and a subtype of "did" with a suffix of
> "+ld+json", or a subtype of "did+ld" with a suffix of "+json", or a subtype
> of "did" with two ordered suffixes.

I'd propose it be interpreted as two suffixes, along the following 
hierarchy:
application
application/json
application/ld+json
application/did+ld+json

The change of direction is unfortunate, but we already have it here and 
e.g. in URIs. And we have to be careful with the term 'subtype'. In RFC 
6838, that refers to everything after the slash, i.e. 'did+ld+json'.

Regards,   Martin.

> Is someone from the W3C willing to put such a draft together?
> 
> -MSK