Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@mail2.ietf.org
Delivered-To: calsify@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1])
	by mail2.ietf.org (Postfix) with ESMTP id 99A8B6E72108
	for <calsify@mail2.ietf.org>; Tue,  7 Oct 2025 00:20:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level: 
X-Spam-Status: No, score=-2.798 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_VALIDITY_RPBL_BLOCKED=0.001,
	RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001]
	autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key)
	header.d=fastmailteam.com header.b="TIkjXxQw";
	dkim=pass (2048-bit key) header.d=messagingengine.com
	header.b="lrcYSQkZ"
Received: from mail2.ietf.org ([166.84.6.31])
	by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id cSH1aai0rtAz for <calsify@mail2.ietf.org>;
	Tue,  7 Oct 2025 00:20:16 -0700 (PDT)
Received: from fout-b6-smtp.messagingengine.com
 (fout-b6-smtp.messagingengine.com [202.12.124.149])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256)
	(No client certificate requested)
	by mail2.ietf.org (Postfix) with ESMTPS id 5F6D46E720F8
	for <calsify@ietf.org>; Tue,  7 Oct 2025 00:20:16 -0700 (PDT)
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
	by mailfout.stl.internal (Postfix) with ESMTP id 463521D002A1
	for <calsify@ietf.org>; Tue,  7 Oct 2025 03:20:10 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104])
  by phl-compute-02.internal (MEProxy); Tue, 07 Oct 2025 03:20:10 -0400
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=fm3; t=1759821610; x=
	1759908010; bh=TG6K6AY9gmFCtWxLvQn/7bPsTYe7FFbelp+OtpcKlf8=; b=T
	IkjXxQw3l+p3zMPNmeK8AaKGIYSx2GN61Dk0t2ox2vm+wCL8LWa8cisapgWNeUM7
	ebfliy9ZrKxJsXPgrr7Qoy+RT+JJFX31QGGGFiRc4YPdY2hY5NHtaeHeA1oTV95j
	Z4kkuOO53gI8hKKWNE4EiBp/CFYpVZGVplp3b7G1sSoAE8dOPRaXom8/HjmsDd6R
	FgY5/zZvrNzhu46ZAbHMvUosFHC0MUuZkH0OJvUfOM0AfAiFWs8HqxIv/Ny5E8H0
	lNcDT0WavSSrWOU2jJ7GQ3VJrTTk+AXq2fnAIpDpTFqFhYCm4/FNifX8HhdWX4G/
	Ex61qpa73GCY4F9iGdaAg==
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-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1759821610; x=1759908010; bh=TG6K6AY9gmFCtWxLvQn/7bPsTYe7FFbelp+
	OtpcKlf8=; b=lrcYSQkZmn4pHMgLXWwjtiqTrq0aC/ppJlZRWnjOKmPnXzDYH4l
	Yb2Q0j6BF35C8/uqyAsAXZM3bb8q/j/fCzd+6ztWKXdfFuPPWZZVrqgMG9gd0EZD
	tTpFcx0hKTnPTw1v/di1voXoHqVHLe4JhexYdM6iHzvW2l9wBYzMNhXdLCnKctL+
	yxDTAQZgfZu3XeDVFuRcvSYTeGtrE0NPaWQstQQvd7ye4Dhh2Fq38HE3BL2JvtZT
	EatdOIi5bbR6Sh0fKhRzdJv+4uJQejTH05uRqY7/KxnkDsEGiDc/XyPP6Mxy2CJ2
	PLuG5zqeVk9/EhhZ7ppv79hdNA69iEht1Yg==
X-ME-Sender: <xms:Kb_kaCY-3fyD8XypBaPSsa7mYEXb6UNwrjIIbOAqAdBH_i3s2Pjcdw>
    <xme:Kb_kaANuoIqkF2n8CZOJ9ysBR99TxFobv3BvYXb0mIAtOGQKRZ9SX7AFLUPojT5ax
    tdd5-r1ephWBCf0JEjj7X3V5uRxnY1A84eb532F9Y1Sku8X>
X-ME-Proxy-Cause: 
 gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdelleektdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
    ihhlohhuthemuceftddtnecunecujfgurhepofggfffhvffkjghfufgtsegrtderreertd
    ejnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthhosehfrghs
    thhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepteevgfdtvdduhfevje
    eiteejfedtheelieevvdeffeelteetjeeigedufeehjefhnecuffhomhgrihhnpehirghn
    rgdrohhrghdprhhftgdqvgguihhtohhrrdhorhhgnecuvehluhhsthgvrhfuihiivgeptd
    enucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhmrghilhhtvggrmhdr
    tghomhdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoh
    eptggrlhhsihhfhiesihgvthhfrdhorhhg
X-ME-Proxy: <xmx:Kb_kaP9n-oOqAvrrN__cI0odyRkU_8Dli1GByRt6iDOH_cEG1orajw>
    <xmx:Kb_kaCp2wdIhjCw01gD1T6WOdQaj5LWE5mbef_73UdTlLTV_KmeN8g>
    <xmx:Kb_kaCp3Y2OBcuxnNeFl6yNgks1XrA0_9sS9K-2gFDJXhsyxnmwi4g>
    <xmx:Kb_kaAn6ll3xR349v9U0ShLFGBguTDXT6ZV-vaQJQ3T34IKH83lh5Q>
    <xmx:Kr_kaM3Td5vrlxm8-KRjofSUU-1qTTIe_9pZ38GzFXEm0zPShafw0Qs8>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501)
	id D338A78016E; Tue,  7 Oct 2025 03:20:09 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: ANd2G7Fm50bB
Date: Tue, 07 Oct 2025 09:19:48 +0200
From: "Robert Stepanek" <rsto@fastmailteam.com>
To: calsify@ietf.org
Message-Id: <c5c80aa9-7f4b-4be5-b1e8-ffbcb4193ff3@app.fastmail.com>
In-Reply-To: <0851af7a-73e6-4e65-ab90-10fa32b3a9af@dogfoodapp.fastmail.com>
References: <FCD2E6CD-63E5-4E9E-AE36-B3755E4E9060@stalw.art>
 <f64ae60a-64df-4ddd-958f-2b69ae36efc0@dogfoodapp.fastmail.com>
 <B0709D29-A239-432F-B382-ABF66F404958@stalw.art>
 <0851af7a-73e6-4e65-ab90-10fa32b3a9af@dogfoodapp.fastmail.com>
Content-Type: multipart/alternative;
 boundary=969c21a0cc2746049dbe551c50df5fe6
Message-ID-Hash: C75NGJ75TRQ7YYKFCHKGCCUEZYJY3OM7
X-Message-ID-Hash: C75NGJ75TRQ7YYKFCHKGCCUEZYJY3OM7
X-MailFrom: rsto@fastmailteam.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency;
 loop; banned-address; member-moderation; header-match-calsify.ietf.org-0;
 nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size;
 news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: =?utf-8?q?=5Bcalsify=5D_Re=3A_Question_about_organizerCalendarAddress_in_JSC?=
	=?utf-8?q?alendar_bis?=
List-Id: "Calendaring,
 Contacts and Scheduling Standards Maintenance" <calsify.ietf.org>
Archived-At: 
 <https://mailarchive.ietf.org/arch/msg/calsify/ek8HEIS0QEMdeoMoqOd4GPLjmKs>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Owner: <mailto:calsify-owner@ietf.org>
List-Post: <mailto:calsify@ietf.org>
List-Subscribe: <mailto:calsify-join@ietf.org>
List-Unsubscribe: <mailto:calsify-leave@ietf.org>

--969c21a0cc2746049dbe551c50df5fe6
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 12, 2025, at 7:54 AM, Neil Jenkins wrote:
> On Mon, 1 Sep 2025, at 18:41, Mauro De Gennaro wrote:
>> However, since organizerCalendarAddress maps directly to ORGANIZER in=
 iCalendar, and the "owner" role really comes from JMAP for Calendars pe=
rmissions, do you think it would make sense to remove "owner" from JSCal=
endar and instead document it under section 5.1 (=E2=80=9CAdditional JSC=
alendar properties=E2=80=9D) in JMAP for Calendars alongside other permi=
ssions-related properties like mayInviteSelf and mayInviteOthers?
>=20
> I don't think this is tied directly to JMAP, and it's better to keep t=
he "owner" definition with the other possible values in the main documen=
t.

I am not convinced anymore that the current guidance in draft-ietf-calex=
t-jscalendar-icalendar-18 for the JSCalendar "owner" and "attendee" role=
s is sound. We should either define how to convert them to a standard iC=
alendar element, or instead they should become reserve them for JMAP for=
 Calendars, just as we did for all the other scheduling properties of RF=
C 8984 that do not cleanly map to iCalendar scheduling.

Defining a standard element for the "owner" role should be straight-forw=
ard as long as the role is only informational, e.g. if it's just a way f=
or the organizer to state to attendees who "owns" the event. In this cas=
e, we could register a new OWNER participation role value at IANA (see h=
ttps://www.iana.org/assignments/icalendar/icalendar.xhtml#participation-=
roles). That aligns with RFC 5446 (iTIP) which states in section 1.3:

Note that "ROLE" is also a descriptive parameter to the iCalendar
   "ATTENDEE" property.  Its use is to convey descriptive context about
   an "Attendee" -- such as "chair", "required participant", or "non-
   required participant" -- and has nothing to do with the calendaring
   workflow.

I have not tested yet how existing iCalendar implementations deal with n=
ew ROLE parameter values, but its ABNF allows extension values: https://=
www.rfc-editor.org/rfc/rfc5545.html#section-3.2.16. I optimistically exp=
ect existing implementations to not care and ignore the unknown ROLE val=
ue.

If the "owner" role instead is something that requires enforcement - and=
 the language in the JMAP for Calendars spec suggests that - then preser=
ving it in iCalendar either as a ROLE parameter or JSPROP property is no=
t a good idea. The role value should then rather be reserved for JMAP an=
d only become a standard JSCalendar element when its clear how it relate=
s to iTIP and how to deal with implementations that don't enforce it.

In any case we should update the jscalendarbis I-D to state if at least =
one participant in an event must have the "owner" role. The current I-D =
does not mention it either way,

For the "attendee" role I am starting to think to remove it entirely. Th=
ere is no equivalent in iCalendar and in lack of any other role, it seem=
s obvious that a participant in an event is "is expected to be present a=
t the event".
--969c21a0cc2746049dbe551c50df5fe6
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><title></title></head><body><div>On Fri, Sep =
12, 2025, at 7:54 AM, Neil Jenkins wrote:</div><blockquote type=3D"cite"=
 id=3D"qt" style=3D""><div>On Mon, 1 Sep 2025, at 18:41, Mauro De Gennar=
o wrote:</div><blockquote type=3D"cite" id=3D"qt-qt" style=3D"overflow-w=
rap:break-word;"><div>However, since organizerCalendarAddress maps direc=
tly to ORGANIZER in iCalendar, and the "owner" role really comes from JM=
AP for Calendars permissions, do you think it would make sense to remove=
 "owner" from JSCalendar and instead document it under section 5.1 (=E2=80=
=9CAdditional JSCalendar properties=E2=80=9D) in JMAP for Calendars alon=
gside other permissions-related properties like mayInviteSelf and mayInv=
iteOthers?</div></blockquote><div><br></div><div>I don't think this is t=
ied directly to JMAP, and it's better to keep the "owner" definition wit=
h the other possible values in the main document.</div></blockquote><div=
><br></div><div>I am not convinced anymore that the current guidance in&=
nbsp;draft-ietf-calext-jscalendar-icalendar-18 for the JSCalendar "owner=
" and "attendee" roles is sound. We should either define how to convert =
them to a standard iCalendar element, or instead they should become rese=
rve them for JMAP for Calendars, just as we did for all the other schedu=
ling properties of RFC 8984 that do not cleanly map to iCalendar schedul=
ing.</div><div><br></div><div>Defining a standard element for the "owner=
" role should be straight-forward as long as the role is only informatio=
nal, e.g. if it's just a way for the organizer to state to attendees who=
 "owns" the event. In this case, we could register a new OWNER participa=
tion role value at IANA (see&nbsp;<a href=3D"https://www.iana.org/assign=
ments/icalendar/icalendar.xhtml#participation-roles">https://www.iana.or=
g/assignments/icalendar/icalendar.xhtml#participation-roles</a>). That a=
ligns with RFC 5446 (iTIP) which states in section 1.3:</div><div><br></=
div><pre style=3D"border-top-width:1px;border-top-style:solid;border-top=
-color:rgb(204, 204, 204);border-right-width:1px;border-right-style:soli=
d;border-right-color:rgb(204, 204, 204);border-bottom-width:1px;border-b=
ottom-style:solid;border-bottom-color:rgb(204, 204, 204);border-left-wid=
th:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);bord=
er-image-outset:0;border-image-repeat:stretch;border-image-slice:100%;bo=
rder-image-source:none;border-image-width:1;border-top-left-radius:3px;b=
order-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-=
left-radius:3px;background-color:rgb(246, 246, 246);background-position-=
x:0%;background-position-y:0%;background-repeat:repeat;background-attach=
ment:scroll;background-image:none;background-size:auto;background-origin=
:padding-box;background-clip:border-box;font-family:menlo, consolas, mon=
ospace;font-size:90%;margin-top:7px;margin-right:0px;margin-bottom:7px;m=
argin-left:0px;padding-top:7px;padding-right:10px;padding-bottom:7px;pad=
ding-left:10px;text-wrap-mode:wrap;white-space-collapse:preserve;overflo=
w-wrap:break-word;">Note that "ROLE" is also a descriptive parameter to =
the iCalendar=0A   "ATTENDEE" property.  Its use is to convey descriptiv=
e context about=0A   an "Attendee" -- such as "chair", "required partici=
pant", or "non-=0A   required participant" -- and has nothing to do with=
 the calendaring=0A   workflow.</pre><div><br></div><div>I have not test=
ed yet how existing iCalendar implementations deal with new ROLE paramet=
er values, but its ABNF allows extension values:&nbsp;<a href=3D"https:/=
/www.rfc-editor.org/rfc/rfc5545.html#section-3.2.16">https://www.rfc-edi=
tor.org/rfc/rfc5545.html#section-3.2.16</a>. I optimistically expect exi=
sting implementations to not care and ignore the unknown ROLE value.</di=
v><div><br></div><div>If the "owner" role instead is something that requ=
ires enforcement - and the language in the JMAP for Calendars spec sugge=
sts that - then preserving it in iCalendar either as a ROLE parameter or=
 JSPROP property is not a good idea. The role value should then rather b=
e reserved for JMAP and only become a standard JSCalendar element when i=
ts clear how it relates to iTIP and how to deal with implementations tha=
t don't enforce it.</div><div><br></div><div>In any case we should updat=
e the jscalendarbis I-D to state if at least one participant in an event=
 must have the "owner" role. The current I-D does not mention it either =
way,</div><div><br></div><div>For the "attendee" role I am starting to t=
hink to remove it entirely. There is no equivalent in iCalendar and in l=
ack of any other role, it seems obvious that a participant in an event i=
s "is expected to be present at the event".</div></body></html>
--969c21a0cc2746049dbe551c50df5fe6--

