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.
The FEP Process is an initiative of the SocialHub developer community, a liaison of the W3C Social Web Incubator Community Group.
Discovered this today. If you’re on the developer side of things or are interested in how the Fediverse / ActivityPub is being built and enhanced, take a look at this codeberg repo.



Hmm, how do you reconcile the fact that not all FEPs are applicable to all application types?
For example soft deletion is preferable but not required…
By separating core protocol requirements and optional features.
The guide has a section titled “Protocol features”:
https://codeberg.org/ap-next/ap-next/src/commit/f1ee497085f56cde9860b9417eba8cd05cd1522a/guide.md#protocol-features
This is a place where information about optional features is collected, and soft deletion FEP could be mentioned there. A formal specification could be structured in a similar way.
You could include “either x or y or z…” specifications in the unified documentation.
So “Either soft deletion is to be disabled as by default in which case [explain standard behavior], or it is to be enabled by [yadda yadda]…”
The single document is searchable and cross-referenced internally, making it better in many cases.