1. Think of a title for the FEP you want to submit.
2. 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-7
$ echo -n "The title of my proposal" | sha256sum | cut -c-4
4. Clone this repository.
3. Copy the FEP template ([fep-0000000-template.md](./fep-0000000-template.md)) to the [feps/](feps/) folder and change the filename to `fep-abcdefg.md` where `abcdefg` is the identifier computed in step 2.
3. Copy the FEP template ([fep-0000-template.md](./fep-0000-template.md)) to the [feps/](feps/) folder and change the filename to `fep-abcd.md` where `abcd` is the identifier computed in step 2.
4. Write down your idea in the newly created file.
5. Submit a Pull Request to this repository containing your proposal.
5. Submit a Pull Request to this repository containing your proposal (other submission methods may be listed in [`SUBMISSION_METHODS`](./SUBMISSION_METHODS)).
6. Within 7 days you will receive feedback from the editors who may request changes or clarifications. If your proposal is accepted it will be added to the repository with the status `DRAFT`.
7. You are now required to initiate community discussion and collect feedback. While the proposal is in status `DRAFT` you may submit changes to the proposal via Pull Requests.
8. After at least 60 days of being added to the repository with status `DRAFT` you may request the proposal to be finalized. You must now request final comments from the community. If there are no significant community objections your proposal will reach status `FINAL` after 14 days. Once the proposal has reached status `FINAL` it may no longer be updated.
For more information see [FEP-a4edc7b: The Fediverse Enhancement Proposal Process](./feps/fep-a4edc7b.md).
For more information see [FEP-a4ed: The Fediverse Enhancement Proposal Process](./feps/fep-a4ed.md).
By using the hash of the title as identifier we reduce the burden on editors to assign unique ids. This require proposal titles to be unique.
@@ -58,7 +58,7 @@ Following metadata key-value pairs may be placed at the top of a proposal:
- `dateReceived`: Date of when the proposal was added to the repository (when status is set to `DRAFT`).
- `dateWithdrawn`: Date of when the proposal status was set to `WITHDRAWN` (only for proposals with status `WITHDRAWN`).
- `dateFinalized`: Date of when the proposal status was set to `FINAL` (only for proposals with status `FINAL`).
- `relatedFeps`: A comma separated list of related FEPs (e.g. `FEP-a4edc7b, FEP-141a22e, FEP-686f746`).
- `relatedFeps`: A comma separated list of related FEPs (e.g. `FEP-a4ed, FEP-141a, FEP-686f`).
Future FEPs may specify additional metadata fields.
@@ -96,7 +96,7 @@ Fediverse Enhancement Proposals must be placed in the public domain by the autho
1. A Fediverse Enhancement Proposal can be submitted by individuals or groups of individuals (authors) by creating a pull request to the FEP repository.
1. A Fediverse Enhancement Proposal can be submitted by individuals or groups of individuals (authors). See the `SUBMISSION_METHODS` file for a list of accepted submission methods.
2. Within seven days one of the editors will read and respond to the proposal. The editor checks if the proposal conforms to the required structure and fits the scope and objective of the FEPs. The editor may request the authors to clarify, justify, or withdraw the proposal. Such a request must not reflect the personal bias of an editor. Rather, it will be made strictly to maintain a high quality of submissions. The editors reserve the right to reject a submission when a proposal amounts to blatant misuse of the process. The authors may seek feedback from the wider community if the submitted proposal is rejected or clarifications are requested.
3. If a FEP editor approves a submission it receives the status `DRAFT` and is added to the repository.
4. While a proposal has the status `DRAFT`:
@@ -109,6 +109,14 @@ Fediverse Enhancement Proposals must be placed in the public domain by the autho
7. A proposal with status `FINAL` can not be changed or updated.
8. A proposal with status `WITHDRAWN` remains in the repository and can be resubmitted.
A list of editors is maintained in the `EDITORS` file at the root of the FEP repository.
### Submission Methods
A list of methods in which a proposal may be submitted is maintained in the `SUBMISSION_METHODS` 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 Enhancment Proposal Process [BEP-1], Scheme Request for Implementation [SRFI] and the IETF RFC Series [RFC-8729].
@@ -120,7 +128,7 @@ The process and format described in this proposal is influenced by other communi
- [BEP-1] David Harrison, [The BitTorrent Enhancement Proposal Process](http://bittorrent.org/beps/bep_0001.html), 2008
- [RFC-8729] Housley, R., Ed., and L. Daigle, Ed., [The RFC Series and RFC Editor](https://www.rfc-editor.org/info/rfc8729), 2020
- [CommonMark] John MacFarlane, [CommonMark Spec](https://spec.commonmark.org/0.29/) Version 0.29, 2019
- [Internet-Draft-terminology-00] Mallory Knodel, [Terminology, Power and Oppressive Language](https://tools.ietf.org/id/draft-knodel-terminology-00.html)
- [Internet-Draft-terminology] Mallory Knodel, [Terminology, Power and Oppressive Language](https://tools.ietf.org/html/draft-knodel-terminology)