Re: [arch-d] I-D Action: draft-iab-protocol-maintenance-08.txt

Bernard Aboba <bernard.aboba@gmail.com> Thu, 14 July 2022 02:15 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: architecture-discuss@ietfa.amsl.com
Delivered-To: architecture-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 65A16C157B50 for <architecture-discuss@ietfa.amsl.com>; Wed, 13 Jul 2022 19:15:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, HTML_MESSAGE=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_BLOCKED=0.001, 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=gmail.com
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 sz_3fUizCt99 for <architecture-discuss@ietfa.amsl.com>; Wed, 13 Jul 2022 19:15:40 -0700 (PDT)
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82C63C157B43 for <architecture-discuss@ietf.org>; Wed, 13 Jul 2022 19:15:40 -0700 (PDT)
Received: by mail-ed1-x532.google.com with SMTP id v12so617629edc.10 for <architecture-discuss@ietf.org>; Wed, 13 Jul 2022 19:15:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jGwicpQH1CfMLa1CgPdZ3jS07ICwETZv3qGRvbdcj2A=; b=hNmvG61lQ4K4Oa6oV0Zr490SpvpJ0f6pxBpogG7pE/Qc4IOhim2QIUIeFjoYsSU/Vd slN7SJ/QqRafYitwkd8XBtL0pgWndrIHdLPoHJiRjLxu/MIE0MvhYQeimuzKo1/mIBL1 4LU1Mu3hMpzWYlsDFwvVanu4vuLwwvI8CWOyNiuv49PncO9yW/l/e/UPdXxj4m8oiZDE R+Hr8nFPpNGYg+w3/sj2TWxQNux2xO7L0aKeAnm+apo55IUIknEsMpLiqLwIqLDJhIcY nR0DO0AVs3zNEoNj6vmhd5QMZhSqP4ueez3zyUNa5Zo1yvpGCHr4BGBOWEpjRe33RboH 6zSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jGwicpQH1CfMLa1CgPdZ3jS07ICwETZv3qGRvbdcj2A=; b=eyQdJUDRbiqwBzlRUy62o8KcmgLYrvVh5uPwJs9M1EYRwsQM7GLp/KFoQ2TrUfjS6s r2K1EMLRmfVHU8hQHObwj1sxonPAhnc31bSvAIV/WABsPwqUSziLw0/OJpER4/2CZIWG i5YtDrNIQdZ5eyrrn54ToBj1rxHuGfLgwOFTlZRYuYK1K8LLorQ4Ht8RqzjMkXKkCTLq MWG1CUkZ0UfsHcEVO/GuDywu6L5thtHS47fPDRCyvbhaFD0UGQ99rC7M7Ufm1aC8fDU4 3DiXi0IBaT4gqnCfrE3HFMQ0SDmDl2jU+SYhrLWW0ezrs9f//DHC+jY/LBATSQcDa7Ji jM1A==
X-Gm-Message-State: AJIora+6BUZnJ1BANsHF64ZDCJlS59UtUkHZCTLb0bHTb41BKtfytmhV u70IxU47Qvo1NotDEnGzoUlehUZDJ0J1LRo0peW9nCysd+2yKg==
X-Google-Smtp-Source: AGRyM1v+xZjKj87hROIBvPvB2uHYabbN0NhaMrxm8M4TABHervfPgUKWRpUqHhDEQQGPaxsrkzsDJOQj/qUjYlDq1bE=
X-Received: by 2002:a05:6402:194b:b0:43a:bc62:69a0 with SMTP id f11-20020a056402194b00b0043abc6269a0mr8842093edz.400.1657764938669; Wed, 13 Jul 2022 19:15:38 -0700 (PDT)
MIME-Version: 1.0
References: <a06000c5-939a-a896-9c0f-576e9e2ff97f@gmail.com> <D20FCDD6-3756-40E7-AD6A-416A2C464DF1@gmail.com> <dbee51f0-1913-af6e-de00-c3a7f5b77f68@gmail.com> <6723979f-c496-43e1-a389-a50dd3af2224@beta.fastmail.com> <ade079ff-b8b4-76ab-626c-e74f99229205@joelhalpern.com> <0bdc5d0f-2411-4797-b116-d46643d21746@beta.fastmail.com>
In-Reply-To: <0bdc5d0f-2411-4797-b116-d46643d21746@beta.fastmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 13 Jul 2022 19:15:27 -0700
Message-ID: <CAOW+2dsfK=dqGTz28fqP7P29ZkK5Bc59=bPPup5VVYgYwqYfUg@mail.gmail.com>
To: Martin Thomson <mt@lowentropy.net>
Cc: "Joel M. Halpern" <jmh@joelhalpern.com>, architecture-discuss@ietf.org
Content-Type: multipart/alternative; boundary="0000000000004a645e05e3ba7a31"
Archived-At: <https://mailarchive.ietf.org/arch/msg/architecture-discuss/P9cqUYfJjVysL2Jf5IKvZaAlk6E>
Subject: Re: [arch-d] I-D Action: draft-iab-protocol-maintenance-08.txt
X-BeenThere: architecture-discuss@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: open discussion forum for long/wide-range architectural issues <architecture-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/architecture-discuss/>
List-Post: <mailto:architecture-discuss@ietf.org>
List-Help: <mailto:architecture-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jul 2022 02:15:44 -0000

Martin said:

"The Robustness Principle was a totally appropriate tool for the Internet
of the 1980s.  What passed for specification was necessarily loose.  That
was OK because the people implementing and deploying were collaborators on
a research project.  That sort of thing happens all the time when building
something complex.  It was, in essence, the author setting out the
high-level details and leaving the details to colleagues.  It was partly an
embodiment of respect and an acknowledgment that everyone involved was
still learning."

[BA] The Internet and related services are a utility today, just like water
and electricity.  So the Robustness Principle can also be thought of as an
observation about commercial reality, As such it isn't just a relic of the
1980s. There are plenty of more recent examples.

One that I recall occurred in the 1990s and early 2000s when a widely
deployed access equipment vendor decided to coopt most of an IANA registry
without registering the code points.  It has taken us years to even
partially document what those code points were used for (since they didn't
submit drafts documenting the protocols used either).  And as you might
imagine, the IETF community was not happy. However, the equipment was very
widely deployed and so implementers had to add a switch that when set would
recognize the ill-gotten code points.   It took almost a decade before the
offending equipment became rare enough to remove that switch.

Would it have made sense to tell customers "sorry we refuse to modify our
software to allow you to access the Internet because we are protesting the
behavior of vendor X"  I suspect the customers would not have been in
sympathy with that approach.

For egregious security violations, more spine is typically exhibited, but
even then we often see a classic deprecation notice/removal process,
lasting a considerable period. Look how long it has taken to go from
deprecation of TLS 1.0/1.1 to turning off those versions in deployments.

Martin said:

"That doesn't pass for responsible today though.  People consuming RFCs
aren't all respected colleagues who share a common goal and can be trusted
to work it out for themselves.  Today, robustness *is* used as an excuse
for protocol developers doing a bad job.

I've seen that people are very much willing to drop the excuse and do the
work after some nudging.  And I've had to nudge less often recently.

The trick then is in determining what else robustness is good for.
Papering over a temporary interoperability issue is the best I've heard."

[BA] In the examples above, I actually do think that the Robustness
Principle was applied in a responsible way, although my definition may not
be the same as yours and "temporary" can represent a long time.

My view is that keeping the Internet running is job #1.  I do think we are
moving to a world where maintenance cycles are compressed and we can push
out fixes for vulnerabilities on much shorter time frames.  But there is a
lot of end-of-life equipment out there that can't be (inexpensively)
updated, and some ecosystems are dysfunctional because there is little
economic insentive to do long-term maintenance (consumer routers and device
drivers come to mind).

On Wed, Jul 13, 2022 at 5:03 PM Martin Thomson <mt@lowentropy.net> wrote:

> On Thu, Jul 14, 2022, at 00:33, Joel Halpern wrote:
> > Your description of the Robustness Principle below does not match my
> > understanding at all.  It was never intended as an excuse for protocol
> > developers to do a bad job.
>
> I agree, but then I don't.
>
> The Robustness Principle was a totally appropriate tool for the Internet
> of the 1980s.  What passed for specification was necessarily loose.  That
> was OK because the people implementing and deploying were collaborators on
> a research project.  That sort of thing happens all the time when building
> something complex.  It was, in essence, the author setting out the
> high-level details and leaving the details to colleagues.  It was partly an
> embodiment of respect and an acknowledgment that everyone involved was
> still learning.
>
> That doesn't pass for responsible today though.  People consuming RFCs
> aren't all respected colleagues who share a common goal and can be trusted
> to work it out for themselves.  Today, robustness *is* used as an excuse
> for protocol developers doing a bad job.
>
> I've seen that people are very much willing to drop the excuse and do the
> work after some nudging.  And I've had to nudge less often recently.
>
> The trick then is in determining what else robustness is good for.
> Papering over a temporary interoperability issue is the best I've heard.
> Of course, the number of problems I've witnessed arising from that practice
> makes me want to discourage that as strongly as possible.
>
> Of course, if you have a better definition, please go ahead and produce
> one. Maybe what I've said makes no sense under an alternative definition.
> The text in RFC 760 seems pretty clear to me if you want to rely on
> documented canon; the same applies to my observations of how it was
> interpreted.
>
> I'm also not looking to change your mind.  Reasonable people can disagree
> on points like this.  You clearly have a well-established position based on
> lots of experience and careful thought.
>
> _______________________________________________
> Architecture-discuss mailing list
> Architecture-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/architecture-discuss
>