1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-05 11:46:04 +00:00
a d3cd04d8a8 Migrate to dedicated fep/ directory and FEP-xxxx subdirectories (#109)
as discussed in https://socialhub.activitypub.rocks/t/fep-a4ed-the-fediverse-enhancement-proposal-process/1171/38?u=trwnh onward, and as described in https://socialhub.activitypub.rocks/t/fep-a4ed-the-fediverse-enhancement-proposal-process/1171/57?u=trwnh

Open considerations:

1. This PR copies `feps/fep-xxxx.md` to `fep/xxxx/fep-xxxx.md` for now. There is some consideration for naming it `index.md` instead, in order to ease with potential future static site generation via CI/CD. Imagine a CI/CD task that clones the repo and generates a proper site using `fep` as the content directory. (The idea is that this site may then be served to anyone requesting text/html representations of the `https://w3id.org/fep/xxxx` URI following the specifications laid out in FEP-9606.)

2. This PR does not yet delete any old paths. Everything in `feps/` has been edited to contain a Markdown link to the new location.

Rationale:

- We have encountered FEPs that wish to create their own assets, and the current structure is confusingly laid out. Asset colocation is widely considered a "best practice" for this sort of scenario. Particularly in cases where the rest of the repo's structure may potentially change in the future, asset colocation prevents any FEP-specific links from breaking because those links can be written relative to their FEP root.

- To ease PURL resolution, context documents can be considered sidecar assets to each FEP that defines extension terms. The mechanism for this is again described in FEP-9606. Redirection rules can be simplified to use less conditions, since the base folder remains the same.

Next steps:

- Edit the README.md to update the instructions for submitting a new FEP (pending open consideration 1)
- Set a timeline for when or if the old `feps/` directory should be removed (pending open consideration 2)
- Merge this PR

Co-authored-by: a <a@trwnh.com>
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/109
Co-authored-by: a <trwnh@noreply.codeberg.org>
Co-committed-by: a <trwnh@noreply.codeberg.org>
2023-06-13 20:46:13 +00:00
2020-10-06 17:57:15 +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.

FEPs

Title Status Tracking issue dateReceived dateFinalized (or dateWithdrawn)
FEP-a4ed: The Fediverse Enhancement Proposal Process FINAL #10 2020-10-16 2020-01-18
FEP-8fcf: Followers collection synchronization across servers FINAL #6 #11 2020-10-24 2022-02-07
FEP-f1d5: NodeInfo in Fediverse Software FINAL #50 #12 2022-12-17 2023-06-02
FEP-400e: Publicly-appendable ActivityPub collections FINAL #5 2021-02-16 2020-02-04
FEP-8c3f: Web Monetization DRAFT #3 2022-01-18 -
FEP-2100: Unbound Group and Organization DRAFT #36 2022-03-31 -
FEP-e232: Object Links DRAFT #14 2022-08-01 -
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 DRAFT #62 2023-02-13 -
FEP-7888: Demystifying the context property DRAFT #68 2023-03-14 -
FEP-d767: Extend ActivityPub with Valueflows DRAFT #76 2023-04-02 -
FEP-5bf0: Collection sorting and filtering DRAFT #80 2023-04-10 -
FEP-9606: Using w3id.org/fep as a namespace for extension terms and for FEP documents DRAFT #83 2023-04-11 -
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 -

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/(fep/) using the identifier you just computed. Copy the FEP template (fep-xxxx-template.md) to this subdirectory and change the filename appropriately. 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".
  2. Write down your idea in the newly created file and commit it to a new branch in your repository (ex. fep-xxxx).
  3. Create a Pull Request to complete Step 1 of FEP-a4ed: The Fediverse Enhancement Proposal Process. Further process is described in FEP-a4ed.

Editors

The list of FEP's is facilitated by Editors who are listed in the EDITORS.md file. Editors are neutral custodians of the FEP process, who merge PR's, create tracking issues, and start discussion threads for each FEP in the SocialHub developer community forum.

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.

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.

Languages
Python 44.8%
HTML 36.5%
Gherkin 11.6%
JavaScript 6.8%
CSS 0.2%