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 +JfvJbQgtWGuIgAAgWs5BA (envelope-from ) for ; Sat, 11 Dec 2021 23:05:40 +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 4Nq+IbQgtWEaDAAA1q6Kng (envelope-from ) for ; Sat, 11 Dec 2021 22:05:40 +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 F3D9DF56A for ; Sat, 11 Dec 2021 23:05:39 +0100 (CET) Received: from localhost ([::1]:52302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mwAUs-0005C5-7Q for larch@yhetil.org; Sat, 11 Dec 2021 17:05:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwAUH-0005Bs-9V for emacs-orgmode@gnu.org; Sat, 11 Dec 2021 17:05:01 -0500 Received: from [2607:f8b0:4864:20::102a] (port=55917 helo=mail-pj1-x102a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwAUF-0000zm-Hp for emacs-orgmode@gnu.org; Sat, 11 Dec 2021 17:05:01 -0500 Received: by mail-pj1-x102a.google.com with SMTP id v23so9244844pjr.5 for ; Sat, 11 Dec 2021 14:04:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version; bh=KW5WkEkEtG8O/dA7EuYQ4HBdkr4V8r/zughFEOwSz98=; b=EgpaoK7lh5uNveIPPajJeHj/rP0/49MlLf0UcvbFqIBW3exDykrKAJRfl9s7BCd6y5 fVCXZjSaGRNy0XvzYKDqvcpRVFmN40p+kxSNQPcceVEZlIw6tR0G9YwF/+dZHMid+QIs twFDtBitLuuKDwZLmGLa7E2SSs1kJFhKm2WqEDzFGPepUUXwca1FvZU6B5EYF+wuNI/G WQ5QYthOjtFgESrNGfkp73mObxDCqlRhgFTYpQvahmleSJNlx1RleL6WcWQEwaGrCMry 7VpURr11wruwSiE2/nBQBzABEH25wJALHmBwbiN9G4FW+/7f2T6YiCC00CheOx4jDICQ mfCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version; bh=KW5WkEkEtG8O/dA7EuYQ4HBdkr4V8r/zughFEOwSz98=; b=zh1XkA9KEHG4cj/EddvogaTIcFbMjHP/p22awgkq8rJ4d3VMm835NSBehrbxRvgOOS vv4WmM1GqpRPvH138nxGD+kEhMTw/iS8CQnYboubksy6ntbYCiWDS4Ml6Jc2LmN583on jQIeQG9I6zKS5N+H2A7uOGE2uq41HEOjB6ZfFJXM6HsAFnFYR3yYoKlj9JF+Saz613wO m/Q4oWVUiMXt/qRuqduyqqTX+sCID2JjA3IBcTYmVbGvTav+7B2zO6FJlrp3IXZTBqAB tYnOvvZlzNIbYU8KPVzL4mQPo8zgfWk5aL22u0SWy6w880Heaxbs1lmEQ1ZWbkIF250T GFog== X-Gm-Message-State: AOAM530D3CKKS524OTqdiDQ4XEBe1TFb76vYhPWVnkV2sy/7MN4EE6nG dmIVymsLDgBvh/5kwngJiYUF/MRRIl4= X-Google-Smtp-Source: ABdhPJz35+YCNo+y/d1kgZgm2C0VMXXOnPckr0XTKjujnrr1PmfUayvMZmKlwwn/Bt3iwTtF3Jsssg== X-Received: by 2002:a17:90b:1c86:: with SMTP id oo6mr33352412pjb.165.1639260297036; Sat, 11 Dec 2021 14:04:57 -0800 (PST) Received: from dingbat (2001-44b8-31f2-bb00-4749-e5b8-7f1b-e966.static.ipv6.internode.on.net. [2001:44b8:31f2:bb00:4749:e5b8:7f1b:e966]) by smtp.gmail.com with ESMTPSA id g18sm8011600pfj.142.2021.12.11.14.04.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Dec 2021 14:04:56 -0800 (PST) References: <87tufnbj1w.fsf@localhost> <87sfv75s4r.fsf@posteo.net> <87o85vbb9a.fsf@localhost> <87y24zs40r.fsf@posteo.net> <87lf0zb6fq.fsf@localhost> <87ilw3419x.fsf@gmail.com> <87o85v9la3.fsf@localhost> <87a6he4ngu.fsf@gmail.com> <87k0gf5hud.fsf@localhost> <87tufjt8r1.fsf@gmail.com> <87ilvvihkn.fsf@localhost> User-agent: mu4e 1.7.5; emacs 28.0.90 From: Tim Cross To: Ihor Radchenko Subject: Re: Concrete suggestions to improve Org mode third-party integration :: an afterthought following Karl Voit's Orgdown proposal Date: Sun, 12 Dec 2021 08:19:55 +1100 In-reply-to: <87ilvvihkn.fsf@localhost> Message-ID: <87lf0qvlvf.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::102a (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=theophilusx@gmail.com; helo=mail-pj1-x102a.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, 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@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1639260340; 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=KW5WkEkEtG8O/dA7EuYQ4HBdkr4V8r/zughFEOwSz98=; b=nC3iZOiFMBHZ2UGA+zVMR4hY58J7tZcr85oz5EupqLz9zrQLkmdsQL0EvjmxzJNS12LyXS z3gP9KiO1++zU2WxzQqNBfgBct9hvY35E70m+baA6GdvRigOJiGgnNMKXLsDKBWMQHHkUr zUkGnAjAV0qZEpceQXCk7rNy30O69xaIdPhabM7s6xIyrZFrFxW+zmhXKR3vg7r+aRCyAD FQ/EyFg/xPfiT/RtWUKROT2EF+uV0LgG34hgrVSUyF25c5U5V8dnJhePK3CvrqCP5OaUUP C4zd9yZm/MAxItO5H+nYKRZS6F9qF0AFSESposdZZwqJlG/N6DB1S0QWvfg0zg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1639260340; a=rsa-sha256; cv=none; b=UOr6Px4bgf9z7uhk5278rrw+mhFazXaPFAInRQjAKY9DobwlGdO8FRTf0JaJdfy9mmegod 1CpkQetODL1B76TdZS1tdRZq8hafOJZYLyDp7q37tMVcGN2A5p+9QPsXhylO6CTsynb5he cmeZYEWRg1OiJThDsY1ZmoLqdL4GvAUOTQYNrisQD0lmqDaStc2fbI1ivaS/ebBkR8Qir0 a+01g8S9yuDkE3B9G9ZSMSznFzVGlNll6bhveBbgRVy8d1D+W9yf03uFhi0PoonZ1D2kSB qj5/PSyyuQGf6LmdcSNsTKO5S4CMZ+r89zY3cadfFoHRSlqvtAdTwPZuvJGwcg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EgpaoK7l; 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.16 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=EgpaoK7l; 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: F3D9DF56A X-Spam-Score: -4.16 X-Migadu-Scanner: scn1.migadu.com X-TUID: /pqk1ySlwV2L Ihor Radchenko writes: > Tim Cross writes: > >> ... while I totally agree we should work >> very hard not to break compatibility or adversely affect other projects >> which are built on top of org mode, like org-roam, we also don't want to >> find ourselves in a position where we cannot improve/enhance org mode >> because of the impact it has on other projects. > > Well. We have no direct control on the other projects. However, not > doing anything about the fact that other project keep appearing is > nothing but a call for more compatibility issues. If we do not clearly > specify relatively stable syntax or API, the other projects will > inevitably use internal implementation details and could be broken more > easily. For example, my recent patch to org-element broke org-roam > because org-roam relied on some undocumented behaviour of > org-element-at-point. > >> Having thought about this whole thread and other recent posts, I still >> feel any concern or reference to third party libraries etc is misguided >> or at the least, irrelevant. Most of the suggestions are fine and would >> be beneficial to org mode (such as clearly defined, consistent and >> documented syntax). The fact 3rd party libraries would also benefit from >> this is a bonus, but largely irrelevant. > > You read "Org mode third-party integration" as benefit for third-party > libraries. I read it as benefit for Org from third-party libraries (as > opposed to no benefit and potential complains from third-party library > users). > I think 3rd party libraries are a benefit to org users. On the whole, they are of no direct benefit to org-mode (if they are, then they are a good candidate for inclusion into org mode). The relationship is very similar to what Emacs has with all the external packages which are not part of Emacs. There is no direct benefit to Emacs from all these packages, but there is huge benefit for the Emacs community. Emacs changes and evolves as necessary to keep it relevant, maintainable and up-to-date with user expectations. At times, it will make changes that are breaking on 3rd party libraries or require 3rd party libraries to update/modify how they interact with Emacs. These changes are not done lightly and are done so as to minimise impact to these 3rd parties. However, Emacs does not concern itself with 3rd party libraries - it focuses on making Emacs better and leaves 3rd party libraries to themselves. Placing too much focus on 3rd party libraries runs the risk of the tail wagging the dog. Org mode should focus on what org-mode needs to do to be performant, maintainable and minimise bugs. Having clear syntax specifications, good unit tests, a clear and consistent API and documentation all contribute to org-mode stability and maintainability. Coincidentally, these are also the things which will most benefit 3rd party libraries. However, should there be some justified reason to change the syntax or the API in order to improve performance, or maintainability, we should not feel constrained from doing so because it will impact on 3rd party libraries. Instead, we should make such changes in a staged manner and provide a reasonable time for 3rd parties to be updated to work with the changes and only introduce breaking change in new major versions.