Re: [Sedate] A syntax proposal: floating and future times

ned+sedate@mrochek.com Mon, 08 November 2021 20:15 UTC

Return-Path: <ned+sedate@mrochek.com>
X-Original-To: sedate@ietfa.amsl.com
Delivered-To: sedate@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 65CE73A103B for <sedate@ietfa.amsl.com>; Mon, 8 Nov 2021 12:15:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, 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=mrochek.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 PBGM2RW2JYCe for <sedate@ietfa.amsl.com>; Mon, 8 Nov 2021 12:15:46 -0800 (PST)
Received: from mauve.mrochek.com (mauve.mrochek.com [98.153.82.211]) (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 57FD83A103A for <sedate@ietf.org>; Mon, 8 Nov 2021 12:15:46 -0800 (PST)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01S5XKIRXGCW00JPNR@mauve.mrochek.com> for sedate@ietf.org; Mon, 8 Nov 2021 12:10:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mrochek.com; s=201712; t=1636402243; bh=yGIdy6gYrBsJvOc30z5hG9At/c0lCNqaU8VuTiig9Ew=; h=From:Cc:Date:Subject:In-reply-to:References:To:From; b=csU+WslqG0rsiQrIqCfS0QYvVoDvejV9enhUxcTbZd7ZHlwNxZAiWNxrZ547DqTaW h7/aUZghAnLpGJgx0Lge7etaL/P9kHGlp3CNTvUwKI+s9JRIs24NkBSKQonSJxkyVd NVN3VTh/EcXc3ZNy5frUbC3e+njz3ORqFQhTrZpc=
MIME-version: 1.0
Content-transfer-encoding: 8bit
Content-type: TEXT/PLAIN; charset="utf-8"
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01S5NZ1TIF68005PTU@mauve.mrochek.com> (original mail from NED@mauve.mrochek.com) for sedate@ietf.org; Mon, 8 Nov 2021 12:10:40 -0800 (PST)
From: ned+sedate@mrochek.com
Cc: Justin Grant <justingrant.ietf.public@gmail.com>, Neil Jenkins <neilj@fastmailteam.com>, sedate@ietf.org
Message-id: <01S5XKIPXXDC005PTU@mauve.mrochek.com>
Date: Mon, 08 Nov 2021 11:13:31 -0800
In-reply-to: "Your message dated Mon, 08 Nov 2021 08:56:28 +0100" <0F91DCED-CDD3-4FE9-A956-07ECFA531701@tzi.org>
References: <dd7c1028-09bc-4839-b6d4-68e14e99b349@dogfood.fastmail.com> <c0dbaa85-5e5e-409d-a613-9302e9103283@dogfood.fastmail.com> <088a5135-1a39-4135-b8d7-e61113e3c143@beta.fastmail.com> <8964ee5c-463e-44cd-a2b4-e1e1a419337b@dogfood.fastmail.com> <CACy7CfgD+P9GZHy2HG=dSYubJyutX_7YnnW-gj=4FXbV1n4Anw@mail.gmail.com> <0F91DCED-CDD3-4FE9-A956-07ECFA531701@tzi.org>
To: Carsten Bormann <cabo@tzi.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sedate/EinM-eZ8NrvrprUPxD_fw57ssXM>
Subject: Re: [Sedate] A syntax proposal: floating and future times
X-BeenThere: sedate@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Serialising Extended Data About Times and Events <sedate.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sedate>, <mailto:sedate-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sedate/>
List-Post: <mailto:sedate@ietf.org>
List-Help: <mailto:sedate-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sedate>, <mailto:sedate-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Nov 2021 20:15:51 -0000

Carsten Bormann <cabo@tzi.org> wrote:

> On 8. Nov 2021, at 08:40, Justin Grant <justingrant.ietf.public@gmail.com>
> wrote:

> > I'm not sure it's a good idea to create a new syntax that pretends that
> > it's an RFC3339-compliant timestamp when it's really not.

> This.

This is an interesting way to put it, and one I hadn't fully considered 
before. RFC 3339 specifies a syntax intended to express a particular semantic:
That of a fixed point in time, aka a timestamp. In previous discussions there
has been a lot of concern about extending the syntax for timestamps.

But if what's being represented is not, in fact, a particular point in time,
would it not in fact be better to use a syntax that's intentionally
incompatible?

This isn't a simple question with an obvious answer. Full syntax compatibility
does have some value, after all. And beyond that, the trick of dropping the
time offset only works if lack of zone specificity is the only reason why the
value can't be treated as a timestamp. If there are going to be other reasons
why one of these values doesn't specify a point in time it significantly
diminishes the value of the approach.

> > > when this was proposed at the last IETF, there was fairly strong pushback
> > > to the idea of the first part not being exactly an RFC3339 production - so I'm
> > > proposing a format which always contains an RFC3339 component and yet is
> > > reliably convertable.

> > Do we know why there was such strong pushback?  What were the underlying
> > concerns?

The original pushback was against specifying something with the intention, of
obsoleting RFC 3339 with an extended syntax. (The original proposal was, in
fact, a direct revision of RFC 3339.)

> There was (and still is, at least in my mind) confusion on how much SEDATE
> thingies (we need a name for them) are

> (1) RFC 3339 extended
> (2) almost, but not entirely unlike RFC 3339.

Agreed.

> RFC 3339 is for

> (a) UTC-referenced timestamps, possibly annotated with a UTC offset.
>     This annotation could be extended by SEDATE to provide an annotation what
>     timezone that UTC offset stands for.

> But this is additional information; the meaning otherwise doesn’t change.

> The pushback was about leaving the territory of (a), because some people
> wanted SEDATE to be (a) only.

FWIW, my pushback was almost exactly the opposite of this: I never had a 
problem with work on timey-wimey non-timestamp things. My concern was with
possible impact on existing use of the timestamp format.

> Some proposals/use cases here

> (b) are almost timestamps, but reference a timezone with the intent to update
> the actual time stamp based on changes to the timezone;

> (c) are not timestamps at all, but user-visible indications of intent that
> only make sense in the context of a specific user (“floating”).

But do they always float in the sense of the zone being the thing that's not
nailed down? 

And there's also (d):

(d) A timestamp annotated with information about how best to display it, e.g.,
    using an alternate calendar.

> (b) is still mostly deterministic (i.e., there are usually ways to find out
> how a timezone changes, so after a little period of confusion people again
> agree what timestamp is/was meant).

Agreed.

> (c) is maybe a form of calendaring, but surely not a timestamp, because its interpretation changes by who looks at it.

> It should most definitely not look like RFC 3339 (e.g., by leaving out offset
> info).

OK... so if we accept this reasoning, there needs to be an explanation of
why the samething doesn't apply to the "almost timestamps" of (b).

> By the way, the military character for “local time” is “J" (where
> “Z” is world time), so the natural way to say

> 2022-11-26T09:00:00🤦‍♂️[tz=floating]

> is

> 2022-11-26T09:00:00J

> Not RFC 3339, and clearly saying that this is not a timestamp unless context
> is added.

FWIW I slightly prefer the J approach, but let's not dive into syntax details
until there's agreement on the more abstract points.

				Ned