GNU ELPA
elpa.gnu.org
Spec sheet
- What it does
- GNU ELPA is the default package repository for GNU Emacs and distributes Emacs Lisp extensions separately from the core editor.Read 15 Oct 2026 · elpa.gnu.org
- Purpose
- GNU ELPA is the default package repository for GNU Emacs.Read 4 Oct 2026 · elpa.gnu.org
- Security
- The contribution page warns that a package can pose a security risk if its maintainer’s repository access is compromised.Read 4 Oct 2026 · elpa.gnu.org
- Support
- The site directs users to report bugs with `M-x report-emacs-bug` and suggests the help-gnu-emacs mailing list for help.Read 4 Oct 2026 · elpa.gnu.org
- Archive format
- An archive is a web-accessible directory containing single-file Lisp packages or tar files with multiple files.Read 15 Oct 2026 · gnu.org
- Build and releases
- The build server regularly synchronizes package repositories and releases a new version when a commit changes the package’s Version header.Read 4 Oct 2026 · elpa.gnu.org
- Build extensibility
- Package specifications support custom documentation files, NEWS files, build targets, shell commands, version maps and branch selection.Read 15 Oct 2026 · github.com
- Completion integrations
- The cape package provides completion-at-point backends and adapters for Company, Corfu and Emacs's default completion UI.Read 15 Oct 2026 · elpa.gnu.org
- Contribution channel
- Prospective contributors are asked to email emacs-devel with a package description, public repository link and preferred GNU or NonGNU archive.Read 15 Oct 2026 · elpa.gnu.org
- Contributor requirement
- All significant past and present contributors to GNU ELPA packages must sign the FSF copyright assignment.Read 4 Oct 2026 · elpa.gnu.org
- Copyright assignment
- Significant past and present contributors to GNU ELPA packages must assign copyright to the Free Software Foundation.Read 15 Oct 2026 · elpa.gnu.org
- Dependency handling
- Emacs automatically downloads required dependencies when installing a package, stopping if a required dependency is unavailable.Read 15 Oct 2026 · gnu.org
- Development archive
- GNU ELPA publishes a separate GNU-devel ELPA archive for development or bleeding-edge package versions.Read 15 Oct 2026 · elpa.gnu.org
- Free software criterion
- A package’s core functionality must work on a system using only free software, subject to case-by-case exceptions.Read 4 Oct 2026 · elpa.gnu.org
- 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.Read 15 Oct 2026 · emacsredux.com
- Independent praise: official status
- Emacs Redux describes GNU ELPA as the official Emacs package repository and notes that some packages are bundled with Emacs.Read 15 Oct 2026 · emacsredux.com
- 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.Read 15 Oct 2026 · gnu.org
- Install location
- Installed packages are placed under the package-user-dir directory, which defaults to ~/.emacs.d/elpa/.Read 15 Oct 2026 · gnu.org
- Installation command
- Users can browse and install packages from inside Emacs with M-x list-packages.Read 15 Oct 2026 · elpa.gnu.org
- License policy
- Submitted packages must use a GPL-compatible license, with GPLv3 or later preferred.Read 15 Oct 2026 · elpa.gnu.org
- Limit: contributor burden
- Emacs Redux reports that copyright paperwork, the ELPA repository workflow and the Emacs bug tracker discourage many outside contributors.Read 15 Oct 2026 · emacsredux.com
- 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.Read 15 Oct 2026 · reddit.com
- 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.Read 15 Oct 2026 · reddit.com
- 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.Read 15 Oct 2026 · reddit.com
- Limit: smaller catalog
- Emacs Redux reported GNU ELPA hosting about 280 packages at the time, far fewer than MELPA's roughly 5,000 packages.Read 15 Oct 2026 · emacsredux.com
- Local hosting
- The repository documentation describes deploying a locally hosted archive by generating archive files and serving the archive directory over HTTP.Read 15 Oct 2026 · github.com
- Maintainer compromise risk
- GNU ELPA's contribution page states that a compromised package maintainer repository can create a security risk for users.Read 15 Oct 2026 · elpa.gnu.org
- Maker headquarters
- The Free Software Foundation lists its mailing address in Boston, Massachusetts 02196.Read 15 Oct 2026 · fsf.org
- Maker history
- The Free Software Foundation was created in 1985 as a tax-exempt charity supporting free software development.Read 15 Oct 2026 · gnu.org
- Mirror cadence
- The independent emacsmirror repository describes itself as a GNU ELPA mirror updated hourly.Read 15 Oct 2026 · github.com
- Notable repository date
- The mirrored GNU ELPA README is dated 2026-01-12 and identifies the repository as containing archive sources, deployment scripts and auxiliary files.Read 15 Oct 2026 · github.com
- OAuth2 package
- The oauth2 package implements OAuth 2.0 and exposes functions for obtaining, storing and refreshing access tokens.Read 15 Oct 2026 · elpa.gnu.org
- Org package
- The Org package provides notes, document authoring, computational notebooks, literate programming, to-do lists and project planning in plain text.Read 15 Oct 2026 · elpa.gnu.org
- Package access
- Users can browse packages or use `M-x list-packages` in Emacs.Read 4 Oct 2026 · elpa.gnu.org
- Package archives setting
- Emacs selects archives through the package-archives variable, whose default list includes GNU ELPA and NonGNU ELPA.Read 15 Oct 2026 · gnu.org
- Package browsing
- The archive publishes a web index listing package names, versions, descriptions and ranking percentages.Read 15 Oct 2026 · elpa.gnu.org
- Package installation
- Packages can be installed in Emacs with `package-install` or `list-packages`.Read 4 Oct 2026 · elpa.gnu.org
- Package metadata
- Individual package pages can show descriptions, maintainers, upstream websites, dependencies, release files, news and manuals.Read 15 Oct 2026 · elpa.gnu.org
- Package pages
- Each accepted package gets a page that can include its description, recent releases, changelog preview, and rendered manual.Read 4 Oct 2026 · elpa.gnu.org
- Package scope
- The archive lists packages with versions and descriptions.Read 4 Oct 2026 · elpa.gnu.org
- Package signing
- The GNU package archive public key is shipped with Emacs in etc/package-keyring.gpg for signature checking.Read 15 Oct 2026 · gnu.org
- Project package
- The project package supplies generic infrastructure for detecting projects and listing project files, ignored paths and external roots.Read 15 Oct 2026 · elpa.gnu.org
- Security exposure
- The documentation warns that installed packages can execute arbitrary code with the installing user's permissions.Read 15 Oct 2026 · gnu.org
- Source layout
- The public repository keeps package specifications on the main branch, package code in package branches and deployment scripts in an elpa-admin branch.Read 15 Oct 2026 · github.com
- Submission
- Package submissions are sent by email to the emacs-devel mailing list with a description, public Git repository link, and preferred archive.Read 4 Oct 2026 · elpa.gnu.org
- Submission requirements
- The build system requires package conventions including a version number, dependency declarations and an author or maintainer email address.Read 15 Oct 2026 · elpa.gnu.org
Plans and prices
GNU ELPA Free Free GNU Emacs packages · GPL-compatible licensing · FSF copyright assignment for significant contributors Read 15 Oct 2026 · elpa.gnu.org
Where Specifiction places it
- Package Registries#8 of 288.6