2020-10-05 19:37:20 +02:00
# Fediverse Enhancement Proposals
2023-12-07 15:36:01 +01:00
<!-- DO NOT EDIT! File automatically generated with `./scripts/create_readme.py` . -->
2023-07-06 14:26:44 +02:00
2020-10-05 19:37:20 +02:00
This is the Git repository containing Fediverse Enhancment Proposals (FEPs).
2020-10-16 14:05:03 +02:00
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-be ing of diverse services, applications and communities that form the Fediverse.
2020-10-05 19:37:20 +02:00
2023-04-09 22:00:45 +00:00
The FEP Process is an initiative of the [SocialHub ](https://socialhub.activitypub.rocks ) developer community, a liaison of the [W3C Social Web Incubator Community Group ](https://www.w3.org/community/SocialCG/ ). For ongoing and past discussion see the [SocialHub FEP category ](https://socialhub.activitypub.rocks/c/standards/fep/54 ).
## FEPs
2021-01-04 08:29:20 +01:00
2023-07-06 14:26:44 +02:00
<!-- TODO: This table is not CommonMark (as specified by FEP-a4ed) and requires maintenance. -->
2021-01-04 08:29:20 +01:00
| Title | Status | Tracking issue | `dateReceived` | `dateFinalized` (or `dateWithdrawn` ) |
| --- | --- | ----- | ------- | ------ |
2024-01-19 20:22:52 +00:00
| [FEP-a4ed: The Fediverse Enhancement Proposal Process ](./fep/a4ed/fep-a4ed.md ) | `FINAL` | [#201 ](https://codeberg.org/fediverse/fep/issues/201 ) | 2020-10-16 | 2021-01-18 |
| [FEP-8fcf: Followers collection synchronization across servers ](./fep/8fcf/fep-8fcf.md ) | `FINAL` | [#6 ](https://codeberg.org/fediverse/fep/issues/6 ) | 2020-10-24 | 2022-02-07 |
| [FEP-f1d5: NodeInfo in Fediverse Software ](./fep/f1d5/fep-f1d5.md ) | `FINAL` | [#50 ](https://codeberg.org/fediverse/fep/issues/50 ) | 2020-12-13 | 2023-06-02 |
| [FEP-400e: Publicly-appendable ActivityPub collections ](./fep/400e/fep-400e.md ) | `FINAL` | [#5 ](https://codeberg.org/fediverse/fep/issues/5 ) | 2021-02-16 | 2022-02-04 |
| [FEP-8c3f: Web Monetization ](./fep/8c3f/fep-8c3f.md ) | `WITHDRAWN` | [#3 ](https://codeberg.org/fediverse/fep/issues/3 ) | 2022-01-18 | 2023-10-27 |
| [FEP-2100: Unbound Group and Organization ](./fep/2100/fep-2100.md ) | `DRAFT` | [#36 ](https://codeberg.org/fediverse/fep/issues/36 ) | 2022-03-31 | - |
| [FEP-e232: Object Links ](./fep/e232/fep-e232.md ) | `FINAL` | [#14 ](https://codeberg.org/fediverse/fep/issues/14 ) | 2022-08-01 | 2023-12-03 |
| [FEP-5624: Per-object reply control policies ](./fep/5624/fep-5624.md ) | `DRAFT` | [#18 ](https://codeberg.org/fediverse/fep/issues/18 ) | 2022-08-23 | - |
| [FEP-1b12: Group federation ](./fep/1b12/fep-1b12.md ) | `FINAL` | [#22 ](https://codeberg.org/fediverse/fep/issues/22 ) | 2022-11-12 | 2023-02-09 |
| [FEP-8b32: Object Integrity Proofs ](./fep/8b32/fep-8b32.md ) | `DRAFT` | [#29 ](https://codeberg.org/fediverse/fep/issues/29 ) | 2022-11-12 | - |
| [FEP-c390: Identity Proofs ](./fep/c390/fep-c390.md ) | `DRAFT` | [#34 ](https://codeberg.org/fediverse/fep/issues/34 ) | 2022-11-23 | - |
| [FEP-cb76: Content Addressed Vocabulary ](./fep/cb76/fep-cb76.md ) | `DRAFT` | [#41 ](https://codeberg.org/fediverse/fep/issues/41 ) | 2022-11-29 | - |
| [FEP-fb2a: Actor metadata ](./fep/fb2a/fep-fb2a.md ) | `DRAFT` | [#45 ](https://codeberg.org/fediverse/fep/issues/45 ) | 2022-12-09 | - |
| [FEP-c118: Content licensing support ](./fep/c118/fep-c118.md ) | `DRAFT` | [#57 ](https://codeberg.org/fediverse/fep/issues/57 ) | 2023-01-16 | - |
| [FEP-2e40: The FEP Vocabulary Extension Process ](./fep/2e40/fep-2e40.md ) | `WITHDRAWN` | [#62 ](https://codeberg.org/fediverse/fep/issues/62 ) | 2023-02-13 | 2023-09-04 |
| [FEP-7888: Demystifying the context property ](./fep/7888/fep-7888.md ) | `DRAFT` | [#68 ](https://codeberg.org/fediverse/fep/issues/68 ) | 2023-03-14 | - |
2024-02-06 20:35:53 +00:00
| [FEP-d767: Extend ActivityPub with Valueflows ](./fep/d767/fep-d767.md ) | `WITHDRAWN` | [#76 ](https://codeberg.org/fediverse/fep/issues/76 ) | 2023-04-02 | 2024-02-03 |
2024-01-19 20:22:52 +00:00
| [FEP-5bf0: Collection sorting and filtering ](./fep/5bf0/fep-5bf0.md ) | `DRAFT` | [#80 ](https://codeberg.org/fediverse/fep/issues/80 ) | 2023-04-10 | - |
| [FEP-888d: Using https://w3id.org/fep as a base for FEP-specific namespaces ](./fep/888d/fep-888d.md ) | `DRAFT` | [#83 ](https://codeberg.org/fediverse/fep/issues/83 ) | 2023-04-10 | - |
2024-04-20 16:10:29 +00:00
| [FEP-0ea0: Payment Links ](./fep/0ea0/fep-0ea0.md ) | `DRAFT` | [#88 ](https://codeberg.org/fediverse/fep/issues/88 ) | 2023-04-18 | - |
2024-06-03 21:12:43 +00:00
| [FEP-612d: Identifying ActivityPub Objects through DNS ](./fep/612d/fep-612d.md ) | `DRAFT` | [#89 ](https://codeberg.org/fediverse/fep/issues/89 ) | 2023-04-18 | - |
2024-01-19 20:22:52 +00:00
| [FEP-fffd: Proxy Objects ](./fep/fffd/fep-fffd.md ) | `DRAFT` | [#95 ](https://codeberg.org/fediverse/fep/issues/95 ) | 2023-04-29 | - |
| [FEP-4adb: Dereferencing identifiers with webfinger ](./fep/4adb/fep-4adb.md ) | `DRAFT` | [#100 ](https://codeberg.org/fediverse/fep/issues/100 ) | 2023-05-13 | - |
| [FEP-a070: Ordered properties for plain JSON consumers ](./fep/a070/fep-a070.md ) | `DRAFT` | [#121 ](https://codeberg.org/fediverse/fep/issues/121 ) | 2023-06-13 | - |
| [FEP-c648: Blocked Collection ](./fep/c648/fep-c648.md ) | `DRAFT` | [#123 ](https://codeberg.org/fediverse/fep/issues/123 ) | 2023-06-14 | - |
| [FEP-bad1: Object history collection ](./fep/bad1/fep-bad1.md ) | `DRAFT` | [#124 ](https://codeberg.org/fediverse/fep/issues/124 ) | 2023-06-15 | - |
| [FEP-4ccd: Pending Followers Collection and Pending Following Collection ](./fep/4ccd/fep-4ccd.md ) | `DRAFT` | [#129 ](https://codeberg.org/fediverse/fep/issues/129 ) | 2023-06-21 | - |
| [FEP-d36d: Sharing Content Across Federated Forums ](./fep/d36d/fep-d36d.md ) | `DRAFT` | [#125 ](https://codeberg.org/fediverse/fep/issues/125 ) | 2023-07-01 | - |
| [FEP-1970: Chat Links ](./fep/1970/fep-1970.md ) | `DRAFT` | [#128 ](https://codeberg.org/fediverse/fep/issues/128 ) | 2023-07-04 | - |
| [FEP-521a: Representing actor's public keys ](./fep/521a/fep-521a.md ) | `DRAFT` | [#130 ](https://codeberg.org/fediverse/fep/issues/130 ) | 2023-07-08 | - |
| [FEP-ae97: Client-side activity signing ](./fep/ae97/fep-ae97.md ) | `DRAFT` | [#148 ](https://codeberg.org/fediverse/fep/issues/148 ) | 2023-08-14 | - |
| [FEP-0837: Federated Marketplace ](./fep/0837/fep-0837.md ) | `DRAFT` | [#147 ](https://codeberg.org/fediverse/fep/issues/147 ) | 2023-08-17 | - |
| [FEP-67ff: FEDERATION.md ](./fep/67ff/fep-67ff.md ) | `DRAFT` | [#157 ](https://codeberg.org/fediverse/fep/issues/157 ) | 2023-09-05 | - |
| [FEP-5feb: Search indexing consent for actors ](./fep/5feb/fep-5feb.md ) | `DRAFT` | [#154 ](https://codeberg.org/fediverse/fep/issues/154 ) | 2023-09-06 | - |
| [FEP-dc88: Formatting Mathematics ](./fep/dc88/fep-dc88.md ) | `DRAFT` | [#161 ](https://codeberg.org/fediverse/fep/issues/161 ) | 2023-09-12 | - |
| [FEP-d8c2: OAuth 2.0 Profile for the ActivityPub API ](./fep/d8c2/fep-d8c2.md ) | `DRAFT` | [#165 ](https://codeberg.org/fediverse/fep/issues/165 ) | 2023-09-17 | - |
| [FEP-7628: Move actor ](./fep/7628/fep-7628.md ) | `DRAFT` | [#168 ](https://codeberg.org/fediverse/fep/issues/168 ) | 2023-09-20 | - |
| [FEP-07d7: A Custom URL Scheme and Web-Based Protocol Handlers for Linking to ActivityPub Resources ](./fep/07d7/fep-07d7.md ) | `DRAFT` | [#171 ](https://codeberg.org/fediverse/fep/issues/171 ) | 2023-09-22 | - |
| [FEP-37f2: a policy for calls for consensus on SWICG group decisions ](./fep/37f2/fep-37f2.md ) | `DRAFT` | [#184 ](https://codeberg.org/fediverse/fep/issues/184 ) | 2023-09-28 | - |
| [FEP-2677: Identifying the Application Actor ](./fep/2677/fep-2677.md ) | `DRAFT` | [#190 ](https://codeberg.org/fediverse/fep/issues/190 ) | 2023-10-14 | - |
| [FEP-03c1: Actors without acct-URI ](./fep/03c1/fep-03c1.md ) | `DRAFT` | [#205 ](https://codeberg.org/fediverse/fep/issues/205 ) | 2023-11-10 | - |
| [FEP-ef61: Portable Objects ](./fep/ef61/fep-ef61.md ) | `DRAFT` | [#209 ](https://codeberg.org/fediverse/fep/issues/209 ) | 2023-12-06 | - |
| [FEP-7502: Limiting visibility to authenticated actors ](./fep/7502/fep-7502.md ) | `DRAFT` | [#218 ](https://codeberg.org/fediverse/fep/issues/218 ) | 2023-12-24 | - |
| [FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor ](./fep/2c59/fep-2c59.md ) | `DRAFT` | [#226 ](https://codeberg.org/fediverse/fep/issues/226 ) | 2024-01-04 | - |
2024-01-27 18:59:44 +00:00
| [FEP-d556: Server-Level Actor Discovery Using WebFinger ](./fep/d556/fep-d556.md ) | `DRAFT` | [#243 ](https://codeberg.org/fediverse/fep/issues/243 ) | 2024-01-20 | - |
2024-01-31 21:03:46 +00:00
| [FEP-3264: Federated Work Coordination ](./fep/3264/fep-3264.md ) | `DRAFT` | [#255 ](https://codeberg.org/fediverse/fep/issues/255 ) | 2024-01-31 | - |
| [FEP-c5a1: To-do's ](./fep/c5a1/fep-c5a1.md ) | `DRAFT` | [#256 ](https://codeberg.org/fediverse/fep/issues/256 ) | 2024-01-31 | - |
2024-02-07 18:13:07 +00:00
| [FEP-61cf: The OpenWebAuth Protocol ](./fep/61cf/fep-61cf.md ) | `DRAFT` | [#263 ](https://codeberg.org/fediverse/fep/issues/263 ) | 2024-02-06 | - |
2024-02-08 18:18:28 +00:00
| [FEP-73cd: Migration User Stories ](./fep/73cd/fep-73cd.md ) | `DRAFT` | [#265 ](https://codeberg.org/fediverse/fep/issues/265 ) | 2024-02-07 | - |
2024-02-17 19:24:34 +00:00
| [FEP-96ff: Explicit signalling of ActivityPub Semantics ](./fep/96ff/fep-96ff.md ) | `DRAFT` | [#272 ](https://codeberg.org/fediverse/fep/issues/272 ) | 2024-02-17 | - |
2024-03-12 20:55:29 +00:00
| [FEP-6481: Specifying ActivityPub extension support with NodeInfo ](./fep/6481/fep-6481.md ) | `DRAFT` | [#279 ](https://codeberg.org/fediverse/fep/issues/279 ) | 2024-03-12 | - |
2024-03-15 00:11:08 +00:00
| [FEP-9fde: Mechanism for servers to expose supported operations ](./fep/9fde/fep-9fde.md ) | `DRAFT` | [#282 ](https://codeberg.org/fediverse/fep/issues/282 ) | 2024-03-14 | - |
2024-04-02 18:53:10 +00:00
| [FEP-e229: Best practices for extensibility ](./fep/e229/fep-e229.md ) | `DRAFT` | [#293 ](https://codeberg.org/fediverse/fep/issues/293 ) | 2024-04-02 | - |
2024-04-20 16:10:29 +00:00
| [FEP-3b86: Activity Intents ](./fep/3b86/fep-3b86.md ) | `DRAFT` | [#302 ](https://codeberg.org/fediverse/fep/issues/302 ) | 2024-04-19 | - |
2024-04-27 22:10:47 +00:00
| [FEP-7458: Using the replies collection ](./fep/7458/fep-7458.md ) | `DRAFT` | [#307 ](https://codeberg.org/fediverse/fep/issues/307 ) | 2024-04-26 | - |
2024-04-30 17:20:50 +00:00
| [FEP-0391: Special collection proofs ](./fep/0391/fep-0391.md ) | `DRAFT` | [#310 ](https://codeberg.org/fediverse/fep/issues/310 ) | 2024-04-29 | - |
2024-05-03 17:30:56 +00:00
| [FEP-db0e: Authentication mechanism for non-public groups ](./fep/db0e/fep-db0e.md ) | `DRAFT` | [#313 ](https://codeberg.org/fediverse/fep/issues/313 ) | 2024-05-03 | - |
2024-05-31 13:54:02 +00:00
| [FEP-cd47: Federation-friendly Addressing and Deduplication Use-Cases ](./fep/cd47/fep-cd47.md ) | `DRAFT` | [#319 ](https://codeberg.org/fediverse/fep/issues/319 ) | 2024-05-31 | - |
2024-06-07 00:53:04 +00:00
| [FEP-c7d3: Ownership ](./fep/c7d3/fep-c7d3.md ) | `DRAFT` | [#323 ](https://codeberg.org/fediverse/fep/issues/323 ) | 2024-06-04 | - |
2024-06-13 18:36:05 +00:00
| [FEP-5e53: Opt-out Preference Signals ](./fep/5e53/fep-5e53.md ) | `DRAFT` | [#327 ](https://codeberg.org/fediverse/fep/issues/327 ) | 2024-06-09 | - |
2024-06-29 13:39:18 +00:00
| [FEP-e3e9: Actor-Relative URLs ](./fep/e3e9/fep-e3e9.md ) | `DRAFT` | [#346 ](https://codeberg.org/fediverse/fep/issues/346 ) | 2024-06-29 | - |
2024-07-02 15:29:21 +00:00
| [FEP-d9ad: Create Conformance Tests for Fediverse Enhancement Proposals ](./fep/d9ad/fep-d9ad.md ) | `DRAFT` | [#350 ](https://codeberg.org/fediverse/fep/issues/350 ) | 2024-07-02 | - |
2024-07-06 14:42:30 +00:00
| [FEP-0f2a: Announce Activity for Migrations and Tombstone Events ](./fep/0f2a/fep-0f2a.md ) | `DRAFT` | [#352 ](https://codeberg.org/fediverse/fep/issues/352 ) | 2024-07-05 | - |
2024-07-12 21:52:59 +00:00
| [FEP-9091: Export Actor Service Endpoint ](./fep/9091/fep-9091.md ) | `DRAFT` | [#358 ](https://codeberg.org/fediverse/fep/issues/358 ) | 2024-07-08 | - |
| [FEP-6fcd: Account Export Container Format ](./fep/6fcd/fep-6fcd.md ) | `DRAFT` | [#357 ](https://codeberg.org/fediverse/fep/issues/357 ) | 2024-07-11 | - |
2024-07-15 22:38:54 +00:00
| [FEP-c551: Use ECMAScript Modules to Create Conformance Tests for Fediverse Enhancement Proposals ](./fep/c551/fep-c551.md ) | `DRAFT` | [#366 ](https://codeberg.org/fediverse/fep/issues/366 ) | 2024-07-11 | - |
2024-07-15 23:19:14 +00:00
| [FEP-a5c5: Web Syndication Methods ](./fep/a5c5/fep-a5c5.md ) | `DRAFT` | [#368 ](https://codeberg.org/fediverse/fep/issues/368 ) | 2024-07-15 | - |
2024-07-15 22:38:54 +00:00
| [FEP-c4ad: Viewership History ](./fep/c4ad/fep-c4ad.md ) | `DRAFT` | [#367 ](https://codeberg.org/fediverse/fep/issues/367 ) | 2024-07-15 | - |
2024-07-18 16:57:39 +00:00
| [FEP-c893: DOAP ](./fep/c893/fep-c893.md ) | `DRAFT` | [#372 ](https://codeberg.org/fediverse/fep/issues/372 ) | 2024-07-15 | - |
2024-07-18 17:23:10 +00:00
| [FEP-eb48: Hashtags ](./fep/eb48/fep-eb48.md ) | `DRAFT` | [#373 ](https://codeberg.org/fediverse/fep/issues/373 ) | 2024-07-16 | - |
2021-01-04 08:29:20 +01:00
2023-04-09 22:00:45 +00:00
## Submitting a FEP
2020-10-05 19:37:20 +02:00
2020-10-16 14:05:03 +02:00
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:
2023-04-05 19:41:34 +00:00
1. Fork this repository, and then clone it to your local machine. Check the Codeberg [Cheat sheet ](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/#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:
2023-10-23 14:35:30 +00:00
2020-10-16 14:05:03 +02:00
```
2020-11-25 17:39:53 +01:00
$ echo -n "The title of my proposal" | sha256sum | cut -c-4
b3f0
2020-10-16 14:05:03 +02:00
```
2023-10-23 14:35:30 +00:00
2023-07-19 14:40:31 +00:00
4. Create a subdirectory of [`fep/` ](./fep/ ) using the identifier you just computed.
2023-07-05 09:17:05 +02:00
5. Copy the FEP template ([fep-xxxx-template.md ](./fep-xxxx-template.md )) to this subdirectory and change the filename appropriately.
2023-10-23 14:35:30 +00:00
6. Use the identifer as the "slug" when filling out the frontmatter.
2023-07-05 09:17:05 +02:00
- 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"` .
7. Write down your idea in the newly created file and commit it to a new branch in your repository (ex. fep-xxxx).
2024-02-09 00:34:31 +00:00
8. Create a Pull Request to complete Step 1 of [FEP-a4ed: The Fediverse Enhancement Proposal Process ](./fep/a4ed/fep-a4ed.md ). Further process is described in FEP-a4ed.
2020-10-05 19:37:20 +02:00
2023-10-23 14:35:30 +00:00
Alternatively to steps 3. to 6., you can run
``` bash
python scripts/new_proposal.py TITLE OF YOUR PROPOSAL
```
that should create a prefilled template for you.
2024-04-09 19:48:55 +00:00
## Facilitators
2023-04-09 22:00:45 +00:00
2024-04-09 19:48:55 +00:00
The list of FEP's is maintained by the facilitators who are listed in the [FACILITATORS.md ](FACILITATORS.md ) file. Facilitators are neutral custodians of the FEP process, who merge PR's, create tracking issues, and start discussion threads for each FEP in the [SocialHub ](https://socialhub.activitypub.rocks ) developer community forum.
2023-04-09 22:00:45 +00:00
## Contributing
2020-10-05 19:37:20 +02:00
2023-04-09 22:00:45 +00:00
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.
2020-10-05 19:37:20 +02:00
2023-04-09 22:00:45 +00:00
## License
2020-10-05 19:37:20 +02:00
2023-10-23 14:35:30 +00:00
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
2020-10-05 19:37:20 +02:00
To the extent possible under law, the authors of this document have waived all copyright and related or neighboring rights to this work.