Re: [Tools-arch] Recommendation 6: Architectural model for clients

Martin Thomson <mt@lowentropy.net> Mon, 19 April 2021 01:17 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: tools-arch@ietfa.amsl.com
Delivered-To: tools-arch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ADBE13A16BA for <tools-arch@ietfa.amsl.com>; Sun, 18 Apr 2021 18:17:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.22
X-Spam-Level:
X-Spam-Status: No, score=-0.22 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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=lowentropy.net header.b=NrCVLYVT; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Pjfw4XV2
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 ltzNdpfuI8lM for <tools-arch@ietfa.amsl.com>; Sun, 18 Apr 2021 18:17:50 -0700 (PDT)
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DDC783A16B7 for <tools-arch@ietf.org>; Sun, 18 Apr 2021 18:17:50 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 7B4F11DC8 for <tools-arch@ietf.org>; Sun, 18 Apr 2021 21:17:46 -0400 (EDT)
Received: from imap10 ([10.202.2.60]) by compute1.internal (MEProxy); Sun, 18 Apr 2021 21:17:46 -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=V5uZTnMfKZSyP1JAm7DDIRaI6L697lT 7uDz/KW8WOPs=; b=NrCVLYVTAnIOqg4YZhSKTLb/tadXaYildTI2O/sDGjy3bYD JC3PxeWCnUDucxDURSyzeadPKN+vcOQPwIT1yuBOYxFPMg4hbcBckXnRzKW3AVE1 X6PhmnmJyJ6h4lRNAC/ZQUCu4ZC8wALlHq/krJb6X7JZtduJ5jIMVmpdZOwhxmu4 jwlXnHNY2YaPFpJzG9RQrHSejkeqP9xgYQ0YctS0YvUNjiU+78jh4Kwv2BeFhDoS PeWW2iF13s1DuPB6jnWiF4dWpnpAhIKV1MYzvQ5ZJ36bO/l4za6CmoTj7KoldPDF Cy1WwozId5rp6oFl0Wwns5p8ZPnfHDKWEzs6jLw==
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=V5uZTn MfKZSyP1JAm7DDIRaI6L697lT7uDz/KW8WOPs=; b=Pjfw4XV2KwoMwoGMn7/RTB 3Z5sF8yWRw1vyovHy/YxHEvhxI+iEMv+VT/tBOcVG7ciBJ8rQSmhL6CJkiE389DZ A1fTvKW8q0mWovyhH8AnRa7BmQdcCpOSW3JC40pfIS7f4vNmkMV1badA9qYD1rIC HEyTqOI1l3GiEfLkA5sU4GM/hf/+6TRPAFT8YKcdfv8K+D1S8tHV+BgZhWuJlgL1 fiTCE2YLPHKVaXZYi+/E1CH+02xbbDcw4gSrDqo3iO6nCsLgovSgBlsxM8jAaMzF 8hiEdxPPh6HG2c6eGxTeHG+UCz6bvQtAJ9ak+967ZuDAJE7ma5C9BmPEBXm/YQXg ==
X-ME-Sender: <xms:Odp8YLaXS4ne9oPVR0xd4_gYNwma-YXZK1QexnRYRb4ZaJRZmt4gPQ> <xme:Odp8YKY4O1dYX1V7Y_rEuc1_Dh6EKXhpRznyf1Jnymms-Akgzs-dzHMerbN1h0zm7 crah8TJ2Ya_QH0OKJk>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrvddtvddgjeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsehttd ertderredtnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucggtffrrghtthgvrhhnpefhiedttdeviefhjeejgf evfeeuudfggfekveekheeugeegleevkeevkedthfeuieenucffohhmrghinhepihgvthhf rdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:Odp8YN-ahH29iHRGzI2CcseyOh9T3xFAYV3rnF4aA7WP91s2rFmWPQ> <xmx:Odp8YBq3EQFW7xx5pcbeCm4JJ3lgLDYR_sH9Qjx1PGNr_wszPnzTgQ> <xmx:Odp8YGoWSPN_F4Q6h8B5qVql5eYOEsttKmH52XfLAUfTNCEbGRfElg> <xmx:Otp8YD0Dlymn1XT4LidsECYWiAbJJztpMRw_OF9v3XE8qheDNkXCFw>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id DB6134E00E0; Sun, 18 Apr 2021 21:17:45 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-273-g8500d2492d-fm-20210323.002-g8500d249
Mime-Version: 1.0
Message-Id: <6f8e5d8d-4fca-47ef-b608-ecf920d40064@www.fastmail.com>
In-Reply-To: <B92ED666-264D-4DD1-87FA-0AB79DE53FC7@mnot.net>
References: <72E3450F-0E88-46C4-B735-D6693C475BCB@mnot.net> <898A21CE-AA80-4AA9-AAC8-7230C27ABC79@ietf.org> <B92ED666-264D-4DD1-87FA-0AB79DE53FC7@mnot.net>
Date: Mon, 19 Apr 2021 11:17:18 +1000
From: Martin Thomson <mt@lowentropy.net>
To: tools-arch@ietf.org
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/tools-arch/CaE5L2JhHdvwp9F_0isqR7UXMHg>
Subject: Re: [Tools-arch] Recommendation 6: Architectural model for clients
X-BeenThere: tools-arch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Tools Architecture and Strategy Team <tools-arch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tools-arch>, <mailto:tools-arch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tools-arch/>
List-Post: <mailto:tools-arch@ietf.org>
List-Help: <mailto:tools-arch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tools-arch>, <mailto:tools-arch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2021 01:17:56 -0000

On Fri, Apr 9, 2021, at 15:14, Mark Nottingham wrote:
> I think I agree with Robert here, but I'd like to understand what's 
> driving towards centralisation. If there's some 'source of truth' 
> necessary, an API might make sense; however, my current mental model is 
> that the tools should operate on well-documented formats, which can 
> live in a variety of places (e.g., data tracker, my local disk, GitHub, 
> a server somewhere).

I like that model, but I want to ensure that we all understand what that entails.  Right now, we have a bunch of tools that are generally deployed as command-line utilities.  In general, these take a file (or files) and a bunch of options.  They produce a status code and output that might be directed to a file.

We ship these in a variety of ways.  I get xml2rfc using pip.  I get kramdown-rfc2629 using gem.  I get idnits and rfcdiff by downloading a tarball from tools.ietf.org.  Other people don't bother with the getting part, they just use a web page.  Others cases (rfcdiff for instance) effectively use scripted remote access to underlying web resources.

That is largely good.  We provide flexibility, but the overall complexity is low.  A user that climbs the complexity curve from web page to remote access to command-line has a few minor hurdles to clear that we might help them with by documenting each tool better, but the overall shape of the system seems right to me.

We manage these tools in different ways too.  Most are individually maintained, and so are subject to whatever the individual maintainer prefers (GitHub more often than not).

As far as centralization goes, what I would like to see is a deliberate decision to sponsor tools that will get additional resources.  What that might mean is greater consistency of support (more updates, x.ietf.org hosting, help with fixing bugs), greater consistency of interface (at different levels), greater functionality (by paying for features to be added), or other things we might collectively value.

Sponsorship might come with some modest conditions.  For instance, if we believe that a particular tool is valuable enough to sponsor we might decide that sponsorship is conditional on: it being written in a language better suited to maintenance, or hosted somewhere more conducive to community input, or distributed using a more reliable platform, or that it gets a better test harness that can be automated (note: I don't know if any of these things are concretely problems; that would be something that would need to be assessed for each tool).