A Fediverse Enhancement Proposal (FEP) is a document that provides information to the Fediverse community. The goal of a FEP is to improve interoperability and well-being of diverse services, applications and communities that form the Fediverse.
This document describes the scope, format and process of publishing Fediverse Enhancement Proposals.
A Fediverse Enhancement Proposal (FEP) should be a concise and focused documentation of a specific topic that is of interest to the Fediverse community.
A proposal should always have the intention of improving the interoperability and well-being of diverse services, applications and community of the Fediverse.
The Fediverse includes applications, services and communities using the ActivityPub protocol and other protocols that foster decentralized and diverse social media and culture.
Proposals may include descriptions of technical protocols and mechanism, documentation of experimental work or current best practices.
Proposals are not limited to technical topics and may focus on social and cultural aspects.
Proposals may be entertaining and humorous (unlike this proposal).
All Fediverse Enhancement Proposals must be written in English, be properly formatted as CommonMark [CommonMark] and be reasonably grammatical.
Authors should use inclusive language and examples and refrain from using oppressive terminology [Internet-Draft-terminology].
Every Fediverse Enhancement Proposals must have a descriptive title.
An identifier is computed from the proposal title as the first 4 digits of the sha256 hash (in hex). The identifier can be computed from the title with standard Unix tools:
$ echo -n "The Fediverse Enhancement Proposal Process" | sha256sum | cut -c-4 a4ed
By using the hash of the title as identifier we reduce the burden on editors to assign unique ids. This requires proposal titles to be unique.
Proposal metadata is placed at the top of the document as key-value pairs between opening and closing ~---~.
Following metadata key-value pairs may be placed at the top of a proposal:
authors: A comma separated list of authors of the proposal.
status: Indicates the proposal status. Can be either
dateReceived: Date of when the proposal was added to the repository (when status is set to
dateWithdrawn: Date of when the proposal status was set to
WITHDRAWN(only for proposals with status
dateFinalized: Date of when the proposal status was set to
FINAL(only for proposals with status
relatedFeps: A comma separated list of related FEPs (e.g.
FEP-a4ed, FEP-141a, FEP-686f).
Future FEPs may specify additional metadata fields.
Every FEP should include at least the following sections:
Following sections may be included in a proposal:
Fediverse Enhancement Proposals must be placed in the public domain by the authors with a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication.
+-------+ +-------> | FINAL | | +-------+ +-------+ | -------->| DRAFT | --------+ +-------+ | ^ | +-----------+ | +-------> | WITHDRAWN | | +-----------+ | | +-----------------------------+
SUBMISSION.mdfile for a list of accepted submission methods.
DRAFTand is added to the repository.
FINALcan not be changed or updated.
WITHDRAWNremains in the repository and can be resubmitted.
A list of editors is maintained in the
EDITORS.md file at the root of the FEP repository.
A list of methods in which a proposal may be submitted is maintained in the
SUBMISSION.md file at the root of the FEP repository.
The process and format described in this proposal is influenced by other community driven documentation efforts such as the BitTorrent Enhancement Proposal Process [BEP-1], Scheme Request for Implementation [SRFI] and the IETF RFC Series [RFC-8729].
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.