Freedom251 › Package Registries
GNU ELPA

What GNU ELPA is
GNU ELPA is the default package repository for GNU Emacs. Its web archive lets users browse packages, check their versions and descriptions, and install packages from within Emacs using `package-install` or `M-x list-packages`. Each accepted package has an individual page that can show its description, recent releases, a changelog preview, and a rendered manual. The archive is free, with a listed price of $0, and it has no free trial.
GNU ELPA sets conditions for package submissions. Packages must use a GPL-compatible license, with GPLv3 or later preferred, and their core functionality must work on a system using only free software, subject to case-by-case exceptions. Significant past and present contributors must sign the FSF copyright assignment. Submissions are emailed to the emacs-devel mailing list with a package description, public Git repository link, and preferred archive. A build server synchronizes package repositories and releases a new version when a commit changes the package’s Version header. The site points users to `M-x report-emacs-bug` for bug reports and the help-gnu-emacs mailing list for assistance. Its contribution guidance also notes that compromised access to a maintainer’s repository can put a package at risk.
Who it suits
GNU ELPA suits GNU Emacs users who want to browse and install packages through Emacs or the web. It also fits package contributors prepared to meet its licensing, free software, and FSF copyright assignment requirements.
What it does well
- Browse package versions and descriptions in the archive.
- Install packages from Emacs with `package-install` or `M-x list-packages`.
- Accepted packages can have release, changelog, and manual details.
- Free to use, with a listed price of $0.
What to know first
- No free trial is offered.
- Package contributors must meet licensing and copyright assignment requirements.
- Packages can face risk if maintainer repository access is compromised.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| GNU ELPA | Free · GNU Emacs packages · GPL-compatible licensing · FSF copyright assignment for significant contributors | Free |
As elpa.gnu.org lists them, read 15 Oct 2026. The maker's own page has the final word.
Getting started
- Open the GNU ELPA website to browse packages.
- In Emacs, run `M-x list-packages` to view the package list.
- Install a package with `package-install` or from the package list.
Verdict
Choose GNU ELPA if you use GNU Emacs and want its default package repository, with browsing and installation available through the web archive and Emacs commands. Contributors should be ready to meet its license and FSF assignment rules. Users seeking profiling or broader software package management should look elsewhere.
Questions
How much does GNU ELPA cost?
It is free, with a listed plan price of $0.
Is there a free trial?
No, GNU ELPA has no free trial.
How can I browse and install packages?
Browse the archive on the web or run `M-x list-packages` in Emacs. Install packages with `package-install` or from the package list.
What rules apply to submitted packages?
Packages must use a GPL-compatible license, ideally GPLv3 or later, and core functionality must work using only free software, subject to case-by-case exceptions. Significant past and present contributors must sign the FSF copyright assignment.
How do contributors submit a package?
Submissions are emailed to the emacs-devel mailing list with a description, a public Git repository link, and the preferred archive.
Where can users report bugs or ask for help?
The site directs users to `M-x report-emacs-bug` for bug reports and the help-gnu-emacs mailing list for assistance.
Facts from GNU ELPA's own pages
- Archive format
- An archive is a web-accessible directory containing single-file Lisp packages or tar files with multiple files. · gnu.org, 15 Oct 2026
- Build and releases
- The build server regularly synchronizes package repositories and releases a new version when a commit changes the package’s Version header. · elpa.gnu.org, 4 Oct 2026
- Build extensibility
- Package specifications support custom documentation files, NEWS files, build targets, shell commands, version maps and branch selection. · github.com, 15 Oct 2026
- Completion integrations
- The cape package provides completion-at-point backends and adapters for Company, Corfu and Emacs's default completion UI. · elpa.gnu.org, 15 Oct 2026
- Contribution channel
- Prospective contributors are asked to email emacs-devel with a package description, public repository link and preferred GNU or NonGNU archive. · elpa.gnu.org, 15 Oct 2026
- Contributor requirement
- All significant past and present contributors to GNU ELPA packages must sign the FSF copyright assignment. · elpa.gnu.org, 4 Oct 2026
- Copyright assignment
- Significant past and present contributors to GNU ELPA packages must assign copyright to the Free Software Foundation. · elpa.gnu.org, 15 Oct 2026
- Dependency handling
- Emacs automatically downloads required dependencies when installing a package, stopping if a required dependency is unavailable. · gnu.org, 15 Oct 2026
- Development archive
- GNU ELPA publishes a separate GNU-devel ELPA archive for development or bleeding-edge package versions. · elpa.gnu.org, 15 Oct 2026
- Free software criterion
- A package’s core functionality must work on a system using only free software, subject to case-by-case exceptions. · elpa.gnu.org, 4 Oct 2026
- Independent praise: built-in ecosystem
- Emacs Redux highlights that GNU ELPA packages such as cl-lib, eldoc and xref originated with Emacs development and integrate closely with the editor. · emacsredux.com, 15 Oct 2026
- Independent praise: official status
- Emacs Redux describes GNU ELPA as the official Emacs package repository and notes that some packages are bundled with Emacs. · emacsredux.com, 15 Oct 2026
- Independent security observation
- The Emacs manual says archive packages should be trusted because installing them can run code with the user's permissions, and recommends cryptographic signing to improve security. · gnu.org, 15 Oct 2026
- Installation command
- Users can browse and install packages from inside Emacs with M-x list-packages. · elpa.gnu.org, 15 Oct 2026
- Install location
- Installed packages are placed under the package-user-dir directory, which defaults to ~/.emacs.d/elpa/. · gnu.org, 15 Oct 2026
- License policy
- Submitted packages must use a GPL-compatible license, with GPLv3 or later preferred. · elpa.gnu.org, 15 Oct 2026
- Limit: contributor burden
- Emacs Redux reports that copyright paperwork, the ELPA repository workflow and the Emacs bug tracker discourage many outside contributors. · emacsredux.com, 15 Oct 2026
- Limit: outages
- Reddit users reported GNU ELPA and related GNU sites being unreachable for hours during a June 2024 incident, with packet loss and 443 errors. · reddit.com, 15 Oct 2026
- Limit: package freshness complaint
- A Reddit user reported that an older Magit package in ELPA caused compatibility problems and that switching to MELPA resolved the installation issue. · reddit.com, 15 Oct 2026
- Limit: refresh hangs
- A Reddit report describes package-refresh-contents hanging indefinitely on Debian 11 while accessing GNU and NonGNU ELPA, with IPv6 or site connectivity suspected. · reddit.com, 15 Oct 2026
- Limit: smaller catalog
- Emacs Redux reported GNU ELPA hosting about 280 packages at the time, far fewer than MELPA's roughly 5,000 packages. · emacsredux.com, 15 Oct 2026
- Local hosting
- The repository documentation describes deploying a locally hosted archive by generating archive files and serving the archive directory over HTTP. · github.com, 15 Oct 2026
- Maintainer compromise risk
- GNU ELPA's contribution page states that a compromised package maintainer repository can create a security risk for users. · elpa.gnu.org, 15 Oct 2026
- Maker headquarters
- The Free Software Foundation lists its mailing address in Boston, Massachusetts 02196. · fsf.org, 15 Oct 2026
Where GNU ELPA stands on Freedom251
- Package Registries#2 of 28