Re: [arch-d] draft-iab-protocol-maintenance / JSON feedback

Martin Thomson <mt@lowentropy.net> Mon, 18 July 2022 09:51 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 37FF5C13C51C for <architecture-discuss@ietfa.amsl.com>; Mon, 18 Jul 2022 02:51:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.128
X-Spam-Level:
X-Spam-Status: No, score=-2.128 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.01, RCVD_IN_MSPIKE_WL=-0.01, 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=lowentropy.net header.b=RpzT7qab; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=UMZhbjHQ
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 thGyjrYZpIMX for <architecture-discuss@ietfa.amsl.com>; Mon, 18 Jul 2022 02:51:44 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 D7F06C157B32 for <architecture-discuss@ietf.org>; Mon, 18 Jul 2022 02:51:44 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id E95905C00D6 for <architecture-discuss@ietf.org>; Mon, 18 Jul 2022 05:51:43 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute3.internal (MEProxy); Mon, 18 Jul 2022 05:51:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1658137903; x=1658224303; bh=io5Agi0SaA nc9SvqKF8IKhtD+fglWkj27NA2QNtA8Wo=; b=RpzT7qabHFD4y2tzLj2tsj+xkU 76a7dMo1iUOtCBeVdkDBCnWizhEGPzx6Gk2IcmXTiPzmSKaw6y92vHQd0uzCnQva y9xYW5OiWgWKs6FAl4WxUvqL1A1159Gaq8ECa+vrEnI4Mgo/6iMIQu9Ur3x+HQ6q ZbRaha5KePjqv43ga+5iV3fnQGSNsZMX9M4KhYWNMd5K3ivX4m772oaiLX2/R8Iy +tjKuyRmNJWT1Jg7g/kGkF5iLAHWby0NbCVX3Ef3Nkeryd7sLnXpVpdVm40vndJ/ Hyqn8hbe9pXZDFkwRKd8tGXHgtvSmHapESMFvvbdBcmxLNuSWXf+M2ke7JBA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1658137903; x=1658224303; bh=io5Agi0SaAnc9SvqKF8IKhtD+fgl Wkj27NA2QNtA8Wo=; b=UMZhbjHQVAIcNwWLzLdv82xubWicTV05MkWAOHBgfZ/t 8oVZ6giGFA9rTvNNqpSGn0Rb6+61ncaMskUbSq6byYWtTc85VJgKWRgn00a2Uk9v bGkNPJr5GXcjSiwp0chQ8l5B9z/qgmT8o9Z7X7RK0TzKAeSCFKWeIi2OOPoB6WYg /MLqpIcol76Fq9AGBmDw3Z4T8SNUBTUFzCAv9L1u1vA02sEuwTatlIoutEia/sfV UKAGdy4torTSTqKVt1CghEy6W/1mBrXk6R6x/R8ohbzP4k9FpM9e08+10HBSg9+r eVk7izalb3kFMNOdS0USSbU4rgmdSnOPTlwS+tnYCw==
X-ME-Sender: <xms:Ly3VYli8whozaHY9YzrJn5PTvXuMBzk31MbFKqVw3blrvCQXgCKqqQ> <xme:Ly3VYqBdN5PDGi8cCqd8yrRvUmJEgmLYHT7HYJ3oYshsxG1gSccpOM05rOAuIqHYi 2aec9OGLvfWG25OWEk>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudekkedgudelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsehttd ertderredtnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucggtffrrghtthgvrhhnpefhiedttdeviefhjeejgf evfeeuudfggfekveekheeugeegleevkeevkedthfeuieenucffohhmrghinhepihgvthhf rdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:Ly3VYlH1kHPUyahuT9XTjoUWbWqvhh1GzFTAlB-5iSmdxdJ1sviMfQ> <xmx:Ly3VYqSlrho2aXjionaIKnVIMQ83gUfdSsDyJXOwNQ0AZthB3MKaoQ> <xmx:Ly3VYiyjoWxZ9QiRGAKiGlYYdyAmcxr92CmNWVxFtgD1-GyIYAZioQ> <xmx:Ly3VYh9aHdMYbqxeQerlcBGg7z4k537oRT47YmZgm2JJyJmnT5MDqw>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 808AA2340077; Mon, 18 Jul 2022 05:51:43 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-755-g3e1da8b93f-fm-20220708.002-g3e1da8b9
Mime-Version: 1.0
Message-Id: <5a9857d7-9923-46e1-9535-16663f51bc6f@www.fastmail.com>
In-Reply-To: <CAChr6Sxy66Yrr=0wnSGOUFBboFBaJsWzrWduvXep9L5akmYiNg@mail.gmail.com>
References: <CAChr6Sxy66Yrr=0wnSGOUFBboFBaJsWzrWduvXep9L5akmYiNg@mail.gmail.com>
Date: Mon, 18 Jul 2022 19:51:22 +1000
From: Martin Thomson <mt@lowentropy.net>
To: architecture-discuss@ietf.org
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/architecture-discuss/GBiQPkEUM8ESGNRdexvk7rxz7Fg>
Subject: Re: [arch-d] draft-iab-protocol-maintenance / JSON feedback
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: Mon, 18 Jul 2022 09:51:49 -0000

Thanks Rob,

I realize that different people might reach different conclusions about JSON.  It has a rich and storied history that a single paragraph cannot effectively capture.  My goal in writing that was to give just a glimpse into that mess.  For some, this is evidence that JSON is an irreconcilable mess.  For others, it is a failing at the IETF to implement practices that ensure specifications and deployments concur.  Yet others look at the ECMA spec and see that community as having provided a definition that works as a means of describing what is interoperable.  As you say, some others might see the loose specification as a virtue as it motivated deployment.

My view is that each of these perspectives is correct and useful.  Including yours.  Though, like the somewhat loose protocol definitions of the 1980s, I don't think that RFC 4267 is what JSON needs.  Nor is anything else the IETF has produced on JSON sufficient.  That isn't to say that they weren't worthwhile exercises or that time was wasted on those efforts.

I wasn't close enough to those efforts to say what was learned.  Maybe the ECMA specification isn't the last word on the JSON story.  That's not the point here.  This only demonstrates how hard it can be to clean up a mess once made.  And maybe that sometimes the mess can get too big to ever clean, depending on the actual outcome with JSON, that is.

On Mon, Jul 18, 2022, at 07:56, Rob Sayre wrote:
> Hi,
>
> I'm sympathetic to concerns raised in the document, but I think the 
> JSON example is not a very good one.
>
> JSON was deliberately underspecified because it would work most of the 
> time* in languages where typical payloads could get by using an 
> "eval()" function, rather than requiring an implementation at all, 
> JavaScript and Python being the most common. RFC4627 was an 
> after-the-fact production, the problems were already there.
>
> So, the JSON case is actually showing that loose specification can 
> drive adoption (like HTML etc). I do not think that's the point you 
> intended to make.
>
> thanks,
> Rob
>
> * the problems mentioned in the draft are real, but rare and often not obvious
> _______________________________________________
> Architecture-discuss mailing list
> Architecture-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/architecture-discuss