Re: [calsify] Request for preliminary review of JSContact property registrations

Robert Stepanek <rsto@fastmailteam.com> Wed, 28 February 2024 08:41 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1493DC15152F for <calsify@ietfa.amsl.com>; Wed, 28 Feb 2024 00:41:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.806
X-Spam-Level:
X-Spam-Status: No, score=-2.806 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_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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=fastmailteam.com header.b="XF+lf7JE"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="JvNR1UKU"
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 lStnpPv6yB3G for <calsify@ietfa.amsl.com>; Wed, 28 Feb 2024 00:41:36 -0800 (PST)
Received: from fhigh2-smtp.messagingengine.com (fhigh2-smtp.messagingengine.com [103.168.172.153]) (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 84D2CC18DB9C for <calsify@ietf.org>; Wed, 28 Feb 2024 00:41:32 -0800 (PST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 54CC911400D4 for <calsify@ietf.org>; Wed, 28 Feb 2024 03:41:31 -0500 (EST)
Received: from imap43 ([10.202.2.93]) by compute5.internal (MEProxy); Wed, 28 Feb 2024 03:41:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc: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=fm2; t=1709109691; x= 1709196091; bh=m/AS+gsjeSzpuRePL55754xFkOgh5uZi7VeJ7zq2s/4=; b=X F+lf7JEKA9ouWUOxQdaBIcphW0Xjjdn/Lmhve5eAaqxcRCyPpR5YzIEjXIk+BQg5 QR1D7Wf4Q0jRQviQNLvYBrr8wn3hJ0GdcUPqij0FTMjQOJgUtbUov8jLIBldbUdE +/um/64oza4g5U1AeI9Gh5pZnPN+zsVDMPy0ndAkKYNsECb2cFemSW7iBdAtbqAz M9F+/TIMIvWnIFXi47RA0XmjKxIbKis3pCJndIX5wGZqWuoM4HAOs8C6C/UfHADV mV/vIXm4ZmLFGlPJcaLPpLvh5DQ3w7FS60gc3WYr6jVdJMTwkGPIDfvfimsBvPux rgcRkIEDTPvs8L5F+WM0Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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= fm1; t=1709109691; x=1709196091; bh=m/AS+gsjeSzpuRePL55754xFkOgh 5uZi7VeJ7zq2s/4=; b=JvNR1UKUITQltgDGhsLb2m8Y4AaeZKmdNOBgHE8ph0B5 sg3DnFQTvGA6BOr0mtRK3qcI8J5+rz+VANoIkHnYuuq1jD4hJwQxH22L84M1Aldi QH9jewSAvHZDkza+B5AhOdpP7m+5qJmab9Hp7AQ2dLAhmeeaeMdrC1DsEvmX6cXa 50NU36OXDCEd1MgUBsmswZtBr0nCYCrvDkBmdeqCpBHYByolQyHQcnpwDyk73WuI bLhHCtXZKUL2/Y4mSFeBOPEqDZH7VYRr2J5RJNj2UihtQW7y6YR5AbeKizWdFyN9 IWCCr017OrYTtcKAFda3rfBFlN/eZbm6XK/cN8o3gA==
X-ME-Sender: <xms:u_HeZag3pdmnour6Dpa51BMXLZEXN8Ha-DF8qZ6GugyyHe-Lq6Xehw> <xme:u_HeZbC-L2KKzRGxUW0F6_mWbVFECq-uazcnhvUHakA3tehScwqBzzNAksxRBn4Ox qKQ0mTDUEc6ew>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrgeeigdduvdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsegrtd erreerreejnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthho sehfrghsthhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepieejhfevgf egkeelteeiueeugfdthfevtedvieelleevleeukeejfffghfegueeunecuffhomhgrihhn pehivghtfhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehrshhtohesfhgrshhtmhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:u_HeZSGpRhXjX_NVelYEadJ8O1dD9HAMVaT5B8nCxoeTRyBqEZvKhA> <xmx:u_HeZTQVWVhrUdaG-fHS5mfFI2MMwv0pliKMeUR0lUN13v6U_Zi7dQ> <xmx:u_HeZXyDLoea_H5Ordw0lGWYnYJd6-Ay2VtLkJgTfqpsFqGGX5ZZNQ> <xmx:u_HeZYsXy54XJl9s5SoePMWzp_yvsNCMJJDE5rgZlm3kJ_liv0uK5A>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 181512D4007D; Wed, 28 Feb 2024 03:41:31 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-182-gaab6630818-fm-20240222.002-gaab66308
MIME-Version: 1.0
Message-Id: <1899d542-c730-4cbb-ba85-7db43c846c30@app.fastmail.com>
In-Reply-To: <e134df94-758a-4a25-be92-1c413cd67934@dogfoodapp.fastmail.com>
References: <f090ffad-18ca-4ad1-8483-bae0d9117f69@dogfoodapp.fastmail.com> <11572858-a721-4a02-a2a0-3cb5766405c7@app.fastmail.com> <e134df94-758a-4a25-be92-1c413cd67934@dogfoodapp.fastmail.com>
Date: Wed, 28 Feb 2024 09:41:10 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary="388060f6427c4a8aab4b727ff8fb762e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/58_X9h0G22IrjL6GRkGIVsDirF0>
Subject: Re: [calsify] Request for preliminary review of JSContact property registrations
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Feb 2024 08:41:41 -0000

On Wed, Feb 28, 2024, at 4:34 AM, Neil Jenkins wrote:
> On Wed, 28 Feb 2024, at 02:06, Robert Stepanek wrote:
>> The "addressBookIds" and "blobId" property names seem rather too specific for JMAP to reserve them in the standard namespace.
> 
> I disagree and would not like to change them. The whole point of having the registry was to avoid having the mess of ugly vendor-named (or similar) properties.

Agreed, and as many entries in there should have intended usage "common" to allow for interoperability. "Reserved" should in my understanding only be used sparingly, and as defined by both JSCalendar and JSContact "to avoid name collisions with future extensions or protocol use."

Since this is the first time that we might add "reserved" usage properties in the IANA JSCalender and JSContact registries (apart from "extra" in JSContact), let's put our own criteria to the test:
 • "to avoid name collisions with future extensions" means: reserve this name now because it's likely that a some time in the future there will be a "common" usage property for which this name is a very good choice.
 • "to avoid name collisions with protocol use" means: it's likely that contact exchange protocols will use a property named like this with protocol-specific semantics. No "common" usage property should ever exist having this name and it doesn't make sense for this property to occur outside the context of some specific protocol.

Now:
 • "id" scores highly for the "protocol use" criteria, so let's reserve that!
 • "addressBookIds" scores both for the "future extension" and "protocol use" criteria, but what is it? Do we think that's a good property name for some future extensions that going to add a "common" definition, potentially incompatible with how JMAP will be using it? Or do we reserve it now to never use it outside the protocol-specific contexts?
 • "blobId" doesn't score for the "future extension" criteria. But is one protocol enough to score for the "protocol use" criteria? Maybe, but I want to hear the working group first, because this sets a precedent.

> They would stick out like a sore thumb in JMAP Calendars and be inconsistent with everything else we've done.

I am sure you meant JMAP Contacts here, and yes, I am very much aware of that. Being active in both the jmap and calext working groups, I am just trying to look at JSContact and JSCalendar outside the context of JMAP.

>> I see that we haven't registered these properties for JSCalendar either, so whatever we now decide for JSContact should preferably be done for JSCalendar, too.
> 
> I'm not quite sure what you are looking at — the JMAP Calendars spec makes similar registrations <https://www.ietf.org/archive/id/draft-ietf-jmap-calendars-13.html#section-10.4> for JSCalendar.

My mistake, sorry. I just looked at the IANA registry, not at the JMAP Calendar spec. Again, I want to make sure we find the right solution for both JMAP Contacts and Calendars and accordingly for JSContact and JSCalendar.

In any case, I don't think it makes sense to specify a type for reserved properties, but that's just a minor thing to change.