unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Improving documentation of Org Mode integration into Emacs.
@ 2021-12-04 21:14 Karl Fogel
  2021-12-04 21:18 ` Karl Fogel
                   ` (3 more replies)
  0 siblings, 4 replies; 32+ messages in thread
From: Karl Fogel @ 2021-12-04 21:14 UTC (permalink / raw)
  To: Emacs Development

I'd like to improve our in-tree documentation of how Org Mode 
integration into GNU Emacs works.

Many of us know from experience that Org Mode is maintained in a 
separate repository at git://git.sv.gnu.org/emacs/org-mode.git, 
and that it has its own project home site at https://orgmode.org/. 
But to a newcomer or an occasional contributor, this isn't 
obvious: they just see the sources in 'lisp/org/', looking like 
any other Lisp subdir in Emacs.

The fact that Org Mode is special is not clearly documented for 
those whose entry point is the Emacs sources.  While "orgmode.org" 
is mentioned in a header comment in, e.g., 'org.el', it's not 
prominent, and it's especially easy to miss because one often 
lands in the middle of a .el file via etags or grep or some other 
method that doesn't involve entering through the top.

And even for those who do happen to know that Org Mode is special, 
we can't tell from inspection exactly what 'lisp/org/' represents. 
Is it a release of Org Mode?  A regularly-updated clone of the 
upstream development sources?  Something else?

I finally found 
https://orgmode.org/worg/org-maintenance.html#org9ffe058, which 
describes how it works.

So I'd like to add some documentation in our tree, clarifying this 
situation for future searchers.  Most likely, this would be a 
brief mention in CONTRIBUTE, pointing to a new file 
lisp/org/README which would give more details and point to the 
above page.

Any objections / thoughts / suggestions about this, before I start 
on it?
 
Best regards,
-Karl

[2] https://list.orgmode.org/87czmcccrp.fsf@red-bean.com/T/#u



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2021-12-04 21:14 Improving documentation of Org Mode integration into Emacs Karl Fogel
@ 2021-12-04 21:18 ` Karl Fogel
  2021-12-04 22:09 ` [External] : " Drew Adams
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 32+ messages in thread
From: Karl Fogel @ 2021-12-04 21:18 UTC (permalink / raw)
  To: Emacs Development

At the end of my previous message, there was a dangling footnote 
that said

  > [2] https://list.orgmode.org/87czmcccrp.fsf@red-bean.com/T/#u

It's not significant.  It's just left over from an earlier draft 
in which I mentioned the Org Mode question that led me down the 
path of noticing the gap in our documentation.  I decided that 
mention wasn't important, and removed it from the text, but forgot 
about the footnote.

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* RE: [External] : Improving documentation of Org Mode integration into Emacs.
  2021-12-04 21:14 Improving documentation of Org Mode integration into Emacs Karl Fogel
  2021-12-04 21:18 ` Karl Fogel
@ 2021-12-04 22:09 ` Drew Adams
  2021-12-05  5:16 ` Stefan Monnier
  2021-12-05  6:38 ` Eli Zaretskii
  3 siblings, 0 replies; 32+ messages in thread
From: Drew Adams @ 2021-12-04 22:09 UTC (permalink / raw)
  To: Karl Fogel, Emacs Development

> Any objections / thoughts / suggestions about this, before I start
> on it?

+1.  Please do.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2021-12-04 21:14 Improving documentation of Org Mode integration into Emacs Karl Fogel
  2021-12-04 21:18 ` Karl Fogel
  2021-12-04 22:09 ` [External] : " Drew Adams
@ 2021-12-05  5:16 ` Stefan Monnier
  2021-12-05  6:38 ` Eli Zaretskii
  3 siblings, 0 replies; 32+ messages in thread
From: Stefan Monnier @ 2021-12-05  5:16 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Emacs Development

> So I'd like to add some documentation in our tree, clarifying this situation
> for future searchers.  Most likely, this would be a brief mention in
> CONTRIBUTE, pointing to a new file lisp/org/README which would give more
> details and point to the above page.

It might generally be a good idea to have a file listing similar other
cases, i.e. packages that are (also) maintained elsewhere, combined with
an explanation of how that "elsewhere" relates to the Emacs sources.
(I'm thinking of CC-mode, vhdl-mode, etc...).


        Stefan




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2021-12-04 21:14 Improving documentation of Org Mode integration into Emacs Karl Fogel
                   ` (2 preceding siblings ...)
  2021-12-05  5:16 ` Stefan Monnier
@ 2021-12-05  6:38 ` Eli Zaretskii
  2022-01-03  5:05   ` Karl Fogel
  3 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2021-12-05  6:38 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Sat, 04 Dec 2021 15:14:59 -0600
> 
> I'd like to improve our in-tree documentation of how Org Mode 
> integration into GNU Emacs works.

Thanks.  Can you provide a rough sketch, in the form of list of items,
of what you'd like to document, and who would be the main audience for
that?  I don't have a clear idea of that based on what you posted.

> So I'd like to add some documentation in our tree, clarifying this 
> situation for future searchers.  Most likely, this would be a 
> brief mention in CONTRIBUTE, pointing to a new file 
> lisp/org/README which would give more details and point to the 
> above page.

I'm not sure these places are right for this kind of information, but
maybe it's because I don't have a good understanding of what you'd
like to say there.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2021-12-05  6:38 ` Eli Zaretskii
@ 2022-01-03  5:05   ` Karl Fogel
  2022-01-03  5:44     ` Stefan Monnier
                       ` (4 more replies)
  0 siblings, 5 replies; 32+ messages in thread
From: Karl Fogel @ 2022-01-03  5:05 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 1639 bytes --]

On 05 Dec 2021, Eli Zaretskii wrote:
>> I'd like to improve our in-tree documentation of how Org Mode 
>> integration into GNU Emacs works.
>
>Thanks.  Can you provide a rough sketch, in the form of list of 
>items,
>of what you'd like to document, and who would be the main 
>audience for
>that?  I don't have a clear idea of that based on what you 
>posted.

Sure.  (The attached patch may answer your questions more 
efficiently, though.)

* Audience:

The audience is Emacs developers and potential developers who are 
tracking down bugs, or trying to contribute enhancements, but who 
don't know that certain packages (such as Org Mode) are externally 
maintained. 

It's better for us all if such a person finds out as soon as 
possible where the active upstream for a package is.  For example, 
if they've found a bug in Org Mode, they should take the bug 
report to the Org Mode forums and discuss it with the Org Mode 
maintainers.  (Maybe sometimes Emacs Devel should also be 
involved, but the person should at least start out in the proper 
upstream forum and then be guided appropriately from there.)

* List of items:

All the packages that ship as part of Emacs but that are 
externally maintained.  Right now, Org Mode is the only one I know 
of, but I suspect there are others.  If people would like to point 
others out to me, I'll update the attached patch to include them 
too.

The attached patch is an attempt to document this situation in 
such a way that developers are likely to encounter the 
documentation when they most need it.  Comments welcome; I'm 
certainly open to other strategies.

Best regards,
-Karl


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] Document external maintenance of some packages --]
[-- Type: text/x-diff, Size: 2490 bytes --]

From b709de6a9ffb4cbb30b480f97f1de009a00769a9 Mon Sep 17 00:00:00 2001
From: Karl Fogel <kfogel@red-bean.com>
Date: Sun, 2 Jan 2022 22:49:35 -0600
Subject: [PATCH] Document external maintenance of some packages

Document the fact that some packages in Emacs are externally
maintained, and document Org Mode's provenance specifically.

For more context, see the thread that starts here:

  https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00366.html
  From: Karl Fogel
  To: Emacs Devel
  Subject: Improving documentation of Org Mode integration into Emacs.
  Date: Sat, 04 Dec 2021 15:14:59 -0600
  Message-ID: <87zgpgax7w.fsf@red-bean.com>
---
 CONTRIBUTE      | 17 +++++++++++++++++
 lisp/org/README |  6 ++++++
 2 files changed, 23 insertions(+)
 create mode 100644 lisp/org/README

diff --git CONTRIBUTE CONTRIBUTE
index 7c3421ed75..6f3bb9bf32 100644
--- CONTRIBUTE
+++ CONTRIBUTE
@@ -366,6 +366,23 @@ reasons.  These should be marked by including something like "Do not
 merge to master" or anything that matches gitmerge-skip-regexp (see
 admin/gitmerge.el) in the commit message.
 
+** Some packages in Emacs are maintained externally
+
+Sometimes a package that ships as part of GNU Emacs is actually
+maintained as a separate project, with its own upstream repository,
+its own maintainer group, its own development conventions, etc.  The
+upstream project's code is periodically merged into Emacs -- exactly
+when and how such merges happen depends on the package.
+
+Each externally maintained package lives in its own subdirectory in
+the Emacs tree, and that subdirectory should have a "README" file that
+describes the upstream origin.  For example, "lisp/org/README" says
+where the Org Mode project lives and how it's synchronized into Emacs.
+
+Note that not all the independently-maintained packages in Emacs have
+such a "README" yet.  If you know of one that's missing its "README",
+please send in a patch or just let us know.
+
 ** GNU ELPA
 
 This repository does not contain the Emacs Lisp package archive
diff --git lisp/org/README lisp/org/README
new file mode 100644
index 0000000000..f9fe1e6edc
--- /dev/null
+++ lisp/org/README
@@ -0,0 +1,6 @@
+Org Mode is maintained as a separate project, and is periodically
+merged into Emacs.
+
+See https://orgmode.org/ for more information, and see specifically
+https://orgmode.org/worg/org-maintenance.html for information about
+the process of synchronization between upstream Org Mode and Emacs.
-- 
2.34.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:05   ` Karl Fogel
@ 2022-01-03  5:44     ` Stefan Monnier
  2022-01-05  3:09       ` Karl Fogel
  2022-01-03  8:52     ` Michael Albinus
                       ` (3 subsequent siblings)
  4 siblings, 1 reply; 32+ messages in thread
From: Stefan Monnier @ 2022-01-03  5:44 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel, Eli Zaretskii

> All the packages that ship as part of Emacs but that are externally
> maintained.  Right now, Org Mode is the only one I know of, but I suspect
> there are others.  If people would like to point others out to me, I'll
> update the attached patch to include them too.

"Externally maintained" might not be quite right for the following
packages, but they do fit the description to some extent in the sense
that the maintainer also distributes the code elsewhere (e.g. for XEmacs):
- CC-mode
- VHDL-mode
- Verilog-mode


        Stefan




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:05   ` Karl Fogel
  2022-01-03  5:44     ` Stefan Monnier
@ 2022-01-03  8:52     ` Michael Albinus
  2022-01-03 12:06     ` Protesilaos Stavrou
                       ` (2 subsequent siblings)
  4 siblings, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2022-01-03  8:52 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eli Zaretskii, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

Hi Karl,

> +Each externally maintained package lives in its own subdirectory in
> +the Emacs tree, and that subdirectory should have a "README" file that
> +describes the upstream origin.  For example, "lisp/org/README" says
> +where the Org Mode project lives and how it's synchronized into Emacs.

That's not the case now. Tramp, for example, does not live in an own
subdirectory. Should it?

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:05   ` Karl Fogel
  2022-01-03  5:44     ` Stefan Monnier
  2022-01-03  8:52     ` Michael Albinus
@ 2022-01-03 12:06     ` Protesilaos Stavrou
  2022-01-03 13:31     ` Eli Zaretskii
  2022-01-03 20:45     ` Rudolf Adamkovič
  4 siblings, 0 replies; 32+ messages in thread
From: Protesilaos Stavrou @ 2022-01-03 12:06 UTC (permalink / raw)
  To: emacs-devel; +Cc: Karl Fogel

On 2022-01-02, 23:05 -0600, Karl Fogel <kfogel@red-bean.com> wrote:

> +Each externally maintained package lives in its own subdirectory in
> +the Emacs tree, and that subdirectory should have a "README" file that
> +describes the upstream origin.  For example, "lisp/org/README" says
> +where the Org Mode project lives and how it's synchronized into Emacs.
> +
> +Note that not all the independently-maintained packages in Emacs have
> +such a "README" yet.  If you know of one that's missing its "README",
> +please send in a patch or just let us know.

The modus-themes are maintained externally.  I sync them with emacs.git
every month or so when I release a new version.  Their .el files are in
etc/themes/ while the manual is in doc/misc/.

I am happy to provide a README, though neither of those two directories
is specific to the modus-themes.

Maybe I should include the relevant information in the themes' manual
and/or the "Commentary:" of each .el file?

-- 
Protesilaos Stavrou
https://protesilaos.com



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:05   ` Karl Fogel
                       ` (2 preceding siblings ...)
  2022-01-03 12:06     ` Protesilaos Stavrou
@ 2022-01-03 13:31     ` Eli Zaretskii
  2022-01-03 20:45     ` Rudolf Adamkovič
  4 siblings, 0 replies; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-03 13:31 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Cc: Eli Zaretskii <eliz@gnu.org>
> Date: Sun, 02 Jan 2022 23:05:05 -0600
> 
> >> I'd like to improve our in-tree documentation of how Org Mode 
> >> integration into GNU Emacs works.
> >
> >Thanks.  Can you provide a rough sketch, in the form of list of 
> >items,
> >of what you'd like to document, and who would be the main 
> >audience for
> >that?  I don't have a clear idea of that based on what you 
> >posted.
> 
> Sure.  (The attached patch may answer your questions more 
> efficiently, though.)

Thanks.

However, IMO the text as written doesn't belong to CONTRIBUTE.  That
file includes actionable instructions to contributors regarding our
development procedures, conventions, and requirements.  The purpose of
those instructions is to make the contributed changes acceptable and
matching our practices.  By contrast, the text that you propose is
just information that is not actionable.  So if this text is to stay
in its present form, it should be somewhere else, perhaps in README.

If you do want it to be in CONTRIBUTE, it mostly be comprised of some
specific instructions what to do or what not to do.  The purely
informational part should ideally be shorter and more focused on what
contributors need to know in order to, well, contribute.

> It's better for us all if such a person finds out as soon as 
> possible where the active upstream for a package is.  For example, 
> if they've found a bug in Org Mode, they should take the bug 
> report to the Org Mode forums and discuss it with the Org Mode 
> maintainers.  (Maybe sometimes Emacs Devel should also be 
> involved, but the person should at least start out in the proper 
> upstream forum and then be guided appropriately from there.)

Please note that none of what you say here is in the text, not even as
a hint.  If the idea is to tell contributors to direct bug reports for
those packages elsewhere, why not tell that explicitly, and why not
include the relevant URLs where those bugs should be reported?

> +See https://orgmode.org/ for more information, and see specifically
> +https://orgmode.org/worg/org-maintenance.html for information about
> +the process of synchronization between upstream Org Mode and Emacs.

The beginning of this is promising, but then it strays: instead of
telling people to send patches and bug reports about Org to those
addresses and not to Emacs's tracker, it invites them to learn about
the process of synchronization between Org and Emacs, something that I
think is of secondary importance (to say the least) for causal
contributors.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:05   ` Karl Fogel
                       ` (3 preceding siblings ...)
  2022-01-03 13:31     ` Eli Zaretskii
@ 2022-01-03 20:45     ` Rudolf Adamkovič
  4 siblings, 0 replies; 32+ messages in thread
From: Rudolf Adamkovič @ 2022-01-03 20:45 UTC (permalink / raw)
  To: Karl Fogel, emacs-devel; +Cc: Eli Zaretskii

Karl Fogel <kfogel@red-bean.com> writes:

> Comments welcome; I'm certainly open to other strategies.

I have a small comment. :)

I think we can drop the word "actually" from the first sentence:

"… is actually maintained as a separate project, …"

Rudy
-- 
"Logic is a science of the necessary laws of thought, without which no
employment of the understanding and the reason takes place." -- Immanuel
Kant, 1785

Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-03  5:44     ` Stefan Monnier
@ 2022-01-05  3:09       ` Karl Fogel
  2022-01-05 13:48         ` Eli Zaretskii
  0 siblings, 1 reply; 32+ messages in thread
From: Karl Fogel @ 2022-01-05  3:09 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 7782 bytes --]

Replying to several emails together here -- from Stefan, Michael, 
Protesilaos, Rudolf, and Eli -- as they're related.   TL;DR: Just 
see the attached revised patch, which incorporates information and 
suggestions from those folks.

On 03 Jan 2022, Stefan Monnier wrote: 
>"Externally maintained" might not be quite right for the 
>following packages, but they do fit the description to some 
>extent in the sense that the maintainer also distributes the code 
>elsewhere (e.g. for XEmacs): - CC-mode - VHDL-mode - Verilog-mode 
 
Well, the question isn't about whether the code is also 
distributed elsewhere.  Rather, the question is "Where should a 
developer go first with bug reports, bug patches, enhancement 
suggestions, etc?"   If she should go to Emacs Devel (or our 
debbugs tracker) first, then no special note is needed.   If she 
should go to some other upstream origin first, or should at least 
consider doing that, then a note is needed.   (For the above three 
packages specifically, I don't know the answer to that question, 
as I haven't looked at them in depth.)   On 03 Jan 2022, Michael 
Albinus wrote: 
>> +Each externally maintained package lives in its own 
>> subdirectory in +the Emacs tree, and that subdirectory should 
>> have a "README" file that +describes the upstream origin.  For 
>> example, "lisp/org/README" says +where the Org Mode project 
>> lives and how it's synchronized into Emacs. 
> That's not the case now. Tramp, for example, does not live in an 
>own subdirectory. Should it? 
 
Ah, thank you for pointing this out.  Okay, there are two 
different ways we could handle that:  1) Document the current 
messy reality (described in detail below).   2) Clean up reality, 
then document that new reality :-).   I think (1) is better right 
now, as it's a smaller change.  The "messy reality" I'm referring 
to is this:  *Some* multi-file externally maintained packages, 
like Tramp, are not contained in a dedicated subdirectory.  All 
the Tramp files live in "lisp/net/", alongside other non-Tramp 
file (some of which are also multi-file packages, like EUDC, 
although unlike Tramp they are not externally maintained packages 
as far as I know).   Meanwhile, *other* multi-file externally 
maintained packages, such as Org Mode, do have their own dedicated 
subdirectory (e.g., "lisp/org/").  In these cases, there is as 
easy solution for documenting the fact of external maintenance: 
put a README in that subdir.  The attached revised patch shows 
this.   Doing (2) would mean putting every multi-file package into 
its own dedicated subdirectory (e.g., "lisp/net/tramp/") -- for 
both externally and internally maintained packages.  I think this 
would be a good organizational improvement for us to make anyway, 
not only because it would simplify our strategy for documenting 
external maintenance for multi-file packages.  But (1) seems like 
the right option here, as it's a smaller step.  (2) would be a 
separate decision that goes beyond the scope of my original 
proposal. 

On 03 Jan 2022, Protesilaos Stavrou wrote: 
>The modus-themes are maintained externally.  I sync them with 
>emacs.git every month or so when I release a new version.  Their 
>.el files are in etc/themes/ while the manual is in doc/misc/. 
>I am happy to provide a README, though neither of those two 
>directories is specific to the modus-themes.   Maybe I should 
>include the relevant information in the themes' manual and/or the 
>"Commentary:" of each .el file? 
 
Thanks for mentioning these.  Please see the attached patch, which 
I think might answer your question (in the diff to CONTRIBUTE). 
On 03 Jan 2022, Rudolf Adamkovič wrote:
>I have a small comment. :)
>I think we can drop the word "actually" from the first sentence:

I agree -- thank you.  Your suggestion is incorporated into the 
new patch attached here.

On 03 Jan 2022, Eli Zaretskii wrote: 
>Thanks.   However, IMO the text as written doesn't belong to 
>CONTRIBUTE.  That file includes actionable instructions to 
>contributors regarding our development procedures, conventions, 
>and requirements.  The purpose of those instructions is to make 
>the contributed changes acceptable and matching our practices. 
>By contrast, the text that you propose is just information that 
>is not actionable.  So if this text is to stay in its present 
>form, it should be somewhere else, perhaps in README.   If you do 
>want it to be in CONTRIBUTE, it mostly be comprised of some 
>specific instructions what to do or what not to do.  The purely 
>informational part should ideally be shorter and more focused on 
>what contributors need to know in order to, well, contribute. 
 
The attached (revised) patch gives some specific instructions as 
examples.  But CONTRIBUTE's job is just to explain the general 
situation about externally maintained packages and give a few 
examples, so that developers understand why they need to be watch 
out for this situation.  That's what the revised text in the 
attached patch does.   Let me explain more clearly why I think 
CONTRIBUTE needs this section:  The CONTRIBUTE file is where 
developers go to learn how to contribute to Emacs.  But right now, 
when a developer finds a bug in (or wants to make an improvement 
to) a package that is distributed with Emacs but is externally 
maintained, she could easily miss the fact that the package is 
externally maintained!  That means she'll often bring her bug 
report or enhancement suggestion to the wrong place first: Emacs's 
own forums, instead of to the true upstream forums.   In other 
words, CONTRIBUTE needs to document this phenomenon because 
CONTRIBUTE is where we point developers to to learn how to 
contribute to Emacs -- and this information is about routing 
contributions correctly.   But CONTRIBUTE shouldn't give the 
specific instructions for each package.  It should just show the 
developer how to figure out if a package is externally maintained, 
and then that package can point the developer in the right 
direction in whatever way is most appropriate.

>Please note that none of what you say here is in the text, not 
>even as a hint.  If the idea is to tell contributors to direct 
>bug reports for those packages elsewhere, why not tell that 
>explicitly, and why not include the relevant URLs where those 
>bugs should be reported? 
 
This is made more explicit now in CONTRIBUTE.

Again, I don't include all the specific upstream URLs in 
CONTRIBUTE because we're not listing all the externally maintained 
packages in CONTRIBUTE.  CONTRIBUTE just explains how to detect 
such a package, and then lets the package's files give the proper 
pointers. 
 
>> +See https://orgmode.org/ for more information, and see 
>> specifically +https://orgmode.org/worg/org-maintenance.html for 
>> information about +the process of synchronization between 
>> upstream Org Mode and Emacs. 
> The beginning of this is promising, but then it strays: instead 
>of telling people to send patches and bug reports about Org to 
>those addresses and not to Emacs's tracker, it invites them to 
>learn about the process of synchronization between Org and Emacs, 
>something that I think is of secondary importance (to say the 
>least) for causal contributors. 
 
Thanks; good idea.  I've improved the proposed lisp/org/README as 
you indicate above.  The new language also makes clearer why -- in 
the specific case of Org Mode -- one might want to learn about the 
process of synchronization, since with Org Mode changes flow 
bidirectionally (which may not be the case for all externally 
maintained packages).

Best regards,
-Karl


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] Document external maintenance of some packages --]
[-- Type: text/x-diff, Size: 5104 bytes --]

From 79527535f74b8299fa2d1612d0458d4972e05ac1 Mon Sep 17 00:00:00 2001
From: Karl Fogel <kfogel@red-bean.com>
Date: Sun, 2 Jan 2022 22:49:35 -0600
Subject: [PATCH] Document external maintenance of some packages

Document the fact that some packages in Emacs are externally
maintained and document how to discover their upstream origin.

For more context, see the thread that starts here:

  https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00366.html
  From: Karl Fogel
  To: Emacs Devel
  Subject: Improving documentation of Org Mode integration into Emacs.
  Date: Sat, 04 Dec 2021 15:14:59 -0600
  Message-ID: <87zgpgax7w.fsf@red-bean.com>
---
 CONTRIBUTE      | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 lisp/org/README | 19 +++++++++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 lisp/org/README

diff --git CONTRIBUTE CONTRIBUTE
index 7c3421ed75..527ad1ed35 100644
--- CONTRIBUTE
+++ CONTRIBUTE
@@ -366,6 +366,55 @@ reasons.  These should be marked by including something like "Do not
 merge to master" or anything that matches gitmerge-skip-regexp (see
 admin/gitmerge.el) in the commit message.
 
+** Some packages in Emacs are maintained externally
+
+Sometimes a package that ships as part of GNU Emacs is maintained as a
+separate project, with its own upstream repository, its own maintainer
+group, its own development conventions, etc.  The upstream project's
+code is periodically merged into Emacs (exactly when and how such
+merges happen depends on the package).
+
+So when you are making a contribution -- such as fixing a bug or
+proposing an enhancement -- to one of these externally maintained
+packages, you often need to deal with that package at its upstream
+source.  For example, if you're trying to fix a bug, you should obtain
+the latest version of the packages's code from that upstream source,
+since that code will likely be ahead of whatever version is in Emacs
+and you'll want to test the latest code to see if the bug is still
+present.  Likewise, if you're starting a development discussion, you
+should generally do so in the package's own forums rather than in
+Emacs's forums; the upstream developers can provide guidance about
+whether Emacs's developers need to be brought in to the discussion.
+
+*** How to tell which packages are externally maintained
+
+When an externally maintained package is just one file, then a comment
+near the top of the file should indicate the upstream origin.
+
+When an externally maintained package involves multiple files, then
+there are a couple of possibilities:
+
+1. The files all live in one dedicated subdirectory that is specific
+   to that package.  In this case, there should be a README in that
+   subdirectory indicating the upstream origin.  For example,
+   "lisp/org/README" indicates where the Org Mode project lives and
+   what that provenance implies for contributors.
+
+2. The package's files all live in the same directory, and share a
+   common filename prefix, but there are also other files in that
+   directory that are unrelated to the package in question.
+
+   In this case, there should be a comment near the top of the
+   package's main entry-point file -- i.e., the file that one loads to
+   `provide' the package -- giving the provenance indication.  For
+   example, the Tramp package is made up of multiple files
+   ("lisp/net/tramp*") and the package's upstream origin is described
+   in a comment near the top of "lisp/net/tramp.el".
+
+Note that there may be some independently-maintained packages in Emacs
+that still lack a clear provenance indicator.  If you find one, please
+send in a patch or just let us know.
+
 ** GNU ELPA
 
 This repository does not contain the Emacs Lisp package archive
diff --git lisp/org/README lisp/org/README
new file mode 100644
index 0000000000..6c8022f56a
--- /dev/null
+++ lisp/org/README
@@ -0,0 +1,19 @@
+Org Mode is maintained as a separate project, and is periodically
+merged into Emacs.  To view or participate in Org Mode development,
+please go to https://orgmode.org/ and follow the instructions there.
+
+The source code from the upstream Org Mode project is usually not
+identical to the version of Org Mode in Emacs.  The upstream project
+often has recent changes that have not yet been merged into Emacs, and
+Emacs sometimes has local changes to Org Mode that have not yet been
+backported to upstream (https://orgmode.org/worg/org-maintenance.html
+documents how the Org Mode project synchronizes changes with Emacs).
+
+Thus, if you're investigating a bug you encountered in Org Mode in
+Emacs, you should obtain the latest upstream code and see if the bug
+is present there.  If the bug is present, then the upstream Org Mode
+project is the proper place to fix it.  If the bug is not present
+there, that could be because it has already been fixed upstream, or it
+could be because the bug was only introduced on the Emacs side and has
+not yet been backported upstream.  Either way, this is something you
+will need to know in order to know where to contribute your fix.
-- 
2.34.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-05  3:09       ` Karl Fogel
@ 2022-01-05 13:48         ` Eli Zaretskii
  2022-01-05 14:17           ` Michael Albinus
  2022-01-09 22:34           ` Karl Fogel
  0 siblings, 2 replies; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-05 13:48 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Tue, 04 Jan 2022 21:09:47 -0600
> 
> On 03 Jan 2022, Eli Zaretskii wrote: 
> >Thanks.   However, IMO the text as written doesn't belong to 
> >CONTRIBUTE.  That file includes actionable instructions to 
> >contributors regarding our development procedures, conventions, 
> >and requirements.  The purpose of those instructions is to make 
> >the contributed changes acceptable and matching our practices. 
> >By contrast, the text that you propose is just information that 
> >is not actionable.  So if this text is to stay in its present 
> >form, it should be somewhere else, perhaps in README.   If you do 
> >want it to be in CONTRIBUTE, it mostly be comprised of some 
> >specific instructions what to do or what not to do.  The purely 
> >informational part should ideally be shorter and more focused on 
> >what contributors need to know in order to, well, contribute. 
>  
> The attached (revised) patch gives some specific instructions as 
> examples.

I don't think providing just examples is the best idea.  See below.

> But CONTRIBUTE's job is just to explain the general 
> situation about externally maintained packages and give a few 
> examples, so that developers understand why they need to be watch 
> out for this situation.

I think we should explain the issue concisely, and then provide
specific instructions.  This text is IMO enough for the first part:

  +Sometimes a package that ships as part of GNU Emacs is maintained as a
  +separate project, with its own upstream repository, its own maintainer
  +group, its own development conventions, etc.  The upstream project's
  +code is periodically merged into Emacs (exactly when and how such
  +merges happen depends on the package).
  +
  +So when you are making a contribution -- such as fixing a bug or
  +proposing an enhancement -- to one of these externally maintained
  +packages, you often need to deal with that package at its upstream
  +source.

Following that, we should provide a full, exhaustive list of all such
packages in Emacs core, each one with a corresponding URL (mailing
list, upstream repository with an issue tracker, etc.).  It might be a
good idea to have this list on a separate file, perhaps in etc/, and
only have CONTRIBUTE point to that file.

> But CONTRIBUTE shouldn't give the specific instructions for each
> package.  It should just show the developer how to figure out if a
> package is externally maintained, and then that package can point
> the developer in the right direction in whatever way is most
> appropriate.

I disagree.  If we don't provide a full list of such packages with
precise instructions, we will not make any significant progress:
people would still need to ask us about the details, when they aren't
"smart" enough (or patient enough) to read the instructions that teach
them how to deduce that by themselves.  Moreover, as you have found
out already, there's no standard way such packages use to "plug"
themselves into Emacs, so it's likely that any general instructions we
provide will be inaccurate in some cases.  An exhaustive "cookbook" is
much better, IMO, and is easier to maintain in the long run.  It will
also be shorter, which is a nice bonus, given today's "TL;DR"
attitude.

Thanks.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-05 13:48         ` Eli Zaretskii
@ 2022-01-05 14:17           ` Michael Albinus
  2022-01-05 14:26             ` Eli Zaretskii
  2022-01-09 22:34           ` Karl Fogel
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2022-01-05 14:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

Hi Eli,

> I think we should explain the issue concisely, and then provide
> specific instructions.  This text is IMO enough for the first part:
>
>   +Sometimes a package that ships as part of GNU Emacs is maintained as a
>   +separate project, with its own upstream repository, its own maintainer
>   +group, its own development conventions, etc.  The upstream project's
>   +code is periodically merged into Emacs (exactly when and how such
>   +merges happen depends on the package).
>   +
>   +So when you are making a contribution -- such as fixing a bug or
>   +proposing an enhancement -- to one of these externally maintained
>   +packages, you often need to deal with that package at its upstream
>   +source.
>
> Following that, we should provide a full, exhaustive list of all such
> packages in Emacs core, each one with a corresponding URL (mailing
> list, upstream repository with an issue tracker, etc.).  It might be a
> good idea to have this list on a separate file, perhaps in etc/, and
> only have CONTRIBUTE point to that file.

We have already admin/MAINTAINERS, which could easily be extended for
this. I, for example, am mentioned there as responsible for
Tramp. Adding the Tramp relevant URLs would be easy, and so for all
other external maintained packages.

> Thanks.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-05 14:17           ` Michael Albinus
@ 2022-01-05 14:26             ` Eli Zaretskii
  2022-01-06 12:40               ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-05 14:26 UTC (permalink / raw)
  To: Michael Albinus; +Cc: kfogel, emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: Karl Fogel <kfogel@red-bean.com>,  emacs-devel@gnu.org
> Date: Wed, 05 Jan 2022 15:17:30 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Following that, we should provide a full, exhaustive list of all such
> > packages in Emacs core, each one with a corresponding URL (mailing
> > list, upstream repository with an issue tracker, etc.).  It might be a
> > good idea to have this list on a separate file, perhaps in etc/, and
> > only have CONTRIBUTE point to that file.
> 
> We have already admin/MAINTAINERS, which could easily be extended for
> this.

Yes, that'd be fine, I think.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-05 14:26             ` Eli Zaretskii
@ 2022-01-06 12:40               ` Michael Albinus
  2022-01-06 13:58                 ` Eli Zaretskii
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2022-01-06 12:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

Hi Eli,

>> > Following that, we should provide a full, exhaustive list of all such
>> > packages in Emacs core, each one with a corresponding URL (mailing
>> > list, upstream repository with an issue tracker, etc.).  It might be a
>> > good idea to have this list on a separate file, perhaps in etc/, and
>> > only have CONTRIBUTE point to that file.
>>
>> We have already admin/MAINTAINERS, which could easily be extended for
>> this.
>
> Yes, that'd be fine, I think.

I've pushed this for Tramp, comments welcome.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-06 12:40               ` Michael Albinus
@ 2022-01-06 13:58                 ` Eli Zaretskii
  2022-01-07 10:41                   ` Protesilaos Stavrou
  0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-06 13:58 UTC (permalink / raw)
  To: Michael Albinus; +Cc: kfogel, emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Thu, 06 Jan 2022 13:40:47 +0100
> 
> >> We have already admin/MAINTAINERS, which could easily be extended for
> >> this.
> >
> > Yes, that'd be fine, I think.
> 
> I've pushed this for Tramp, comments welcome.

LGTM, thanks.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-06 13:58                 ` Eli Zaretskii
@ 2022-01-07 10:41                   ` Protesilaos Stavrou
  0 siblings, 0 replies; 32+ messages in thread
From: Protesilaos Stavrou @ 2022-01-07 10:41 UTC (permalink / raw)
  To: Eli Zaretskii, Michael Albinus; +Cc: kfogel, emacs-devel

On 2022-01-06, 15:58 +0200, Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Michael Albinus <michael.albinus@gmx.de>
>> Cc: kfogel@red-bean.com,  emacs-devel@gnu.org
>> Date: Thu, 06 Jan 2022 13:40:47 +0100
>> 
>> >> We have already admin/MAINTAINERS, which could easily be extended for
>> >> this.
>> >
>> > Yes, that'd be fine, I think.
>> 
>> I've pushed this for Tramp, comments welcome.
>
> LGTM, thanks.

I followed Michael's example to add information about the Modus themes.

Thank you!

-- 
Protesilaos Stavrou
https://protesilaos.com



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-05 13:48         ` Eli Zaretskii
  2022-01-05 14:17           ` Michael Albinus
@ 2022-01-09 22:34           ` Karl Fogel
  2022-01-10  8:46             ` Michael Albinus
  2022-01-10 18:14             ` Eli Zaretskii
  1 sibling, 2 replies; 32+ messages in thread
From: Karl Fogel @ 2022-01-09 22:34 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2430 bytes --]

On 05 Jan 2022, Eli Zaretskii wrote:
>I think we should explain the issue concisely, and then provide
>specific instructions.  This text is IMO enough for the first 
>part:
>
>[...]
>
>Following that, we should provide a full, exhaustive list of all 
>such
>packages in Emacs core, each one with a corresponding URL 
>(mailing
>list, upstream repository with an issue tracker, etc.).  It might 
>be a
>good idea to have this list on a separate file, perhaps in etc/, 
>and
>only have CONTRIBUTE point to that file.

The attached patch puts a concise text in CONTRIBUTE as you 
described,
and adds an entry for Org Mode to the new "Externally maintained 
packages" section of admin/MAINTAINERS -- following Michael 
Albinius's and Protesilaos Stavrou's lead re Tramp and Modus 
Themes respectively.

The Org Mode entry is larger than the Tramp and Modus Themes 
entries, because the situation with Org Mode is more complex. 
That's why I've attached this patch for review instead of just 
committing it.

>I disagree.  If we don't provide a full list of such packages 
>with
>precise instructions, we will not make any significant progress:
>people would still need to ask us about the details, when they 
>aren't
>"smart" enough (or patient enough) to read the instructions that 
>teach
>them how to deduce that by themselves.  Moreover, as you have 
>found
>out already, there's no standard way such packages use to "plug"
>themselves into Emacs, so it's likely that any general 
>instructions we
>provide will be inaccurate in some cases.  An exhaustive 
>"cookbook" is
>much better, IMO, and is easier to maintain in the long run.  It 
>will
>also be shorter, which is a nice bonus, given today's "TL;DR"
>attitude.

That's persuasive; I think it's a good solution.  Feedback on the 
attached patch is welcome.  A couple of notes about it:

* Although the "Branches" section in CONTRIBUTE implies that these 
  changes should go on the "emacs-28" branch, this patch is 
  against "master" because Michael and Protesilaos committed their 
  changes to "master".  (I think it's all fine on "master" too, 
  and the guidance in CONTRIBUTE is a bit ambiguous about this 
  kind of change anyway.)

* In admin/MAINTAINERS, I did not list 
  "test/lisp/org/org-tests.el" as a 
  file maintained by the Org Mode project, because it looks like 
  that file exists only in Emacs and is not shipped with Org Mode. 

Best regards,
-Karl


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: [PATCH] Document external maintenance of some packages --]
[-- Type: text/x-diff, Size: 4022 bytes --]

From 6a9a0132b7313a16539b2ec8b3fb9cac390b5915 Mon Sep 17 00:00:00 2001
From: Karl Fogel <kfogel@red-bean.com>
Date: Sun, 9 Jan 2022 16:07:08 -0600
Subject: [PATCH] Document external maintenance of some packages

Document the fact that some packages in Emacs are externally
maintained, and specifically document Org Mode's external maintenance.

For more context, see the thread that starts here:

  https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00366.html
  From: Karl Fogel
  To: Emacs Devel
  Subject: Improving documentation of Org Mode integration into Emacs.
  Date: Sat, 04 Dec 2021 15:14:59 -0600
  Message-ID: <87zgpgax7w.fsf@red-bean.com>
---
 CONTRIBUTE        | 18 ++++++++++++++++++
 admin/MAINTAINERS | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git CONTRIBUTE CONTRIBUTE
index 7c3421ed75..04d0ab00d2 100644
--- CONTRIBUTE
+++ CONTRIBUTE
@@ -366,6 +366,24 @@ reasons.  These should be marked by including something like "Do not
 merge to master" or anything that matches gitmerge-skip-regexp (see
 admin/gitmerge.el) in the commit message.
 
+** Some packages in Emacs are maintained externally
+
+Sometimes a package that ships as part of GNU Emacs is maintained as a
+separate project, with its own upstream repository, its own maintainer
+group, its own development conventions, etc.  The upstream project's
+code is periodically merged into Emacs (exactly when and how such
+merges happen depends on the package).
+
+So when you are making a contribution -- such as fixing a bug or
+proposing an enhancement -- to one of these externally maintained
+packages, you often need to deal with that package at its upstream
+source.
+
+See section "Externally maintained packages" in "admin/MAINTAINERS"
+for a list of such packages.  If you discover an externally maintained
+package in Emacs that is not yet listed there, please send in a patch
+or just let us know.
+
 ** GNU ELPA
 
 This repository does not contain the Emacs Lisp package archive
diff --git admin/MAINTAINERS admin/MAINTAINERS
index e87c3e0204..5b8d73cad7 100644
--- admin/MAINTAINERS
+++ admin/MAINTAINERS
@@ -316,6 +316,43 @@ Modus themes
         doc/misc/modus-themes.org
         etc/themes/modus*.el
 
+Org Mode
+	Home Page: https://orgmode.org/
+	Maintainer: Org Mode developers
+	Repository: git://git.sv.gnu.org/emacs/org-mode.git
+	Mailing list: emacs-orgmode@gnu.org
+	Bug Reports: M-x org-submit-bug-report
+	Notes: Org Mode is maintained as a separate project that is
+          periodically merged into Emacs.  To view or participate in
+          Org Mode development, please go to https://orgmode.org/ and
+          follow the instructions there.
+
+          The source code from the upstream Org Mode project is
+          usually not identical to the version of Org Mode in Emacs.
+          The upstream project often has recent changes that have not
+          yet been merged into Emacs, and Emacs sometimes has local
+          changes to Org Mode that have not yet been backported to
+          upstream.  https://orgmode.org/worg/org-maintenance.html
+          documents how the Org Mode project synchronizes changes with
+          Emacs.
+
+          If you're investigating a bug you encountered in Org Mode in
+          Emacs, you should obtain the latest upstream code and see if
+          the bug is present there.  If the bug is present, then the
+          upstream Org Mode project is the proper place to fix it.  If
+          the bug is not present there, that could be because it has
+          already been fixed upstream, or it could be because the bug
+          was only introduced on the Emacs side and has not yet been
+          backported upstream.  You will need to figure out what the
+          situation is in order to know where to contribute your fix.
+
+	lisp/org/*.el
+	etc/org/*
+	etc/refcards/orgcard.tex
+	doc/misc/org.org
+	doc/misc/org-setup.org
+	doc/misc/org.texi
+
 \f
 ;;; Local Variables:
 ;;;   coding: utf-8
-- 
2.34.1


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-09 22:34           ` Karl Fogel
@ 2022-01-10  8:46             ` Michael Albinus
  2022-01-10  9:03               ` Michael Albinus
  2022-01-10  9:06               ` Karl Fogel
  2022-01-10 18:14             ` Eli Zaretskii
  1 sibling, 2 replies; 32+ messages in thread
From: Michael Albinus @ 2022-01-10  8:46 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kyle Meyer, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

Hi Karl,

> * In admin/MAINTAINERS, I did not list   "test/lisp/org/org-tests.el"
>   as a   file maintained by the Org Mode project, because it looks
>   like   that file exists only in Emacs and is not shipped with Org
>   Mode.

That's OK. Org-mode has a lot of own test files not integrated into
Emacs repo; I hope we can get them too.

> +So when you are making a contribution -- such as fixing a bug or
> +proposing an enhancement -- to one of these externally maintained
> +packages, you often need to deal with that package at its upstream
> +source.

I'm not sure that this is always the case. For Tramp, I'm happy if
people refer to the Emacs repo files; sync with the upstream package is
something contributors don't need to worry about. We shall keep the
barrier low.

More important are compatibility restrictions. All of these externally
maintained packages have their policy, we shall advice potential
contributors to respect them. Refer to the respective Package-Requires:
header line.

> +Org Mode
> +	Home Page: https://orgmode.org/
> +	Maintainer: Org Mode developers

The sync between org-mode and Emacs is performed by Kyle Meyer
<kyle@kyleam.com>, shall we mention him as the guy to be contacted in
case of?

> Best regards,
> -Karl

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  8:46             ` Michael Albinus
@ 2022-01-10  9:03               ` Michael Albinus
  2022-01-10  9:13                 ` Karl Fogel
  2022-01-10  9:06               ` Karl Fogel
  1 sibling, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2022-01-10  9:03 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kyle Meyer, emacs-devel

PS: doc/misc/org.texi is a generated file, no need to mention it.

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  8:46             ` Michael Albinus
  2022-01-10  9:03               ` Michael Albinus
@ 2022-01-10  9:06               ` Karl Fogel
  2022-01-10  9:24                 ` Michael Albinus
  1 sibling, 1 reply; 32+ messages in thread
From: Karl Fogel @ 2022-01-10  9:06 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Kyle Meyer, emacs-devel

On 10 Jan 2022, Michael Albinus wrote:
>> * In admin/MAINTAINERS, I did not list 
>> "test/lisp/org/org-tests.el"
>>   as a   file maintained by the Org Mode project, because it 
>>   looks
>>   like   that file exists only in Emacs and is not shipped with 
>>   Org
>>   Mode.
>
>That's OK. Org-mode has a lot of own test files not integrated 
>into
>Emacs repo; I hope we can get them too.

I hope so too.  However, for our purposes here, we don't care 
about files on the Org Mode side that aren't currently integrated 
into Emacs's repository; we only care about what's present in 
Emacs.

>> +So when you are making a contribution -- such as fixing a bug 
>> or
>> +proposing an enhancement -- to one of these externally 
>> maintained
>> +packages, you often need to deal with that package at its 
>> upstream
>> +source.
>
>I'm not sure that this is always the case. For Tramp, I'm happy 
>if
>people refer to the Emacs repo files; sync with the upstream 
>package is
>something contributors don't need to worry about. We shall keep 
>the
>barrier low.

Hmmm.  In that case, should Tramp be listed in the "Externally 
maintained packages" section of admin/MAINTAINERS at all?

The purpose of that section, and of the new material in 
CONTRIBUTE, is to make contributors be aware of the situations in 
which they *do* need to pay attention to the fact of external 
maintenance -- that is, situations in which contributors might 
need to do something differently from how one would normally do 
it.

In situations where they can just send their contribution to Emacs 
in the usual Emacs-y way, then there is no need for special 
documentation in the first place.

We could change "often" to "sometimes" in the above-quoted text, 
but I think it's worth asking if Tramp should even be listed, if 
Tramp is happy to receive contributions via the usual Emacs 
project route anyway.

>More important are compatibility restrictions. All of these 
>externally
>maintained packages have their policy, we shall advice potential
>contributors to respect them. Refer to the respective 
>Package-Requires:
>header line.
>
>> +Org Mode
>> +	Home Page: https://orgmode.org/
>> +	Maintainer: Org Mode developers
>
>The sync between org-mode and Emacs is performed by Kyle Meyer
><kyle@kyleam.com>, shall we mention him as the guy to be 
>contacted in
>case of?

IMHO Emacs should avoid duplicating documentation that's available 
from the upstream projects themselves.  We should just send people 
upstream to get the latest information, whether about 
compatibility guidelines or anything else.

In fact, I wasn't even sure about listing the Org Mode version 
control repository explicitly in the section I added; I only did 
it for consistency with the other similar sections.  Ideally, the 
contributor should just go look at orgmode.org (or whatever the 
appropriate upstream landing page is, for other packages) and 
follow the pointers there.

The reason I added the long note in the Org Mode section is that 
Org Mode's situation is unusually complex, and AFAIK it's not 
summarized like that -- i.e., from the GNU Emacs development point 
of view -- on Org Mode's own site.

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  9:03               ` Michael Albinus
@ 2022-01-10  9:13                 ` Karl Fogel
  2022-01-10  9:17                   ` Michael Albinus
  2022-01-10 11:01                   ` Robert Pluim
  0 siblings, 2 replies; 32+ messages in thread
From: Karl Fogel @ 2022-01-10  9:13 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Kyle Meyer, emacs-devel

On 10 Jan 2022, Michael Albinus wrote:
>PS: doc/misc/org.texi is a generated file, no need to mention it.

Interesting -- it is version-controlled, in both the Emacs and the 
Org Mode repositories:

  Emacs:     doc/misc/org.texi
  Org Mode:  doc/org.texi

(Currently, in the former it is the Org Mode 9.5 manual and in the 
latter it is the Org Mode 9.6 manual.)

Since it exists in both repositories, and is presumably part of 
the synchronization (even if only implicitly, by being regenerated 
independently on both sides after its sources are synchronized), 
maybe it should still be mentioned?

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  9:13                 ` Karl Fogel
@ 2022-01-10  9:17                   ` Michael Albinus
  2022-01-10 11:01                   ` Robert Pluim
  1 sibling, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2022-01-10  9:17 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kyle Meyer, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Since it exists in both repositories, and is presumably part of the
> synchronization (even if only implicitly, by being regenerated
> independently on both sides after its sources are synchronized), maybe
> it should still be mentioned?

Well, let the org people decide.

> Best regards,
> -Karl

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  9:06               ` Karl Fogel
@ 2022-01-10  9:24                 ` Michael Albinus
  2022-01-10 16:20                   ` Karl Fogel
  0 siblings, 1 reply; 32+ messages in thread
From: Michael Albinus @ 2022-01-10  9:24 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kyle Meyer, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

>> I'm not sure that this is always the case. For Tramp, I'm happy if
>> people refer to the Emacs repo files; sync with the upstream package
>> is
>> something contributors don't need to worry about. We shall keep the
>>barrier low.
>
> Hmmm.  In that case, should Tramp be listed in the "Externally
> maintained packages" section of admin/MAINTAINERS at all?

It is OK to be listed there. I just don't want to *urge* people to use
the Tramp repo, unless it is needed. And the information about Tramp's
bug tracker and backward compatibility (just pushed to the repo) makes
it worthwile.

> Best regards,
> -Karl

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  9:13                 ` Karl Fogel
  2022-01-10  9:17                   ` Michael Albinus
@ 2022-01-10 11:01                   ` Robert Pluim
  2022-01-10 16:10                     ` Karl Fogel
  1 sibling, 1 reply; 32+ messages in thread
From: Robert Pluim @ 2022-01-10 11:01 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kyle Meyer, Michael Albinus, emacs-devel

>>>>> On Mon, 10 Jan 2022 03:13:22 -0600, Karl Fogel <kfogel@red-bean.com> said:

    Karl> On 10 Jan 2022, Michael Albinus wrote:
    >> PS: doc/misc/org.texi is a generated file, no need to mention it.

    Karl> Interesting -- it is version-controlled, in both the Emacs and the Org
    Karl> Mode repositories:

    Karl>  Emacs:     doc/misc/org.texi
    Karl>  Org Mode:  doc/org.texi

It was version controlled in Emacs, but was deleted by fddd63f8. Of
course itʼs still in the git history.

Robert
-- 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10 11:01                   ` Robert Pluim
@ 2022-01-10 16:10                     ` Karl Fogel
  0 siblings, 0 replies; 32+ messages in thread
From: Karl Fogel @ 2022-01-10 16:10 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Kyle Meyer, Michael Albinus, emacs-devel

On 10 Jan 2022, Robert Pluim wrote:
>>>>>> On Mon, 10 Jan 2022 03:13:22 -0600, Karl Fogel 
>>>>>> <kfogel@red-bean.com> said:
>
>    Karl> On 10 Jan 2022, Michael Albinus wrote:
>    >> PS: doc/misc/org.texi is a generated file, no need to 
>    >> mention it.
>
>    Karl> Interesting -- it is version-controlled, in both the 
>    Emacs and the Org
>    Karl> Mode repositories:
>
>    Karl>  Emacs:     doc/misc/org.texi
>    Karl>  Org Mode:  doc/org.texi
>
>It was version controlled in Emacs, but was deleted by 
>fddd63f8. Of
>course itʼs still in the git history.

Oh, sigh, thanks.  Today I learned that using 'git log' is not the 
way to check if a file is *currently* versioned at a certain path. 
One should instead use

  $ git ls-files doc/misc/org.texi

or better yet

  $ git ls-files --error-unmatch doc/misc/org.texi

I'll take 'doc/misc/org.texi out of the change.

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10  9:24                 ` Michael Albinus
@ 2022-01-10 16:20                   ` Karl Fogel
  2022-01-10 18:24                     ` Eli Zaretskii
  0 siblings, 1 reply; 32+ messages in thread
From: Karl Fogel @ 2022-01-10 16:20 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Kyle Meyer, emacs-devel

On 10 Jan 2022, Michael Albinus wrote:
>>> I'm not sure that this is always the case. For Tramp, I'm 
>>> happy if
>>> people refer to the Emacs repo files; sync with the upstream 
>>> package
>>> is something contributors don't need to worry about. We shall 
>>> keep
>>> the barrier low.
>>
>> Hmmm.  In that case, should Tramp be listed in the "Externally
>> maintained packages" section of admin/MAINTAINERS at all?
>
>It is OK to be listed there. I just don't want to *urge* people 
>to use
>the Tramp repo, unless it is needed.

Hmm, but how will they know whether it is needed?  Perhaps the new 
"Notes" field in the Tramp entry could give some guidance on that.

The original goal of this change was to provide guidance to 
contributors who might otherwise waste time doing the wrong thing. 
For example, they might fail to check upstream to see if a bug has 
already been fixed there, or is being discussed there; or they 
might send a contribution to Emacs when really it should be sent 
somewhere else; etc.

So if there are circumstances in which contributors should worry 
about these possibilities for Tramp, then the Tramp entry in that 
file should explain what those circumstances are -- this is, after 
all, what the entry is for :-).

>And the information about Tramp's bug tracker and backward 
>compatibility (just pushed to the repo) makes it worthwile.

Got it.  So it sounds like the "Notes" field should give some 
advice about checking the upstream sources and bug tracker first, 
when trying to find out if a bug is already known/addressed.  And 
if you're happy to accept patches against the sources shipped in 
Emacs, even when those sources are slightly out-of-date with 
respect to what you have upstream, then "Notes" can say that too.

Thoughts?

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-09 22:34           ` Karl Fogel
  2022-01-10  8:46             ` Michael Albinus
@ 2022-01-10 18:14             ` Eli Zaretskii
  2022-01-10 19:08               ` Karl Fogel
  1 sibling, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-10 18:14 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Sun, 09 Jan 2022 16:34:16 -0600
> 
> --- CONTRIBUTE
> +++ CONTRIBUTE
> @@ -366,6 +366,24 @@ reasons.  These should be marked by including something like "Do not
>  merge to master" or anything that matches gitmerge-skip-regexp (see
>  admin/gitmerge.el) in the commit message.
>  
> +** Some packages in Emacs are maintained externally
> +
> +Sometimes a package that ships as part of GNU Emacs is maintained as a
> +separate project, with its own upstream repository, its own maintainer
> +group, its own development conventions, etc.  The upstream project's
> +code is periodically merged into Emacs (exactly when and how such
> +merges happen depends on the package).
> +
> +So when you are making a contribution -- such as fixing a bug or
> +proposing an enhancement -- to one of these externally maintained
> +packages, you often need to deal with that package at its upstream
> +source.
> +
> +See section "Externally maintained packages" in "admin/MAINTAINERS"
> +for a list of such packages.  If you discover an externally maintained
> +package in Emacs that is not yet listed there, please send in a patch
> +or just let us know.

This is okay, but I'd lose the last sentence: it isn't different from
saying "if you see something wrong in Emacs, please submit a patch".

> +Org Mode
> +	Home Page: https://orgmode.org/
> +	Maintainer: Org Mode developers
> +	Repository: git://git.sv.gnu.org/emacs/org-mode.git
> +	Mailing list: emacs-orgmode@gnu.org
> +	Bug Reports: M-x org-submit-bug-report
> +	Notes: Org Mode is maintained as a separate project that is
> +          periodically merged into Emacs.  To view or participate in
> +          Org Mode development, please go to https://orgmode.org/ and
> +          follow the instructions there.
> +
> +          The source code from the upstream Org Mode project is
> +          usually not identical to the version of Org Mode in Emacs.
> +          The upstream project often has recent changes that have not
> +          yet been merged into Emacs, and Emacs sometimes has local
> +          changes to Org Mode that have not yet been backported to
> +          upstream.  https://orgmode.org/worg/org-maintenance.html
> +          documents how the Org Mode project synchronizes changes with
> +          Emacs.
> +
> +          If you're investigating a bug you encountered in Org Mode in
> +          Emacs, you should obtain the latest upstream code and see if
> +          the bug is present there.  If the bug is present, then the
> +          upstream Org Mode project is the proper place to fix it.  If
> +          the bug is not present there, that could be because it has
> +          already been fixed upstream, or it could be because the bug
> +          was only introduced on the Emacs side and has not yet been
> +          backported upstream.  You will need to figure out what the
> +          situation is in order to know where to contribute your fix.

I'd lose the two last paragraphs.  They are not really needed for
people to report issues with Org.  If/when someone becomes intimately
involved with Org development, they will learn those aspects; but it
is not the job of CONTRIBUTE or MAINTAINERS to teach them that.

Thanks.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10 16:20                   ` Karl Fogel
@ 2022-01-10 18:24                     ` Eli Zaretskii
  2022-01-11  7:49                       ` Michael Albinus
  0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2022-01-10 18:24 UTC (permalink / raw)
  To: Karl Fogel; +Cc: kyle, michael.albinus, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Mon, 10 Jan 2022 10:20:27 -0600
> Cc: Kyle Meyer <kyle@kyleam.com>, emacs-devel@gnu.org
> 
> >And the information about Tramp's bug tracker and backward 
> >compatibility (just pushed to the repo) makes it worthwile.
> 
> Got it.  So it sounds like the "Notes" field should give some 
> advice about checking the upstream sources and bug tracker first, 
> when trying to find out if a bug is already known/addressed.  And 
> if you're happy to accept patches against the sources shipped in 
> Emacs, even when those sources are slightly out-of-date with 
> respect to what you have upstream, then "Notes" can say that too.

IMO, that'd be in the "too much information" department.

We don't need to say everything there, just enough for the people to
know how to handle a bug report without wasting their time and ours.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10 18:14             ` Eli Zaretskii
@ 2022-01-10 19:08               ` Karl Fogel
  0 siblings, 0 replies; 32+ messages in thread
From: Karl Fogel @ 2022-01-10 19:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On 10 Jan 2022, Eli Zaretskii wrote:
>> +See section "Externally maintained packages" in 
>> "admin/MAINTAINERS"
>> +for a list of such packages.  If you discover an externally 
>> maintained
>> +package in Emacs that is not yet listed there, please send in 
>> a patch
>> +or just let us know.
>
>This is okay, but I'd lose the last sentence: it isn't different 
>from
>saying "if you see something wrong in Emacs, please submit a 
>patch".

Okay.  I'll commit with changes as noted previously in this thread 
and in this email.  I may change the wording of the previous 
sentence above to somehow express the point that the list in 
admin/MAINTAINERS is not guaranteed to be complete.

>> +Org Mode
>> +	Home Page: https://orgmode.org/
>> +	Maintainer: Org Mode developers
>> +	Repository: git://git.sv.gnu.org/emacs/org-mode.git
>> +	Mailing list: emacs-orgmode@gnu.org
>> +	Bug Reports: M-x org-submit-bug-report
>> +	Notes: Org Mode is maintained as a separate project that 
>> is
>> +          periodically merged into Emacs.  To view or 
>> participate in
>> +          Org Mode development, please go to 
>> https://orgmode.org/ and
>> +          follow the instructions there.
>> +
>> +          The source code from the upstream Org Mode project 
>> is
>> +          usually not identical to the version of Org Mode in 
>> Emacs.
>> +          The upstream project often has recent changes that 
>> have not
>> +          yet been merged into Emacs, and Emacs sometimes has 
>> local
>> +          changes to Org Mode that have not yet been 
>> backported to
>> +          upstream. 
>> https://orgmode.org/worg/org-maintenance.html
>> +          documents how the Org Mode project synchronizes 
>> changes with
>> +          Emacs.
>> +
>> +          If you're investigating a bug you encountered in Org 
>> Mode in
>> +          Emacs, you should obtain the latest upstream code 
>> and see if
>> +          the bug is present there.  If the bug is present, 
>> then the
>> +          upstream Org Mode project is the proper place to fix 
>> it.  If
>> +          the bug is not present there, that could be because 
>> it has
>> +          already been fixed upstream, or it could be because 
>> the bug
>> +          was only introduced on the Emacs side and has not 
>> yet been
>> +          backported upstream.  You will need to figure out 
>> what the
>> +          situation is in order to know where to contribute 
>> your fix.
>
>I'd lose the two last paragraphs.  They are not really needed for
>people to report issues with Org.  If/when someone becomes 
>intimately
>involved with Org development, they will learn those aspects; but 
>it
>is not the job of CONTRIBUTE or MAINTAINERS to teach them that.

Okay.

>> Got it.  So it sounds like the "Notes" field should give some 
>> advice about checking the upstream sources and bug tracker 
>> first, 
>> when trying to find out if a bug is already known/addressed. 
>> And 
>> if you're happy to accept patches against the sources shipped 
>> in 
>> Emacs, even when those sources are slightly out-of-date with 
>> respect to what you have upstream, then "Notes" can say that 
>> too.
>
>IMO, that'd be in the "too much information" department.
>
>We don't need to say everything there, just enough for the people 
>to
>know how to handle a bug report without wasting their time and 
>ours.

We have different judgement about what type of information to 
include in these entries, but at this point the differences are 
small, and probably most contributors will be able to figure 
things out.  I'll eliminate those two paragraphs.

Thanks for the review, Eli.

Best regards,
-Karl



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Improving documentation of Org Mode integration into Emacs.
  2022-01-10 18:24                     ` Eli Zaretskii
@ 2022-01-11  7:49                       ` Michael Albinus
  0 siblings, 0 replies; 32+ messages in thread
From: Michael Albinus @ 2022-01-11  7:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, kyle, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> IMO, that'd be in the "too much information" department.
>
> We don't need to say everything there, just enough for the people to
> know how to handle a bug report without wasting their time and ours.

1+

Best regards, Michael.



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2022-01-11  7:49 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-04 21:14 Improving documentation of Org Mode integration into Emacs Karl Fogel
2021-12-04 21:18 ` Karl Fogel
2021-12-04 22:09 ` [External] : " Drew Adams
2021-12-05  5:16 ` Stefan Monnier
2021-12-05  6:38 ` Eli Zaretskii
2022-01-03  5:05   ` Karl Fogel
2022-01-03  5:44     ` Stefan Monnier
2022-01-05  3:09       ` Karl Fogel
2022-01-05 13:48         ` Eli Zaretskii
2022-01-05 14:17           ` Michael Albinus
2022-01-05 14:26             ` Eli Zaretskii
2022-01-06 12:40               ` Michael Albinus
2022-01-06 13:58                 ` Eli Zaretskii
2022-01-07 10:41                   ` Protesilaos Stavrou
2022-01-09 22:34           ` Karl Fogel
2022-01-10  8:46             ` Michael Albinus
2022-01-10  9:03               ` Michael Albinus
2022-01-10  9:13                 ` Karl Fogel
2022-01-10  9:17                   ` Michael Albinus
2022-01-10 11:01                   ` Robert Pluim
2022-01-10 16:10                     ` Karl Fogel
2022-01-10  9:06               ` Karl Fogel
2022-01-10  9:24                 ` Michael Albinus
2022-01-10 16:20                   ` Karl Fogel
2022-01-10 18:24                     ` Eli Zaretskii
2022-01-11  7:49                       ` Michael Albinus
2022-01-10 18:14             ` Eli Zaretskii
2022-01-10 19:08               ` Karl Fogel
2022-01-03  8:52     ` Michael Albinus
2022-01-03 12:06     ` Protesilaos Stavrou
2022-01-03 13:31     ` Eli Zaretskii
2022-01-03 20:45     ` Rudolf Adamkovič

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).