Re: adapting IETF in light of github and similar tools

Brian E Carpenter <brian.e.carpenter@gmail.com> Tue, 20 April 2021 02:59 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0C5B3A0FFB for <ietf@ietfa.amsl.com>; Mon, 19 Apr 2021 19:59:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 bzMKrKQtrTpj for <ietf@ietfa.amsl.com>; Mon, 19 Apr 2021 19:59:00 -0700 (PDT)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C47863A0FF6 for <ietf@ietf.org>; Mon, 19 Apr 2021 19:59:00 -0700 (PDT)
Received: by mail-pl1-x632.google.com with SMTP id e9so1886930plj.2 for <ietf@ietf.org>; Mon, 19 Apr 2021 19:59:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=jXWleJbCI5HJI0ftkRS8z2PRwFHBfq0ktB2X9eL+6nQ=; b=LVaG5BEt+smFcLLC94gX+PUJ/4qtN8ueGVbHGjwcy2GJrv7EnW82OtjOLfjPN+t9Gb Wkw3w8zH/SKRNPKp0mi+3rDdIKpv4LXY7MAVnXpjqP56UyVNaT7HxvvSqFAGMS5Un9Qy 1a2GetuqDr6+CqRRfHNtT4AdVXqIdsUaIeXiDH0TbvymeMx4NTzLlIwUBjzy0kAnEh/P zbzLtXtcpsz6rCXkNCV0HFy3+D0pY28F7yJpBAhNNt+bhs6BQ2mLuKKsWzsNmp8im/tp 7YAAQIDmpLMO1z4JnuHSQnSazzJUKCqV/p+TXm+rk8XVkhjHJqhRTZe3faFMSi5eA5jw gwsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jXWleJbCI5HJI0ftkRS8z2PRwFHBfq0ktB2X9eL+6nQ=; b=gZ/xYdaAYN+6CZgmavfIXqbJbIv5I9NNbHkY8jPLSwKSrkorVp+vXru4nnigSpgBcF L2OwCPplGshluAl+eoLQuZS1x4boCnMwlzsF7c/wphRNYGNXgLIWu5Tp2WNHrx3wauus 5s25gB5N50c2g9QgC9h4RNGu3cOr3+uooIeuki2j3FEDlZlc5FCwHw2DVwmgAZZPYjOq DYFuZiaTqfIWBTPxrbytLmOZOoQjkYWXBRKGLs8ta2cK0ss+dfO5VlQvBTzzGeOoNRlB 38+fSUgKtYR0u51JmDfFeblKZeokGLvj8oT8Hsn3yIz8u97R8TrUYeSMsIC83G7fdZ5F cGPw==
X-Gm-Message-State: AOAM531K3H23oeKU+dbZ4Qunq2Idy4GNtwAwtzG8/lANFxgoNSl2y2xa bA2ntnLkEijGhYvnG96zHbX+eSjqhNAkPA==
X-Google-Smtp-Source: ABdhPJx1Oqm2N1C6q1HM1RP/gH+BpnYuyW1zYDaJJ0sdwJfNth+m+dDAx1P1TFCR3aN/Ntn9awnp0g==
X-Received: by 2002:a17:90a:d184:: with SMTP id fu4mr2365544pjb.79.1618887539444; Mon, 19 Apr 2021 19:58:59 -0700 (PDT)
Received: from [192.168.178.20] ([151.210.131.14]) by smtp.gmail.com with ESMTPSA id o9sm1974353pgn.0.2021.04.19.19.58.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Apr 2021 19:58:58 -0700 (PDT)
Subject: Re: adapting IETF in light of github and similar tools
To: Keith Moore <moore@network-heretics.com>, Richard Shockey <richard@shockey.us>, Leif Johansson <leifj@mnt.se>
Cc: ietf@ietf.org
References: <0b63d094-8c95-409f-282e-86231128f7b5@network-heretics.com> <1C5B7B67-27E5-41F5-89D4-765A407C1FC6@mnt.se> <EE6AD028-C5E9-4FA9-9756-0ACB32E298F9@shockey.us> <10029019-302a-dbf0-6a8e-eb0d26cd027a@network-heretics.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <ddd6a7af-0f94-6250-c5d6-4348ddc8d059@gmail.com>
Date: Tue, 20 Apr 2021 14:58:54 +1200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <10029019-302a-dbf0-6a8e-eb0d26cd027a@network-heretics.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/bPau1HrAYINHYPuSc-fwrcn7Ock>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Apr 2021 02:59:07 -0000

On 20-Apr-21 10:22, Keith Moore wrote:
> On 4/19/21 5:34 PM, Richard Shockey wrote:
> 
>> RS> GitHub.  The paradigm has shifted. It's no longer "rough consensus and running code." Its just running code.  Look at WEBRTC as a example.
> 
> Though at least at one time, the emphasis wasn't merely on "running 
> code" so much as on "specifications that permit multiple running code 
> implementations to interoperate".
> 
> These days there's less variation between platforms, so often it's at 
> least possible for different implementations of some applications to 
> share the same code base.   And with automatic software update, 
> applications can be upgraded to support new protocol features without 
> needing to get agreement on a protocol specification.  Rather than get 
> rough consensus on the change, whoever controls the repository 
> effectively wins.   

And if you're the least bit concerned about anti-trust laws, you would
want to be well away from that control point. That's a fairly strong
argument for why you need open standards as well as open source.

(Though forking does happen sometimes.)
> 
> Webrtc is certainly an example of something, but people might have 
> different opinions about whether it's a Good Thing.   At least the last 
> time I looked, it was extremely complex and difficult to implement from 
> a specification.  So it tends to be tied to these bloated 
> privacy-violating codes called web browsers that have a huge attack 
> surface and require very significant resources.

And it's no coincidence that WebRTC led to the largest and probably
trickiest set of interdependent RFCs in the history of the Internet.
 
> But I do think it's an example of how the paradigm has shifted, at least 
> for some kinds of applications.    How can IETF respond constructively 
> to that shift?    Somehow doing everything the github way doesn't seem 
> like adding value.  But there's even more demand than ever to be nimble, 
> to make huge changes quickly and without much time for review.   And yet 
> in some areas, particularly security, and probably also other 
> operational considerations, the need for careful design and 
> implementation are greater than ever.   Could we restructure our 
> processes to change the emphasis in our reviews to make sure we're 
> adding value in these neglected areas?

I thought we already did that by instituting the area review teams.
It might be time to review whether that's working properly.

> Would it make sense to make 
> running code part of our official work product, produced concurrently 
> with the specification and reviewed for consistency with the 
> specification?

Again I think anti-trust would be a factor, although we'd need legal
advice on that. Also possible liability concerns, ditto. However,
I am disappointed by the low uptake of BCP205/RFC7942. We need to
do better.

> Could we make greater use of protocol specification 
> languages to reduce the difference between specification and running code?

In theory we could, but it's far from easy. Take CBOR-based protocols for
a start. Yes, you can use CDDL for a formal specification of the message
formats, and you can in theory verify that the messages conform; you could
presumably write a CDDL-driven message parser. But none of that models
the protocol's state machine. That would be a whole new level of formalism.

People are trying, however: https://doi.org/10.1145/3341302.3342087

   Brian

> 
> Some of these things are already happening, of course, but could/should 
> we make them a more explicit part of our process?
> 
> Keith
> 
> 
>