[regext] Re: RDAP versioning draft feedback

kowalik@denic.de Mon, 11 November 2024 17:02 UTC

Return-Path: <kowalik@denic.de>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCA91C169426 for <regext@ietfa.amsl.com>; Mon, 11 Nov 2024 09:02:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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_BLOCKED=0.001, 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=denic.de
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 10EqcTnQx5ub for <regext@ietfa.amsl.com>; Mon, 11 Nov 2024 09:02:25 -0800 (PST)
Received: from mout-b-203.mailbox.org (mout-b-203.mailbox.org [IPv6:2001:67c:2050:102:465::203]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 77F12C13AE34 for <regext@ietf.org>; Mon, 11 Nov 2024 09:02:25 -0800 (PST)
Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-b-203.mailbox.org (Postfix) with ESMTPS id 4XnG7J21vLz9vYN; Mon, 11 Nov 2024 18:02:20 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denic.de; s=MBO0001; t=1731344540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=lsUqqZ2qg+WcMCjoWo2ApRCc06BDm7iGyd/Eb2e0G7k=; b=lv413/4kmK+5ZoWn8fyuMVNrhI2aA4uwSMWJk1rT6krkPMeI1vOOSgUPsBbnX7OO9HjSnr 2QlDdtihdy/gxXajV7Rdm4rloZTSzARaNaop+lW9n0Z8ImDk38F9rP0HS4tg9zNOC7l/6E 568igWj6Sa2qEGssfpyFeO/MGdHa8cLfc17cnQimVu/DL5xlZrYHUkNKkutiWp6VlpOqpb dR4D+ZLoJGdE/bb9nowkK9Ib0sndfuw4NGhQ+SwA/CWw1J1emVQNdTaPMpnpRC5JnwGfUV cRMUHOkNlyyBtkaSlR+ABH8f9MeaJpVES6PfUVt19wuZk70INW/dKJAhyQeTpg==
Message-ID: <50c4923f-2909-4534-9f06-c9176b4396ea@denic.de>
Date: Mon, 11 Nov 2024 18:02:17 +0100
MIME-Version: 1.0
From: kowalik@denic.de
To: "Gould, James" <jgould=40verisign.com@dmarc.ietf.org>, "jasdips@arin.net" <jasdips@arin.net>, "regext@ietf.org" <regext@ietf.org>
References: <D613F970-8889-4E02-953A-35D3B058824C@verisign.com>
Content-Language: en-GB, de-DE
In-Reply-To: <D613F970-8889-4E02-953A-35D3B058824C@verisign.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms020409080206040905000206"
X-MBO-RS-META: j11o7rxm47fprw89mko5x8j44jzajsyp
X-MBO-RS-ID: ce27fe117a7967e011b
Message-ID-Hash: ZDRZ6G6MZPBMTHOBUDGZDARFJ3X7Q3IE
X-Message-ID-Hash: ZDRZ6G6MZPBMTHOBUDGZDARFJ3X7Q3IE
X-MailFrom: kowalik@denic.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-regext.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: [regext] Re: RDAP versioning draft feedback
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/pxTBQkCG0yDz8mQNI_M79Km_LhU>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Owner: <mailto:regext-owner@ietf.org>
List-Post: <mailto:regext@ietf.org>
List-Subscribe: <mailto:regext-join@ietf.org>
List-Unsubscribe: <mailto:regext-leave@ietf.org>

Hi Jim,

To recap on what we discussed in Dublin and to also have input from the 
working group.

Jasdip stated a very valid question. Reading through the draft in more 
detail I also have a feeling that we are trying to use a sledgehammer to 
crack a nut.

The problem to solve was that RDAP was lacking of clear way of 
signalling that there is a different version of the same extension, so 
the client would know that foo1 and foo99 are indeed version of the same 
extension and not different unrelated extensions.

What the draft proposes is very feature reach, but does not tell a lot 
about why clients and servers should spend time implementing all of its 
features. Do we expect an RDAP extensions to have tens or hundreds of 
versions, so that the clients would need to apply a logic of semantic 
versioning to work on ranges of versions and distinguishing major and 
minor versions? If we talk about extensions from IETF control this is 
not likely to happen, just because of how IETF process works. Why do we 
need extensibility to even support more versioning semantics (Versioning 
Type)?

What we expect clients to do with all the related lifecycle information 
(start/end/default)? I can make some usefulness for the "end" attribute 
(like warning about using deprecated interface), but mandating the 
server (normative MUST) to remove the support exactly at this time seems 
like a void requirement, as operationally quite hard to fulfil unless 
the server would implement special logic for management of versions of 
extensions. A bit of overhead for very little gain if you ask me. 
"start" is something with even less usefulness as we are talking about 
future version. Here there are a lot of assumptions that the server 
deploys a future version and only activates it later at a given point in 
time. Again a logic not really needed. The client will learn about new 
version when it's there and supported by client anywhere.

I would double what Jasdip stated below, that opaque versioning - with 
just adding semantics to one symbol "-" splitting extension identifier 
into name and version would do the same good job and be a way simpler.

If someone would like to release a new version of their extension every 
month (as sais likely outside of IETF), another semantic for versioning 
would be good for it and within the opaque version part. But then it 
might be a part of their particular specification and would only concern 
clients dealing with this particular extension.

K.I.S.S.

Kind Regards,

Pawel

On 03.11.24 22:50, Gould, James wrote:
>
> Rationale for versioning:
>
> Section 1 says, “The RDAP Conformance values are identifiers with no 
> standard mechanism to support structured, machine-parseable version 
> signaling by the server.” It’d be good to elaborate with usage 
> scenarios where such structured versioning is a value-add for clients 
> beyond what the opaque (no inner meaning) extension identifiers from 
> STD 95 afford. Let’s say an extension is “foo1”, then “foo99”, and 
> later “foo2” in terms of “versions”. The server announces its support 
> for these non-structured extensions, say, on its web site or through 
> the “rdapConformance” member in a /help response, and the clients can 
> then negotiate a particular non-structured version of this extension 
> using the standard HTTP content negotiation methodology (e.g., using 
> the RDAP-X media type). In the spirit of what-not-to-do, it is fair 
> for a client to ask: Why should I go through the overhead of 
> processing the “versioning_help” member? What value-add does it get 
> me? Is it in some way a better discovery and/or negotiation method for 
> RDAP extensions? Would be good to beef up the rationale for structured 
> versioning.
>
> JG – We need to ensure that RDAP-X supports the extension version 
> identifier as well, so there should be no variance between the 
> versioning extension and the RDAP-X extension.  We can add more 
> rationale in Section 2 “Semantic Versioning”, where a server could 
> support multiple versions of an extensions that are signaled as 
> related.  For the versioning extension itself, there have been 
> multiple versions of it that are not structurally different and not 
> backward compatible, with the latest version being “versioning-0.3”.  
> Other RDAP extensions could leverage semantic versioning during 
> development to encourage implementation with version isolation and 
> with clear relationship between the extension version identifiers. Do 
> you believe that we should look to add the concept of relationships 
> between opaque version identifiers?
>
Kind Regards,

Pawel