implement a feature listed in the etc/TODO file in the Emacs
distribution, and submit a patch.

implement a new feature, and submit a patch.

develop a package that works with Emacs, and publish it on your own
or in Gnu ELPA (https://elpa.gnu.org/).

port Emacs to a new platform, but that is not common nowadays.

If you would like to work on improving Emacs, please contact the maintainers at
the
emacs-devel mailing list.
You can ask for suggested projects or suggest your own ideas.

If you have already written an improvement, please tell us about it. If
you have not yet started work, it is useful to contact
emacs-devel
before you start; it might be possible to suggest ways to make your
extension fit in better with the rest of Emacs.

When implementing a feature, please follow the Emacs coding standards;
See Coding Standards. In addition, non-trivial contributions
require a copyright assignment to the FSF; See Copyright Assignment.

The development version of Emacs can be downloaded from the
repository where it is actively maintained by a group of developers.
See the Emacs project page
http://savannah.gnu.org/projects/emacs/ for access details.

It is important to write your patch based on the current working
version. If you start from an older version, your patch may be
outdated (so that maintainers will have a hard time applying it), or
changes in Emacs may have made your patch unnecessary. After you have
downloaded the repository source, you should read the file
INSTALL.REPO for build instructions (they differ to some extent
from a normal build).

If you would like to make more extensive contributions, see the
./CONTRIBUTE file in the Emacs distribution for information on
how to be an Emacs developer.