Subject: bug#76925: [PATCH] admin/notes/elpa: Add note on contributing to external packages

From: david <[email-masked]>
Date: Sun, 23 Mar 2025 07:45:45 -0400

Stefan Monnier <[email-masked]> writes:

>>> This commit adds a section to admin/notes/elpa documenting best practices
>>> for maintaining externally hosted GNU ELPA packages.  It covers contribution
>>> guidelines, copyright assignment, and synchronization with elpa.git, while
>>> emphasizing a collaborative and relaxed approach to package maintenance.
>
> I don't understand this.  Who is this for?  What problem does it aim to solve?
> Why hide it in that location?
>
>
>         Stefan "who hasn't looked at the presumably preceding discussion
>                 in emacs-devel"

This discussion started on emacs-devel but was moved here to
bug-gnu-emacs for further review and tracking.  If you think this
information should also go elsewhere, I'm happy to do that.  However, I
don't believe admin/notes/elpa is a hidden location for Emacs
developers.

This addition to admin/notes/elpa targets developers maintaining
externally hosted GNU ELPA packages, especially newcomers.  It provides
guidance on contributions, copyright assignment, and synchronization
with elpa.git, ensuring compliance with GNU ELPA policies.

Related questions that may arise:

- Can GNU ELPA packages be developed in unofficial repositories,
  potentially violating GNU Emacs policies?  (Yes: some packages stop
  updating in GNU ELPA but continue in unofficial repos, detaching them
  from GNU Emacs if added to `package-archives`.)

- Can Emacs recommend updates for GNU ELPA packages from NonGNU ELPA or
  unofficial archives?  (Yes: I've seen built-in packages that can be
  updated—as long as the archive is added to `package-archives`—from
  unofficial repositories, bypassing GNU ELPA policies.  Ideally,
  development should continue in GNU ELPA, and a warning should be shown
  when a built-in package or a package originally from GNU ELPA is
  proposed to be updated from outside GNU ELPA.)

- Are these cases considered policy violations for packages in GNU ELPA?

The proposed section in the Emacs developer notes aims to address these
questions in a general sense, providing guidance for new developers on
these topics.  When GNU ELPA policies are violated—or could be violated,
such as by accepting a pull request or incorporating code that is not
under FSF copyright—Emacs maintainers and developers will have the
clarity and guidelines needed to take appropriate action and defend GNU
Emacs' interests.