Re: [netmod] IETF 108: Summary of insignificant whitespace changes and versioning

"Joe Clarke (jclarke)" <jclarke@cisco.com> Tue, 11 August 2020 17:16 UTC

Return-Path: <jclarke@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2FC4F3A080A for <netmod@ietfa.amsl.com>; Tue, 11 Aug 2020 10:16:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.598
X-Spam-Level:
X-Spam-Status: No, score=-9.598 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=kqUL1GXx; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=yukALOiS
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 1ZT5bTxDlMiX for <netmod@ietfa.amsl.com>; Tue, 11 Aug 2020 10:16:05 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADB5F3A0808 for <netmod@ietf.org>; Tue, 11 Aug 2020 10:16:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4652; q=dns/txt; s=iport; t=1597166165; x=1598375765; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=KFPA7pTAsQN40bOzjK18jnBYVp3o7kdYNRaFAaalLM0=; b=kqUL1GXxAHwWt8Le2r2qQN5WT5TO1ms0sE3LXSbnmx/l6PPfoMMpkDFx h7rStILdkzSjZO+IOI1YevxofyRqkaFw5U9sJaLWlZXxLdW0DUcdH5rLB lTHWVrsP0BdEQ6RibpYqUhw7z8tjzn6EKCxJjWbhai/aP6KxESTAPK5Xb 0=;
IronPort-PHdr: =?us-ascii?q?9a23=3AW//rnxEtIgEYjpN3/O7MW51GYnJ96bzpIg4Y7I?= =?us-ascii?q?YmgLtSc6Oluo7vJ1Hb+e401A+bW4TQrflW2KLasKHlDGoH55vJ8HUPa4dFWB?= =?us-ascii?q?JNj8IK1xchD8iIBQyeTrbqYiU2Ed4EWApj+He2Yk5UE4D1dQ6arni79zVHHB?= =?us-ascii?q?L5OEJ8Lfj0HYiHicOx2qiy9pTfbh8OiiC6ZOZ5LQ69qkPascxFjA=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CQBQDH0TJf/4gNJK1gHAEBAQEBAQc?= =?us-ascii?q?BARIBAQQEAQFAgUqBUlEHgUcvLIQ2g0YDjVOYZoJTA1ULAQEBDAEBLQIEAQG?= =?us-ascii?q?ETAIXghwCJDgTAgMBAQsBAQUBAQECAQYEbYVcDIVxAQEBAwESEQQNDAEBNwE?= =?us-ascii?q?ECwIBCBgCAhUBAQ8CAgIwFRACBA4FHwODBIJMAw4gAadZAoE5iGF2fzODAQE?= =?us-ascii?q?BBYJKgk4Ygg4JgQ4qgnGDX4ZAGoFBP4ERJxyCTT6BBIM4ARdEBII4M4ItkBS?= =?us-ascii?q?Ca6MtCoJimhkDHqAVrg2DVgIEAgQFAg4BAQWBaiOBV3AVZQGCPj4SFwINjh8?= =?us-ascii?q?MDAsUgzqKVnQ3AgYBBwEBAwl8kAgBAQ?=
X-IronPort-AV: E=Sophos;i="5.76,301,1592870400"; d="scan'208";a="543322146"
Received: from alln-core-3.cisco.com ([173.36.13.136]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 11 Aug 2020 17:16:04 +0000
Received: from XCH-ALN-002.cisco.com (xch-aln-002.cisco.com [173.36.7.12]) by alln-core-3.cisco.com (8.15.2/8.15.2) with ESMTPS id 07BHG4o7018165 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 11 Aug 2020 17:16:04 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-ALN-002.cisco.com (173.36.7.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 11 Aug 2020 12:16:04 -0500
Received: from xhs-aln-003.cisco.com (173.37.135.120) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 11 Aug 2020 12:16:03 -0500
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-003.cisco.com (173.37.135.120) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 11 Aug 2020 12:16:03 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CtNjWvIk1vZ3LrF8/+ZYhZj5DJEfZ2wWAp0pQOdThQ9BdJw4euF5zEDOfntOQ0SOIpyjFrCIeqIx6wVGk0TWmyCjkYCxixBzLcWKSmJza4ew9OOlPsYTSoXO9cVe2EsQF/ytiYIA3y+AYLhptCHUlHJc1PfwD8mnd+VecJdoLw5uJXb/XrHsvO2NBxZggKp6Iiq/la5JFSR7X6EetidGt6vlZxBiZwz9H0Z7dwJWYIaGsD2fPDfuHJ1QKlqgJG+0tAiSIEyEwxowasSNRZEvStnfhCw12X6rvfUbSXuAGZPvb7ZapWFYFnKoy2PutjOKSH1ArZaXwVjKQeTrouCT/Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KFPA7pTAsQN40bOzjK18jnBYVp3o7kdYNRaFAaalLM0=; b=DjnWaATnjd+v8ujVlRmLajLy7h3JDI87dCLrJyxAmoegieYS+Ahnm/tUpevptCmsIGaaSoy7vx6Cf/+y2DHkFmezqk9pzPefcFeJXH5ogRXNE+DvQKy5bZMlJHyBLWUOlvCZh2TXjEevg8zW2PBTVP4yRFui+uQM8ePRpPJcqmfom0PfAhozJ4raQasJw5IlaH5B3H2uoiDbHV+La6UjM6LGkN06b2OtDS00wZ037xGlO1Szun7jciKPFcsQ1XhBwCn+pjtk8cGgsSDe8ERP+o+5QOJmhz5x5OMnhZ2HTyczHONK5P/nCOZRH/5fc5EMxjBxkHTj5YIHZIXEB5Tu6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KFPA7pTAsQN40bOzjK18jnBYVp3o7kdYNRaFAaalLM0=; b=yukALOiSYNUvMCk/gTqq78BiPTu0dUrI8exu+gKEZ+TJIX1CsjupADjdkJwGWq8nmdsbdStWq0HokjUOSOB5eevW3v75bah4g5MiwnFKAFzlqTPhAiZEHaLG70y2zN9t7ULxGbqiB/6sBK+w//KjyQ7GfwP2sxBoO4PDfX438cE=
Received: from BN6PR11MB1667.namprd11.prod.outlook.com (2603:10b6:405:e::12) by BN8PR11MB3732.namprd11.prod.outlook.com (2603:10b6:408:83::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.18; Tue, 11 Aug 2020 17:16:03 +0000
Received: from BN6PR11MB1667.namprd11.prod.outlook.com ([fe80::c75:66f5:d072:746a]) by BN6PR11MB1667.namprd11.prod.outlook.com ([fe80::c75:66f5:d072:746a%12]) with mapi id 15.20.3261.025; Tue, 11 Aug 2020 17:16:03 +0000
From: "Joe Clarke (jclarke)" <jclarke@cisco.com>
To: Ladislav Lhotka <ladislav.lhotka@nic.cz>
CC: NetMod WG <netmod@ietf.org>
Thread-Topic: [netmod] IETF 108: Summary of insignificant whitespace changes and versioning
Thread-Index: AQHWb+UbHoRASKbTwU+7Kq/q+RMeJ6ky/lqAgAAoBgA=
Date: Tue, 11 Aug 2020 17:16:03 +0000
Message-ID: <10C63E36-69BB-41D2-89CC-75C4C8DEF4DF@cisco.com>
References: <5CF24083-4126-4BE0-93F1-9A36F6DE9296@cisco.com> <19f17f7b-a48a-add0-351d-7a93e959dd7b@nic.cz>
In-Reply-To: <19f17f7b-a48a-add0-351d-7a93e959dd7b@nic.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.1)
authentication-results: nic.cz; dkim=none (message not signed) header.d=none;nic.cz; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [2001:7d0:8474:c380:745a:7834:4d7c:aaad]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a50338c1-13c2-4d60-e656-08d83e1a39c2
x-ms-traffictypediagnostic: BN8PR11MB3732:
x-microsoft-antispam-prvs: <BN8PR11MB3732018E71B506D27527E7DCB8450@BN8PR11MB3732.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: XhvpnYHw5nziqHVGkOPIHjmkKirYxDg0+NBAo1RaO/yTytAbQ7xLkEuOPDh3ksOTY3LDXtQ1dq5oiZUWwstgU5nLOcdZX8ODFNMeiLR8BJrQK7sw1PEa7fAGkgRb0rZfpOQdjVAeSJNa4Ol8WFfqCPprypWnxaYnwAzLsJLQXLJKFoEk2mIkIDQS4lv9xYX2Xzmx4nGWQXOq1kCR+oma7z6vBIlzOizcvWGJPvXLk7l7gLqA6qo/Eowos+mjTrTDzK8C/VvDhb3C+YXVdlj3R1QaNYjeIYH72YBilMEFC859An3hhNgTuo3QWd/E+CxZP4bnyv23SoZmYDJy4l3cLA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB1667.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(396003)(366004)(376002)(39860400002)(346002)(66946007)(83380400001)(71200400001)(66556008)(66476007)(66446008)(64756008)(2616005)(8676002)(5660300002)(91956017)(86362001)(186003)(76116006)(53546011)(33656002)(6506007)(8936002)(2906002)(316002)(6486002)(6916009)(6512007)(36756003)(4326008)(478600001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: qZOp5+ZBw4q3TWxg6gDOqAGWBpZ+oSQyEpShkdxH/OD2m4F2lK6poTonBs5AdYQYwTuaSkWy/OawJM76q8aZJgAybtPH5Sn4saKorPzv2xgp0psR4ERGTcewSOU8/A1mQkfA+ca/epj5pMSW+cG9I12h7KFZYfE/aq3ZRQIQPZEvTWhtD/y2Yu7jXSQWO/ZlGrzQXepDkpwpDd0SX021kkgHAd+ki8Enmk8O7uILexnG0CpB5PxBXEGr2zG7tseiWnWl0PKSDJKoOFMQPf6gnee0t4IRbJmXCd0f6v/2ccQS55Ymz+rL5Dm2C1Scp79ywnkSDscuudKH9bNCEu+CPQhyPZ2Z9+Nep32zXp9Xd0k4vtRYE1dEFvPcz5+3S1mD/aYTv3Rwnc3fjaWWWMrS03akEGywVzR9mTSzfhGHhGTpevC/cdM+9EQ7KlhmEpbXmyErdjB+6DelzTH8XdTVXe4zY8m2NWvPg7qUFxAH4ESq4bq+M0CJKs0PmBd0yEd4IhgAJAhEjOksb5wQBOW1XZbBBmH7YqmBF2bmJUcNQkwYM/4DUZdbcTiJaVrq8yXvEZbDcZDQc2fcJMSK7BMPFCOOTmZJZY765khJP3j8hVkyZ3Vp3berFlHB7DPYZn8dp3o/2PkWxW51dN2gC9SXnWXCzcbA0hCOoTmK35Q9p2nkA6MlYUXWMtHXmmqtLjPSUDUScLa5agwu89g7xGakwg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <0369DBCF92FF344BB5049F9BA3B39106@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB1667.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a50338c1-13c2-4d60-e656-08d83e1a39c2
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2020 17:16:03.0262 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7R6F7p+lUaxJY32cXNYreOn9/YkbcoP1wMtkRcfW4cz9uPN2Xb5Pe1bqtmWGxP+rA6GK/unAHLEKvdiTBJZ+3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3732
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.12, xch-aln-002.cisco.com
X-Outbound-Node: alln-core-3.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/rb3STE7P4dy7EsFo4VJ_ZXWfe4Y>
Subject: Re: [netmod] IETF 108: Summary of insignificant whitespace changes and versioning
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Aug 2020 17:16:08 -0000


> On Aug 11, 2020, at 10:52, Ladislav Lhotka <ladislav.lhotka@nic.cz> wrote:
> 
> 
> 
> On 11. 08. 20 15:41, Joe Clarke (jclarke) wrote:
>> At the IETF 108 virtual meeting, Lada asked about what would happen if he converted a YANG module to YIN syntax (or vice versa, or to some other format).  This was during the discussion of the issue of what should happen if a module changes and the only changes are insignificant whitespaces (e.g., strip trailing spaces, change line length of descriptions, etc.).
>> 
>> The authors/contributors discussed on this on our weekly calls, and we propose:
>> 
>> If a module changes and those changes are only insignificant whitespace changes and the syntax of the module remains the same (i.e., YANG to YANG, YIN, YIN, etc.), a new revision of the module MUST be created.  If you are using YANG semver as your revision scheme, you MUST apply a PATCH version bump to that new module revision to indicate an editorial change.
>> 
>> The reasoning behind this decision is that it makes it very clear and unambiguous to consumers that this module has been consciously changed, and those changes are only editorial.  This way one won’t be concerned if they note that a module of a given syntax with the same version but different checksums and diffs wasn’t otherwise manipulated.
>> 
>> That said, if a module changes format from one syntax to another but maintains semantic equivalency, then the revision and YANG semver MUST be the same.  In that case, one will use the extension to realize that this module file cannot be directly compared to one of another syntax without looking at compiled or semantic representation.
> 
> The last paragraph means that after a round trip YANG -> YIN -> YANG the
> initial and final YANG modules MUST have the same revision. However,
> depending on the conversion tools used, they may easily differ in
> whitespace, so their byte-oriented checksums won't be equal.

I shared comments from our discussion today in my response to Martin.

> 
> I think there are in fact three cases:

Yeah.  We also discussed if this notion of “insignificant” white space was documented.  We weren’t sure that all of these cases were properly spelled out anywhere.

> 
> 1. Whitespace outside statement arguments - I believe this should never
> be significant.
> 
> 2. Whitespace in the argument of "contact", "description",
> "error-message" and "organization" - this is tricky because tools may
> format such arguments differently. I am leaning towards making
> whitespace insignificant in this case as well.
> 
> 3. Whitespace in other arguments has to be significant and lead to a
> revision bump.
> 
> And one more corner case for both 2 a 3: what if "\t" is replaced with
> the tab character in a double-quoted string? For YANG, these two strings
> are absolutely equivalent.

The consensus on the call would be to bump revision and YANG semver (if used) for all of these when republishing.  For 2 and your corner case, I would definitely see these as editorial.  For #3, that could be more of a MAJOR version bump (think changing a pattern).  For #1, we thought the explicitness of bumping the PATCH version when republishing made the most sense since the consumer clearly knows the module was intended to change, and the revision can document the reason for the change.

Joe