From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id CHCyIHfFpmEx+AAAgWs5BA (envelope-from ) for ; Wed, 01 Dec 2021 01:44:39 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id OOl2HHfFpmHVOAAA1q6Kng (envelope-from ) for ; Wed, 01 Dec 2021 00:44:39 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EEA1A1657A for ; Wed, 1 Dec 2021 01:44:38 +0100 (CET) Received: from localhost ([::1]:36056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msDjh-0000XN-IN for larch@yhetil.org; Tue, 30 Nov 2021 19:44:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53576) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msDhV-0000XC-K3 for emacs-orgmode@gnu.org; Tue, 30 Nov 2021 19:42:21 -0500 Received: from [2a00:1450:4864:20::432] (port=33666 helo=mail-wr1-x432.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msDhT-0003wU-Fm for emacs-orgmode@gnu.org; Tue, 30 Nov 2021 19:42:21 -0500 Received: by mail-wr1-x432.google.com with SMTP id d24so48331512wra.0 for ; Tue, 30 Nov 2021 16:42:19 -0800 (PST) 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=nwzG2oGVepSGvkbOJUH1KpomU0hO9snYXXN75PWUjMo=; b=Avjr6wm+BfJMjo+MGQ1dD8ZGr8m9rtXZDwpaEQcTi4j1ZBcazEoAkIavAz7DBUr9j+ BeWbr9DwxYSr4dE+NjEKprrBX3V4za/6UtX/NaHhBx1jTBd1AdVYOS+UODRmou3RCP4K k+1yY8wx3PjZx6jsbIo7HH/LWIWs3xZqavygkohzIjMIL7r6ZkTbyaPlA08uEzpqaO+m d0VnsTt7N1uYMrc/RYTp6UvAip8YwOwXyXh6XLWh2pvNiJ64fukLilPXi6jgMj4XxkTW tACKQO9IxPhL6iCkTbisHGFn8HHCFwqNlrZJYPQtDaeyaFucAE/lELVWIYv6mCHmXMVd MX2g== 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=nwzG2oGVepSGvkbOJUH1KpomU0hO9snYXXN75PWUjMo=; b=hlxXTS3QaRCqINi1fGN7EbUC3+s0g3dXMc8syYTzt6ZAAzOx5gBBG9xa6bu/Una9IF 9DZaP/X/RvCAJ/MEk+wbjkWpTjAR8VFQ+4ivSv5W9eM71vQLqid/BT064C3yYDKRPYDX jFtkxEfk5Vyw+yZW1qhkKoo5Lgtfoj1AXzQwtFLqOrWatx9YYIGJasmD4kYIR1It6snW WSIqbm7a+2r3Vj+6sfP5HLAeIDWuvbYhbifFJJVr+QcgctXoeaRhS+8c+q4tNWZrXq8+ U6ArOnYmbY11QDIzFYl7hzCNC0EZ2Oq718Kw7xKsn+sbGZdcVDaC/ev7PtflAUNx77w3 yVJg== X-Gm-Message-State: AOAM530iHNGZ3o80dGqk1IPRNdp4ULqgechkykxGiKdXdC6ng8lN7tJQ i7UKMqfQKsQlzjYZ9AVItGYafD+e0/NNeTNfc4T27VZHAqs= X-Google-Smtp-Source: ABdhPJwq17Y8sdUK+nBdyp9Ln8UaCNZy2/GzeDCCTLjRMg4iOay2HTgFa5MA1HGD91AOHZsPNUV/5JxJEzn9fcJw4WI= X-Received: by 2002:a5d:4b82:: with SMTP id b2mr2703612wrt.419.1638319337868; Tue, 30 Nov 2021 16:42:17 -0800 (PST) MIME-Version: 1.0 References: <2021-11-28T20-44-37@devnull.Karl-Voit.at> <875ysb7v1r.fsf@gmail.com> <2021-11-29T14-12-55@devnull.Karl-Voit.at> <87tufuu8ah.fsf@atlantis> <2021-11-30T21-02-53@devnull.Karl-Voit.at> In-Reply-To: <2021-11-30T21-02-53@devnull.Karl-Voit.at> From: Tom Gillespie Date: Tue, 30 Nov 2021 16:41:30 -0800 Message-ID: Subject: Re: Orgdown: negative feedback & attempt of a root-cause analysis (was: "Orgdown", the new name for the syntax of Org-mode) To: Karl Voit Content-Type: text/plain; charset="UTF-8" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::432 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=tgbugs@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) 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, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638319479; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=nwzG2oGVepSGvkbOJUH1KpomU0hO9snYXXN75PWUjMo=; b=N9q7bQ5PncE7yqQxK38qORDgQz8XZ5HHT1VJlTka1Drc9+ABKTJygUSFFr1ipRht8SOHWL 3DwP+U1ShPhnmUjZKFt1HubxeKb06CG3kJv0C6WLWlGIMl7X9kNsskKLOYvYZuiksgfctz saQ9xP3WYv29TWYcA68O0NBKe4v1mejGxQW7m4p8N7v0xMmlo7doi7IXeolSONNjnfrrsh w9suCm7+BQuzVvsGJ6SMbDHeab9ormPF32FmELdcEQ2xzQjfKTgU2DazIoIJUnhYLBbWSs bpLqVj35z261IGfSFgQA8cX9sl455zRAYotzLIGEKx7l+5y4hqghHdnz12ieiw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638319479; a=rsa-sha256; cv=none; b=s+0mXSVWLKjXQwbye3ZvHL++V7al1pFI2uezfzf/HyLP8WkqNRbRgbYip2WSDWGIaCU4nm 0HrpUmfwKJIYGFRNf1Vn2qssi91XG+D5D2YJJPlD/+uZVLsXCBsvTie+hVCxGTEY2ZVZr7 BG9EaKcIjKaaNqs7bIZj2wQaEyx+jgRc9+PwjwZKjd352a8CLWv18D05zNdi0xFPaw4H5n LyruJi+DL6NUXJDrRQFzVlbivz4WITvaJX0JnG9MN7ggZXOm34AqjOFQUr2d7dCIosoR9e tMUMwoh6nrzqBhZcTxdp0xd93rJl7ahy6Zm40Ue0I7zRuW4SUCFDFLouFNP9gA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Avjr6wm+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.11 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Avjr6wm+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: EEA1A1657A X-Spam-Score: -4.11 X-Migadu-Scanner: scn0.migadu.com X-TUID: CaM0XGCxoOQh Karl, The exact naming of a thing is nearly always the most contentious step in trying to promulgate it. In my own field we can easily get all parties to agree on a definition, but they refuse to budge on a name. As others have said, I wouldn't worry about kibitizing over the name. I would however worry about the larger negative reaction. From my perspective I think the issue is that there are many efforts working toward a formalized specification for Org syntax and Org mode functionality, and some of those stakeholders who have invested significant effort may feel blindsided by a public declaration announcing Orgdown because they were not consulted and not made aware that you were working on it. I appreciate the amount of work that you have put in, I have devoted hundreds of hours to working on an alternate implementation of org in Racket that uses a formal ebfn in hopes that others will be able to use it as a guide and as a way to talk formally about how Org parsers and implementations should behave. It would thus be easy for me to say that your approach has put the cart before the horse, because there are countless nuances in the specification for Org syntax which must be addressed before any levels of org compliance can be specified, otherwise the behavior between levels will be inconsistent. If I were to say this, it would not be fair to you at all. The ideas and motivation for Orgdown are vital and important. You have put in enormous thought and effort, all because you care about Org and want to see it succeed. The issue is that any shared specification for Org syntax is fundamentally about how to coordinate as a community. The way that Orgdown was presented to the community feels (to me) like it is being imposed top down or coming from an individual source, not from an open and visible community process (the subject of your original email reads as a declaration in english, and thus can be quite off putting, though I know that was not the intention). I personally haven't bothered with promulgation because I think that we are not technically ready as a community to approach outreach to other developers in a way that we can succeed. The good news is that all of this can co-exist if we want it to, but we need to be clear about our objectives as a community. To me these objectives are as follows (and I would love to hear from others about additional or alternate objectives). 1. To never fracture Org syntax so as to avoid the nightmare of markdown flavors. (This means being able to say clearly as a community that a parser is out of compliance and that it is up to the user to fix their files. The ruby org parser used by Github is a major issue here.) 2. To provide a clear specification for what graceful degradation looks like when parsing Org syntax if a parser does not support some portion of that syntax (e.g. should property drawer lines be excluded or rendered as plain text?). 3. Provide a solid basis on which further formal specification can be built. (My interests in particular are around providing consistent semantics for org-babel blocks across languages so that babel implementations can clearly communicate what runtime features they support.) The approach for Orgdown can absolutely meet all three of these objectives, however in its current form Orgdown1 is not sufficiently well specified to avoid fracturing the syntax. This is because Org syntax is extremely complex (even the elisp implementation of Org mode is internally inconsistent) and there are edge cases where behavior will diverge if parsing of even the simplest elements is not fully specified. There are many ways to remedy this, however they require a more formal approach. A number of us are working to build technical foundations for such a formal approach, but I do not think that any of those projects are ready to be used to specify discrete levels of Org syntax parsing compliance. If I may, I would suggest that an Orgdown0 is something that could be well specified, but it would avoid parsing of markup altogether and only deal with the major element types. Parsing paragraphs and all the org objects is not something that can be done piecemeal. There are too many interactions between different parts of the syntax, and in some cases the existing specification desperately needs to be revisited due to the complexity that it induces or because it is underspecified. Of course this would make Orgdown0 fairly useless as a replacement for markdown, but at least it would be a start. Best, Tom