Fediverse Enhancement Proposals
Find a file
silverpill 8f296b10a0
All checks were successful
ci/woodpecker/push/readme Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
FEP-ef61: Fix did:key link and update implementation list (#541)
Reviewed-on: #541
Co-authored-by: silverpill <[email protected]>
Co-committed-by: silverpill <[email protected]>
2025-03-25 14:45:50 +00:00
.woodpecker Fix Woodpecker config warning (#475) 2025-01-21 09:29:47 +00:00
fep FEP-ef61: Fix did:key link and update implementation list (#541) 2025-03-25 14:45:50 +00:00
feps FEP-5feb: Move to new directory and add to README 2023-09-06 13:52:11 +00:00
scripts Automatically add discussionTo link (#490) 2025-03-07 10:11:22 +00:00
.gitignore Fix the link in README.md (#135) 2023-07-19 14:40:31 +00:00
FACILITATORS.md FACILITATORS.md: Remove text about creating discussion topics (#411) 2024-11-09 17:27:01 +00:00
fep-xxxx-template.md FEP-a4ed: Authors create discussion topics (#322) 2024-08-10 09:39:38 +00:00
index.json Automatic update [skip ci] 2025-03-24 21:59:21 +00:00
LICENSE init 2020-10-06 17:57:15 +02:00
README.md Automatic update [skip ci] 2025-03-24 21:10:47 +00:00
SUBMISSION.md SUBMISSION: Move to codeberg.org. 2021-10-25 09:42:53 +02:00

Fediverse Enhancement Proposals

This is the Git repository containing Fediverse Enhancment Proposals (FEPs).

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. For ongoing and past discussion see the SocialHub FEP category.

Submitting a FEP

Do you have an idea, opinion or information that you want to share with the wider Fediverse community? You may do so with a Fediverse Enhancement Proposal (FEP).

To create and submit a FEP:

  1. Fork this repository, and then clone it to your local machine. Check the Codeberg Cheat sheet on how to prepare your Pull Request.
  2. Think of a title for the FEP you want to submit.
  3. Compute the identifier of the FEP by computing the hash of the title. This can be done with following Unix command:
$ echo -n "The title of my proposal" | sha256sum | cut -c-4
b3f0
  1. Create a subdirectory of fep/ using the identifier you just computed.

  2. Copy the FEP template (fep-xxxx-template.md) to this subdirectory and change the filename appropriately.

  3. Use the identifer as the "slug" when filling out the frontmatter.

    • For example, if your computed identifier was abcd, then your file would be located at fep/abcd/fep-abcd.md and your frontmatter would include slug: "abcd".
  4. Write down your idea in the newly created file and commit it to a new branch in your repository (ex. fep-xxxx).

  5. When you are ready to submit the FEP, change the value of dateReceived field in the frontmatter to the current date.

  6. Create a discussion topic for your FEP. You can use ActivityPub category on the SocialHub forum.

  7. Add discussionsTo field containing the URL of the discussion topic to the front matter of your FEP.

  8. Create a Pull Request to complete Step 1 of FEP-a4ed: The Fediverse Enhancement Proposal Process. Further process is described in FEP-a4ed.

Alternatively to steps 3. to 6., you can run

./scripts/new_proposal.py TITLE OF YOUR PROPOSAL

that should create a prefilled template for you.

Facilitators

The list of FEP's is maintained by the facilitators who are listed in the FACILITATORS.md file. Facilitators are neutral custodians of the FEP process, who merge PR's and create tracking issues.

Contributing

Do you have ideas to improve the FEP Process? Post your suggestions to the issue tracker, or on the SocialHub forum. The SocialHub developer community is a "DoOcracy" which means: “pick up any task you want, and then steer it to completion”. Your contributions are most welcome, so delve in and find out how you can help.

FEPs

Title Status Tracking issue dateReceived dateFinalized (or dateWithdrawn)
FEP-a4ed: The Fediverse Enhancement Proposal Process FINAL #201 2020-10-16 2021-01-18
FEP-8fcf: Followers collection synchronization across servers FINAL #6 2020-10-24 2022-02-07
FEP-f1d5: NodeInfo in Fediverse Software FINAL #50 2020-12-13 2023-06-02
FEP-400e: Publicly-appendable ActivityPub collections FINAL #5 2021-02-16 2022-02-04
FEP-8c3f: Web Monetization WITHDRAWN #3 2022-01-18 2023-10-27
FEP-2100: Unbound Group and Organization DRAFT #36 2022-03-31 -
FEP-e232: Object Links FINAL #14 2022-08-01 2023-12-03
FEP-5624: Per-object reply control policies DRAFT #18 2022-08-23 -
FEP-1b12: Group federation FINAL #22 2022-11-12 2023-02-09
FEP-8b32: Object Integrity Proofs DRAFT #29 2022-11-12 -
FEP-c390: Identity Proofs DRAFT #34 2022-11-23 -
FEP-cb76: Content Addressed Vocabulary DRAFT #41 2022-11-29 -
FEP-fb2a: Actor metadata DRAFT #45 2022-12-09 -
FEP-c118: Content licensing support DRAFT #57 2023-01-16 -
FEP-2e40: The FEP Vocabulary Extension Process WITHDRAWN #62 2023-02-13 2023-09-04
FEP-7888: Demystifying the context property DRAFT #68 2023-03-14 -
FEP-d767: Extend ActivityPub with Valueflows WITHDRAWN #76 2023-04-02 2024-02-03
FEP-5bf0: Collection sorting and filtering DRAFT #80 2023-04-10 -
FEP-888d: Using https://w3id.org/fep as a base for FEP-specific namespaces DRAFT #83 2023-04-10 -
FEP-0ea0: Payment Links DRAFT #88 2023-04-18 -
FEP-612d: Identifying ActivityPub Objects through DNS DRAFT #89 2023-04-18 -
FEP-fffd: Proxy Objects DRAFT #95 2023-04-29 -
FEP-4adb: Dereferencing identifiers with webfinger DRAFT #100 2023-05-13 -
FEP-a070: Ordered properties for plain JSON consumers DRAFT #121 2023-06-13 -
FEP-c648: Blocked Collection DRAFT #123 2023-06-14 -
FEP-bad1: Object history collection DRAFT #124 2023-06-15 -
FEP-4ccd: Pending Followers Collection and Pending Following Collection DRAFT #129 2023-06-21 -
FEP-d36d: Sharing Content Across Federated Forums DRAFT #125 2023-07-01 -
FEP-1970: Chat Links DRAFT #128 2023-07-04 -
FEP-521a: Representing actor's public keys DRAFT #130 2023-07-08 -
FEP-ae97: Client-side activity signing DRAFT #148 2023-08-14 -
FEP-0837: Federated Marketplace DRAFT #147 2023-08-17 -
FEP-67ff: FEDERATION.md FINAL #157 2023-09-05 2024-09-22
FEP-5feb: Search indexing consent for actors DRAFT #154 2023-09-06 -
FEP-dc88: Formatting Mathematics DRAFT #161 2023-09-12 -
FEP-d8c2: OAuth 2.0 Profile for the ActivityPub API DRAFT #165 2023-09-17 -
FEP-7628: Move actor DRAFT #168 2023-09-20 -
FEP-07d7: A Custom URL Scheme and Web-Based Protocol Handlers for Linking to ActivityPub Resources DRAFT #171 2023-09-22 -
FEP-37f2: a policy for calls for consensus on SWICG group decisions DRAFT #184 2023-09-28 -
FEP-2677: Identifying the Application Actor DRAFT #190 2023-10-14 -
FEP-03c1: Actors without acct-URI DRAFT #205 2023-11-10 -
FEP-ef61: Portable Objects DRAFT #209 2023-12-06 -
FEP-7502: Limiting visibility to authenticated actors DRAFT #218 2023-12-24 -
FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor DRAFT #226 2024-01-04 -
FEP-d556: Server-Level Actor Discovery Using WebFinger FINAL #243 2024-01-20 2025-03-15
FEP-3264: Federated Work Coordination DRAFT #255 2024-01-31 -
FEP-c5a1: To-do's DRAFT #256 2024-01-31 -
FEP-61cf: The OpenWebAuth Protocol DRAFT #263 2024-02-06 -
FEP-73cd: Migration User Stories DRAFT #265 2024-02-07 -
FEP-96ff: Explicit signalling of ActivityPub Semantics DRAFT #272 2024-02-17 -
FEP-6481: Specifying ActivityPub extension support with NodeInfo WITHDRAWN #279 2024-03-12 2024-10-31
FEP-9fde: Mechanism for servers to expose supported operations DRAFT #282 2024-03-14 -
FEP-e229: Best practices for extensibility DRAFT #293 2024-04-02 -
FEP-3b86: Activity Intents DRAFT #302 2024-04-19 -
FEP-7458: Using the replies collection DRAFT #307 2024-04-26 -
FEP-0391: Special collection proofs DRAFT #310 2024-04-29 -
FEP-db0e: Authentication mechanism for non-public groups DRAFT #313 2024-05-03 -
FEP-cd47: Federation-friendly Addressing and Deduplication Use-Cases DRAFT #319 2024-05-31 -
FEP-c7d3: Ownership WITHDRAWN #323 2024-06-04 2025-02-21
FEP-5e53: Opt-out Preference Signals DRAFT #327 2024-06-09 -
FEP-7952: Roadmap For Actor and Object Portability DRAFT #435 2024-06-20 -
FEP-e3e9: Actor-Relative URLs DRAFT #346 2024-06-29 -
FEP-d9ad: Create Conformance Tests for Fediverse Enhancement Proposals DRAFT #350 2024-07-02 -
FEP-e965: Move Activity for Migrations and Announce Activity for Tombstone Events DRAFT #352 2024-07-05 -
FEP-9091: Export Actor Service Endpoint DRAFT #358 2024-07-08 -
FEP-6fcd: Account Export Container Format DRAFT #357 2024-07-11 -
FEP-c551: Use ECMAScript Modules to Create Conformance Tests for Fediverse Enhancement Proposals DRAFT #366 2024-07-11 -
FEP-a5c5: Web Syndication Methods DRAFT #368 2024-07-15 -
FEP-c4ad: Viewership History DRAFT #367 2024-07-15 -
FEP-c893: DOAP DRAFT #372 2024-07-15 -
FEP-eb48: Hashtags DRAFT #373 2024-07-16 -
FEP-eb22: Supported ActivityStreams types with NodeInfo DRAFT #386 2024-07-25 -
FEP-c0e0: Emoji reactions DRAFT #384 2024-08-08 -
FEP-c16b: Formatting MFM functions DRAFT #383 2024-08-10 -
FEP-0499: Delivering to multiple inboxes with a multibox endpoint DRAFT #402 2024-09-30 -
FEP-76ea: Conversation Threads DRAFT #407 2024-10-04 -
FEP-1985: Signaling how an OrderedCollection is ordered DRAFT #417 2024-10-10 -
FEP-268d: Search consent signals for objects DRAFT #421 2024-10-12 -
FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub FINAL #424 2024-10-19 2025-03-14
FEP-b2b8: Long-form Text DRAFT #441 2024-11-07 -
FEP-fe34: Origin-based security model DRAFT #445 2024-11-15 -
FEP-171b: Conversation Containers DRAFT #449 2024-11-23 -
FEP-6606: ActivityPub client to server collections addressing conventions DRAFT #453 2024-12-04 -
FEP-1311: Media Attachments DRAFT #459 2024-12-08 -
FEP-7d8c: Documentation: Automation of FEP DRAFT #470 2025-01-20 -
FEP-9967: Polls DRAFT #478 2025-01-23 -
FEP-2277: ActivityPub core types DRAFT #485 2025-01-31 -
FEP-a974: All Actor types should be followable DRAFT #487 2025-02-05 -
FEP-efda: Followable objects DRAFT #492 2025-02-13 -
FEP-f228: Backfilling conversations DRAFT #500 2025-02-17 -
FEP-f06f: Object observers DRAFT #503 2025-02-18 -
FEP-dd4b: Quote Posts DRAFT #511 2025-02-21 -
FEP-c180: Problem Details for ActivityPub DRAFT #531 2025-03-11 -
FEP-2931: Representing context with a Collection DRAFT #534 2025-03-22 -
FEP-5711: Inverse Properties for Collections DRAFT #539 2025-03-24 -

License

CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

To the extent possible under law, the authors of this document have waived all copyright and related or neighboring rights to this work.