Re: An IETF repository for working code in our protocols?

Mark Nottingham <> Thu, 20 August 2020 01:30 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5F68B3A1005 for <>; Wed, 19 Aug 2020 18:30:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Status: No, score=-2.098 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] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key) header.b=UbcjMkjP; dkim=pass (2048-bit key) header.b=HC/U4e9Z
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Bky5TF-kvfdt for <>; Wed, 19 Aug 2020 18:30:14 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5E73C3A1007 for <>; Wed, 19 Aug 2020 18:30:14 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal []) by mailout.nyi.internal (Postfix) with ESMTP id 9F27E5C0136; Wed, 19 Aug 2020 21:30:13 -0400 (EDT)
Received: from mailfrontend2 ([]) by compute4.internal (MEProxy); Wed, 19 Aug 2020 21:30:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm3; bh=D U/+qRJM7i9x6/OgyJMLxGi6ieCqExb3AkssAp7mkl0=; b=UbcjMkjPzKXTTR/zG 4rua93hVm5e2AsY4YKNV+D9mvvWBGEXvUBZGH5gkmIwNZF96M6APV+IADyNy5XPa cgB/SI4qtHwxKtHFdM/feg22xzMSz19J1Jk5YlSS7kAtrD4gIhUdSmvvh8f+AHf3 AhJfJ9YMqIRLTUer3zOBy76zoSMu3b8yyaKaXzDzakmIC6bNKTrWtrTKnsC1ISQj 6q6YiyxuhuWrNFuX1osZCdeEwGimXA8kAvoPEymCQQk/Zu7ShY482dlc0GavZJbW 3WETbWcwPEO1Pt0YbEFcx7sRyDHJegDDJEoaL+Fy2EjoJTWyqduSh2vDPYmoEhPt wWrkA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=DU/+qRJM7i9x6/OgyJMLxGi6ieCqExb3AkssAp7mk l0=; b=HC/U4e9ZFLojqfD9Ri9zr9IFoL4426yA385rCkvqwlFnTSGwzD561+db5 DXQYi5K+GtQPPjRcRLPBZZBuaILn4M9kcpoZnOuIMvIWlLdjpxGLOddm0NePmR43 BPngGldRb4MMmqAJIwiw6lQa7oOPk8gAwxl1KksfEyRVLuJAFEsGREX8J1nxhGS9 9v3rvTWPIBb8QvNpHAXnpHJc3f8ZdyQru+4JKldfYLoinnWu246Ku/PZVfMzgehQ nhTzCbQBeoV9OvjZkmV9Yu4LOrxhgy7M4K3LIYkixcmPm0vyJuJIqL/kApb9bbmG sGIWAEfXLM5hZR6iU+Sv6fEdDnp2g==
X-ME-Sender: <xms:JdI9X96RYtAmE7sIxwa7tS6oeQ8b2Adce6jOwqOR7T9I2FeEmg-xGg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedruddtledgfeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffgffkfhfvofesthhqmhdthhdtvdenucfhrhhomhepofgrrhhk ucfpohhtthhinhhghhgrmhcuoehmnhhothesmhhnohhtrdhnvghtqeenucggtffrrghtth gvrhhnpefgiefhgeekfeefhfehgfdtieeiieeftddugefhhedvgeethfetvdevuddugfdv leenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhivghtfhdrohhrghdpihgvvggvrd horhhgpdgrtghmrdhorhhgpdhmnhhothdrnhgvthenucfkphepudduledrudejrdduheek rddvhedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhhnohhtsehmnhhothdrnhgvth
X-ME-Proxy: <xmx:JdI9X66ro41uevApAngkL7aRfakp2Do8Ak_3z91MOyfcoMedXuSCFA> <xmx:JdI9X0fFtnpToP6BJzUkL71jm56PUP6btySpRtzixtyUBle-MiAEWw> <xmx:JdI9X2I1ZymkOKM8I_yZM3AxNWJSN0s8CvthRnZdeU2Ul8bQupFPsg> <xmx:JdI9X_jK9iAdOINOC2hZi69rd_r9tBKIJD4aA9z1GXmpyjaBjpx4cA>
Received: from [] ( []) by (Postfix) with ESMTPA id 50B42306005F; Wed, 19 Aug 2020 21:30:12 -0400 (EDT)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
Subject: Re: An IETF repository for working code in our protocols?
From: Mark Nottingham <>
In-Reply-To: <>
Date: Thu, 20 Aug 2020 11:30:08 +1000
Cc: IETF WG Chairs <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: Vijay Gurbani <>
X-Mailer: Apple Mail (2.3608.
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Working Group Chairs <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 20 Aug 2020 01:30:16 -0000

Hi Vijay,

Just my .02 - I'd be wary of an IETF repository of such code, as that would convey too much authority on it. It would also create a fair amount of overhead (especially for long-term maintenance).

I also don't think that it's necessary, once a protocol is successful; after broad deployment, people don't need to go searching for implementations. It *is* useful when a project is starting, to help early implementers find each other, though. 

In the WGs I participate in, we often use wiki pages to track early implementations; e.g.:



> On 20 Aug 2020, at 1:10 am, Vijay Gurbani <> wrote:
> All: I was reviewing a draft [1] as part of Gen-ART.  In the draft, there is a section pertaining to "Implementation Status" as dictated by RFC 7942.  I found this section to be very interesting in that it captures the running code corresponding to the I-D, but RFC 7942 does not appear to provide the means to retain this section upon publication as a RFC.  (To be sure, it does not mandate that the section be removed, just suggests it.  However, most I-D authors simply will end up asking the RFC editor to remove the section, as [1] does.)
> I think that is rather counter productive.  After all, we standardize protocols so that others can write programs that implement the protocols, and I see a lot of value in preserving any running code.  In the particular case of the I-D I reviewed, there were two implementations, both from reputable organizations (APNIC and the Italian National Research Council).  By simply deleting the "Implementation Status" section when the I-D was published as an RFC, it seems that good, quality implementations that folks spent time on would be lost, perhaps not irrevocably, but for most practical purposes, the code would be orphaned.
> I am wondering whether the IETF should preserve some of this running code as an archive.  The IETF makes no guarantees of the correctness of the code, just provides a repository where code can be linked to a particular RFC to allow implementers to bootstrap themselves, if needed.  This repository will also contain the contact of the original author of the code.  The repository is sort of like an IANA registry of IETF working code corresponding to an RFC.  The authors of the I-D can be the "expert" and suggest which implementations they consider worthy of archival.  The boilerplate of implementations is given in Section 2 of RFC 7942 [2].  We would have to spec out an IANA-registry like process to do so, but I think that the ends will justify the means.
> I note that organizations like IEEE have evolved to provide a repository where authors of published papers can park their datasets for reproducibility (see IEEE DataPort [3]).  The 2017 ACM Task Force on Data, Software, and Reproducibility in Publication also recommended that, "The ACM Digital Library will need to interoperate with a number of recommended data repositories and software curation platforms..." [4]..  So this idea of the IETF maintaining a software repository is not entirely unheard of.
> I apologize for taking your time if this has been discussed before; if not, it is worth some discussion.
> [1]
> [2]
> [3]
> [4]
> Thank you,
> - vijay

Mark Nottingham