[regext] Feedback about breakage analysis

Mario Loffredo <mario.loffredo@iit.cnr.it> Wed, 01 June 2022 16:33 UTC

Return-Path: <mario.loffredo@iit.cnr.it>
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 1B285C14F746 for <regext@ietfa.amsl.com>; Wed, 1 Jun 2022 09:33:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 kn2qS-jRjFfF for <regext@ietfa.amsl.com>; Wed, 1 Jun 2022 09:33:04 -0700 (PDT)
Received: from smtp.iit.cnr.it (mx4.iit.cnr.it [146.48.58.11]) by ietfa.amsl.com (Postfix) with ESMTP id 62FD5C1C994B for <regext@ietf.org>; Wed, 1 Jun 2022 09:32:07 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.iit.cnr.it (Postfix) with ESMTP id ECB17B80AD0; Wed, 1 Jun 2022 18:32:04 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx4.iit.cnr.it
Received: from smtp.iit.cnr.it ([127.0.0.1]) by localhost (mx4.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VN8LPfRA4tWX; Wed, 1 Jun 2022 18:31:56 +0200 (CEST)
Received: from [192.12.193.108] (pc-loffredo.staff.nic.it [192.12.193.108]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by smtp.iit.cnr.it (Postfix) with ESMTPSA id 1895EB806CB; Wed, 1 Jun 2022 18:31:56 +0200 (CEST)
Message-ID: <d28b8a72-4a32-cbd2-cb84-4f43bb0c85f2@iit.cnr.it>
Date: Wed, 01 Jun 2022 18:29:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0
To: Jasdip Singh <jasdips@arin.net>, "regext@ietf.org" <regext@ietf.org>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/LVNglmMUtRn9-_LbO-sLXDpXBiI>
Subject: [regext] Feedback about breakage analysis
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Jun 2022 16:33:08 -0000

Hi Jasdip,

I would suggest to add Approach C and split some scenarios into smaller 
changes.

I mean, some of the scenarios presented merge breaking and non-breaking 
changes.

I would classify the scenarios reflecting the basic breaking and 
non-breaking changes as in the following.

Possible breaking changes that can occur in the RDAP context include:

     Removing a response field
     Modifying a path URI
     Modifying a field name or type
     Modifying a required query parameter

While non-breaking changes include:

     Adding a path
     Adding a response field
     Adding an optional query parameter

Any combination of breaking changes should be treated as one 
non-breaking change while any combination including at least one 
breaking change should be treated as one breaking change (e.g., 
"Replacing jCard with JSCard" is equal to "Removing jCard " + "Adding 
JSCard").

That being said, anyone can realize that Approach A (at least as is for 
now) transforms the non-breaking changes in breaking ones. For example, 
defining a new version of a request extension by adding an optional 
query parameter to a given path implies that the path URI gets modified 
(@Jasdip, this scenario corresponds to the second one presented in your 
breakage analysis but limited only to the assumption "Query parameter q1 
added"). Likewise, adding a new member to a response extension would 
result in modifying the name of the response extension as well (@Jsdip, 
this seems to me not included in your breakage analysis).

For that reasons, I wouldn't opt for Apporach A.


Cheers,

Mario


-- 
Dr. Mario Loffredoto a
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web: http://www.iit.cnr.it/mario.loffredo