Re: [arch-d] Comments on draft-iab-protocol-maintenance-03

"Martin Thomson" <mt@lowentropy.net> Thu, 09 May 2019 06:32 UTC

Return-Path: <mt@lowentropy.net>
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 3D1C8120049 for <architecture-discuss@ietfa.amsl.com>; Wed, 8 May 2019 23:32:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=i/XpoC8F; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=RMqQntY4
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 0yeEqXvEfWJM for <architecture-discuss@ietfa.amsl.com>; Wed, 8 May 2019 23:32:22 -0700 (PDT)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 017631202AF for <architecture-discuss@ietf.org>; Wed, 8 May 2019 23:32:22 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 03277354; Thu, 9 May 2019 02:32:20 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute1.internal (MEProxy); Thu, 09 May 2019 02:32:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=qRgPAtu8/lgjxRZSIzGKGl0m8/l44W4 xruHdI9aARu0=; b=i/XpoC8FPl/QExF0cAxFNjuRx3X+bi+uWsCAYTD1PnauEUP v3V6SC+eedONkKkc1a/gMKlSkrZm6dlic6LXoGhmQ4UgcdZmb4uSTUGDirGMvYuA wpe23V42uRcy2vjCFdDMpp7X6Dp/u1rRXzQA9JUPqV/Ix/N5gAegPbgucKlxLwur Em+6FEw23UB3KJuuq/4D1ZJb8gBSvORhD2EynZSWGFDm4psX3pMF67kc1o4N8MaL IIZupX/BPzlKfkNq7wdhQ/cFnx+paO+djFSFkrrJgCLnJ54otYym8WJm1xSoCKmY xXexTXj0720ormIypp1KJFRcZUPuPhQiKU9a4WA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=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=fm2; bh=qRgPAt u8/lgjxRZSIzGKGl0m8/l44W4xruHdI9aARu0=; b=RMqQntY4vJX4bTsuhB47we NAJh2vQ8AZ8K7RM01aFODWomx3w4lmpuDCI31UzfQ0HQuFO1YVvrcfPl7I5gaVMs LkMZJRZ3k1f+fJN3Ed9VywLr4Myv11LhKcd+UCbdSVr/jlpB1xuuuJm9pBqdyxXC 5zV6b8IJKPourviqCIQ7E/kq6nHrru0kw8+no8/s2fZMW9UbCQAC4azgkEDT4erj syFafJPSUVPlmXxMz8wxaWNELGmDBL2NYHXrdOpz3l6X/03et58OxLKTO4lBrG6k OAjI7BD9vPwnDkmUVG2IOfavgSoFUlx2FnuFaJCuBio+MbX7ndAH3if4xDI4tQ2Q ==
X-ME-Sender: <xms:dMnTXE6_w_lq7zic668473Dsx-z_LC5SmUNakSWdqdC78eut6D_Hrg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrkeeggddutdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsehttd ertderredtnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucffohhmrghinhepudhhvghrvgifhhhitghhihhsrg gsihhgphhrohhtohgtohhlfihithhhlhhothhsohhffihoohhllhihsghithhsrdhithdp ghhithhhuhgsrdgtohhmnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnh htrhhophihrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:dMnTXKJ9RddJblb5C5YBdh3kPBgQe_0sqaZDYwshPsK9_JpDZ6kVEA> <xmx:dMnTXOf2eCZBOEkGGD4EZ8vO2wvnGQvVzYmyfp-vxfI98Hv-eXJ2Cg> <xmx:dMnTXNezRw2drI85_dBaGVA7GnOnx9HMiMxt_rv9A-qtu0GsJof-yw> <xmx:dMnTXOE4-L8HPhDCCYqkhFq6fcuwcotwBp55hD8dzjkss5CQXXslWQ>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 0EF547C3DB; Thu, 9 May 2019 02:32:20 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-449-gfb3fc5a-fmstable-20190430v1
Mime-Version: 1.0
Message-Id: <d99f68a8-e200-4548-a2d5-1748341fd601@www.fastmail.com>
In-Reply-To: <6.2.5.6.2.20190508160140.1003a8f0@elandnews.com>
References: <6.2.5.6.2.20190508160140.1003a8f0@elandnews.com>
Date: Thu, 09 May 2019 02:32:21 -0400
From: Martin Thomson <mt@lowentropy.net>
To: S Moonesamy <sm+ietf@elandsys.com>, architecture-discuss@ietf.org
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/architecture-discuss/q4_Oyorjx5wwBztQ3XPXCsW144c>
Subject: Re: [arch-d] Comments on draft-iab-protocol-maintenance-03
X-BeenThere: architecture-discuss@ietf.org
X-Mailman-Version: 2.1.29
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, 09 May 2019 06:32:24 -0000

Hey SM,

On Thu, May 9, 2019, at 11:11, S Moonesamy wrote:
> How can one determine whether critical details have been omitted 
> (Section 3) when the protocol designer interacts with the 
> implementer?  The specification may be clear to the reviewer as what 
> he/she considers as obvious might be viewed as a critical detail by 
> someone who does not regularly follow IETF discussions.  

I don't think there is any real science here.  People can try to talk to each other.  As you say, you need feedback to identify those things.  Yes, some things seem obvious to some and not others, but a conversation can go a long way to understanding and reconciling these little miscommunications.

See https://github.com/quicwg/base-drafts/issues/2671 for a recent example of how obvious isn't always very obvious.  

> According to one of the examples given in the draft the 
> protocol maintenance took eight years.  Why weren't the specification 
> shortcomings addressed within a few years after publication?

Mostly because no one bothered for a long time.  There was no community and no maintenance for many years.  When a group of people finally decided to fix the rotten thing, the pile of work was massive and the deployed base crufty.  We're talking HTTP/1.1 here, which is a big protocol with lots of woolly bits.  It has more woolly bits thanks to that period of neglect, but the community is slowly and carefully clawing away the worst of the rot and I think that good progress has been made in the past 10 years.  It's slow and deliberate, but I think that's the right approach.

> Fatal conditions (Section 3) can cause a product failure.  One of the 
> issues is getting two or more parties to agree on who is responsible 
> for fixing the fatal condition.  It is simpler to reduce the 
> likelihood of a failure in comparison with convincing the protocol 
> designer or the implementer to fix the issue.

Yes it is indeed simpler.  But that's what builds up the bad mojo and so I would have us reject that notion as a first option.  FWIW, I've found it a fairly pleasant experience dealing with people on the other end of protocols.  If we agree that there is a bug (which is often the case), it gets fixed.  I've had a few cases where it didn't get fixed very fast, but we tend to work out a plan for managing the problem.  Things usually work out better in the end that way.

> It is difficult to get approval for a protocol change (Section 4) as 
> there is very little interest in revisiting the specification once it 
> has been published.

Yes.  That's a huge problem.  That's why I'm a big fan of efforts from the IESG to smooth the path for updates (draft-roach-bis-documents, the work on finding referenceable interoperable targets, and the associated work).  Institutionally, the IETF is not very well suited to this.  Despite that, we've been able to make the process work in a few groups.

> The draft mentions the ecosystem (Section 4).  Is there a 
> relationship between interoperability and competition [1][2] in the ecosystem?

Yes, but I really didn't want to get into that.  To a first approximation, I find that the desire for interoperability is the overriding concern in most cases.  However, we routinely get into situations where competitive pressures might affect the process of reaching an amicable conclusion.  That's why we have the IETF and other such places, and the process

> What would be the impact if every piece of software had telemetry 
> built in (Section 7.1)?

Probably a whole lot of better-informed developers and a whole lot of software that is built for use cases that matter.  There's a privacy risk, of course, but I know that Mozilla wouldn't survive without telemetry.  We have a little bit, but it is never enough.

> Shouldn't those errors be caught during 
> testing instead of the software collecting information globally?

Testing is awesome, but tests are fallible just like specifications.  Test the wrong thing and you get the wrong behaviour.  And it's possible that tests miss something entirely.  Telemetry can give you insight into problems if you ask the right questions (a difficult skill, to be sure), and provide a useful barometer for transient problems.  I doubt that you would find any server operator out there who could operate without a feed of CPU and network utilization from server instances.  What is measured differs depending on what your system does, but it's all the same principle: the longer and looser the feedback loop, the harder the system is to operate.

> As an overall comment, the protocol examples in the draft are mainly 
> web related.  How does protocol maintenance work in other areas?  Was 
> interoperability [3] more of an advantage instead of a disadvantage?

Nah, this is mostly just my own bias.  As others have pointed out, we don't know if that's a problem.  The next version will probably have some sort of caveat on it to that effect.  There are lots of good examples out there, but it's hard finding concise descriptions of them.  (They tend to read like Paul Wouters' tale of IPsec woe.)

I don't quite know what you refer to in Mozilla's FTC submission there.  There's a lot going on.