Re: [Tools-discuss] [rfc-i] Recommendation 9 from Results and analysis of the survey of I-D authors on formats and tools

Carsten Bormann <cabo@tzi.org> Fri, 05 February 2021 00:57 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: tools-discuss@ietfa.amsl.com
Delivered-To: tools-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 271D33A1A20 for <tools-discuss@ietfa.amsl.com>; Thu, 4 Feb 2021 16:57:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.911
X-Spam-Level:
X-Spam-Status: No, score=0.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FSL_BULK_SIG=0.001, HTML_MESSAGE=0.001, RAZOR2_CF_RANGE_51_100=1.886, RAZOR2_CHECK=0.922, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 xz-QCaczjN5L for <tools-discuss@ietfa.amsl.com>; Thu, 4 Feb 2021 16:57:48 -0800 (PST)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 28B343A0CB9 for <tools-discuss@ietf.org>; Thu, 4 Feb 2021 16:57:47 -0800 (PST)
Received: from [192.168.217.152] (p5089a828.dip0.t-ipconnect.de [80.137.168.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4DWxpx1spkzyVW; Fri, 5 Feb 2021 01:57:45 +0100 (CET)
Content-Type: multipart/alternative; boundary="Apple-Mail=_A884B8D2-AC68-4D40-A724-B49EAF59ACDA"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.40.0.2.32\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <E77A02FF-4DF8-4030-BC77-4355A705E00E@adobe.com>
Date: Fri, 05 Feb 2021 01:57:44 +0100
Cc: RFC Interest <rfc-interest@rfc-editor.org>, tools-discuss <tools-discuss@ietf.org>
Message-Id: <A2CC3D3F-3920-4E51-AAD7-1FFE83CA5ECB@tzi.org>
References: <161240956258.5082.18097054694330751435@ietfa.amsl.com> <CAA=duU1c3g0qmNmSN9jpfq3o4Lggxg_vT3xLdmwxAzLPm0r-iQ@mail.gmail.com> <15878309-55BA-4BE0-BD26-060308BA1270@tzi.org> <E77A02FF-4DF8-4030-BC77-4355A705E00E@adobe.com>
To: Leonard Rosenthol <lrosenth=40adobe.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3654.40.0.2.32)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tools-discuss/hrdzm7NKqIfikVeipP61KRaZW8M>
Subject: Re: [Tools-discuss] [rfc-i] Recommendation 9 from Results and analysis of the survey of I-D authors on formats and tools
X-BeenThere: tools-discuss@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF Tools Discussion <tools-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tools-discuss>, <mailto:tools-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tools-discuss/>
List-Post: <mailto:tools-discuss@ietf.org>
List-Help: <mailto:tools-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tools-discuss>, <mailto:tools-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Feb 2021 00:57:52 -0000

On 4. Feb 2021, at 22:02, Leonard Rosenthol <lrosenth=40adobe.com@dmarc.ietf.org> wrote:
> 
> Supporting Markdown as an input option is a good idea - but why would you support a non-standard version of it?   CommonMark (https://commonmark.org/ <https://commonmark.org/>) is the relevant "specification" for markdown.  Kramdown, on the other hand, is a specific tool that promotes its own flavor…


Hi Leonard,

the short answer is that in 2010, when kramdown-rfc was created, commonmark wasn’t even on the horizon.

From my point of view, the most important requirement for an authoring language to be used in the IETF is that it remains stable.
Drafts often have a 3-5 year lifetime before they finally get published as an RFC.  People are working on, and text is moving back and forth between, drafts in various of these stages.
So compatibility timelines on the order of a decade or more are required.

Of course, we could decide to “upgrade” to commonmark after kramdown-rfc now has been around for a decade.
With migration aids, this could be palatable (if enough development resources are poured into those; maybe we want to use those for completing the RFXMLv3 migration instead).
But what would be the upside?

Let’s ignore for the moment that commonmark is missing tables, definition lists, anchors, attributes, and a few more things that I forget because one might take them for granted.
A move to commonmark would not be addressing the larger problem with markdown interoperability, which is that RFCXML needs more from an authoring language than markdown provides.
Few of the various features that needed to be invented for kramdown-rfc [1] are provided by commonmark.
One of the most important contributions by kramdown-rfc, painless reference management in the context of IETF documents, is situated to our usage.
I would also chalk up the input of structured data (“metadata”) using YAML as one of the successes.

The underlying kramdown library is run by a developer that shares the goal of compatibility for decades.
Only recently, a mild cleanup was made in the form of kramdown 2.x (adoption of which is still on the to-do list for kramdown-rfc because kramdown recently dropped PI support).
This of course meant that the author couldn’t wholesale adopt the changes made to markdown’s core by commonmark.
But, in reality, kramdown syntax is rather close to commonmark, outside of pathological cases (and the cases where commonmark is just missing needed functionality).

One of the less obvious sources of strength of kramdown-rfc is that it is implemented in less than 1800 lines of code.
This was possible because the kramdown library (an about an order of magnitude larger effort) is doing the heavy lifting.
(The first version of kramdown-rfc was done in less than a day.)
This means kramdown-rfc can be a community project, without the need for support staff.
This is something we might want to change at some point, but not without a really good reason.

Grüße, Carsten

[1]: https://github.com/cabo/kramdown-rfc2629/wiki/Syntax