2018-08-09 04:40:24 +00:00
|
|
|
---
|
|
|
|
title: "Standard 1: RFC Format and Semantics"
|
|
|
|
number: 0
|
|
|
|
author: Robert Miles <khuxkm@tilde.team>
|
2019-06-19 23:10:32 +00:00
|
|
|
status: Accepted
|
2018-08-09 04:40:24 +00:00
|
|
|
---
|
2019-06-19 23:41:45 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
## Abstract
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
This RFC defines the format used by an RFC. RFCs in this system are stored
|
|
|
|
as Markdown files with YAML front-matter. RFC files MAY be stored with any
|
|
|
|
extension commonly used by markdown files.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
This RFC also defines the semantics of how the RFC system will work.
|
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
## Front-matter format
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
The front-matter MUST contain the following key-value pairs:
|
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
- `title`: The title of the document. Standards documents should be
|
|
|
|
titled in the format `Standards X: Y` where X is the standards number
|
|
|
|
and Y is the title of the standard. ([See below for an explanation of
|
|
|
|
standards.](#types-of-documents))
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
- `number`: The canonical number of the RFC. Starts at 0 (this document)
|
|
|
|
and counts up in decimal.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
- `author`: The author of the document. May contain email.
|
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
- `status`: The status of this document. Should be `Accepted` or
|
|
|
|
`Proposed`. (Rejected documents are not made a part of the repository.)
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
The front-matter MAY contain the following key-value pairs:
|
|
|
|
|
|
|
|
- `updates`: A comma-seperated list of RFCs this RFC updates.
|
|
|
|
|
|
|
|
- `updated-by`: A comma-seperated list of RFCs that update this RFC.
|
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
Note that the two lists should be added to in sequence; if RFC 2 updates
|
|
|
|
RFC 1, then RFC 2 needs to have 1 in its `updates` and RFC 1 needs 2 in its
|
|
|
|
`updated-by`.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
## Semantics of the RFC System
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
The RFC system for tilde boxes will be hosted at
|
|
|
|
https://rfc.tildeverse.org/ and on the tildeverse gitea as
|
|
|
|
[tildeverse/rfcs](https://tildegit.org/tildeverse/rfcs).
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
### Types of Documents
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
RFC documents are simply requests. They are for simple things like defining
|
|
|
|
how something should work or how something should be done.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
Standards documents are like mandates. They require something. For example,
|
|
|
|
this document requires a would-be submitter to follow this format for RFCs. A
|
|
|
|
Standards document can be amended by RFC documents, and any RFC documents
|
|
|
|
in violation of a Standards document, unless otherwise stated within the
|
|
|
|
Standards document, are invalid.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
### Procedural Section
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
Every RFC and Standards document should end with a procedural information
|
|
|
|
section (id tagged implicitly as [#procedural-section](#procedural-section)).
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
There are 2 sub-sections to the procedural info section:
|
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
- Security Considerations (tagged implicitly as
|
|
|
|
[#security-considerations](#security-considerations)) - If there are any
|
|
|
|
security reasons/concerns for the document, they MUST be subsections of this.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
- Configuration Considerations (tagged implicitly as
|
|
|
|
[#configuration-considerations](#configuration-considerations)) - For example,
|
|
|
|
if configs need to be changed due to the RFC.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
### Submission guidelines
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
An RFC should be submitted as a PR to the [git
|
|
|
|
repo](https://tildegit.org/tildeverse/rfcs). RFCs MUST come with a draft name.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
For example, a draft name for an RFC to make tilde.chat allow IRC connections
|
|
|
|
without SSL could be `draft-tilde-chat-without-ssl`.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
The only time an RFC can omit the number tag in its front-matter is when it
|
|
|
|
is a draft. Drafts do not have numbers and are of the status `Proposed`. If
|
|
|
|
or when an RFC is accepted, it will be given a number (at which time it MUST
|
|
|
|
be renamed `rfcX.md`, where X is the number). The status MUST be changed to
|
|
|
|
`Accepted` and the number tag MUST contain the assigned number. When the
|
|
|
|
former draft meets these requirements, the PR will be merged.
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
## Procedural Information
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
### Security Considerations
|
2018-08-09 04:40:24 +00:00
|
|
|
|
|
|
|
There are no security considerations to this document.
|
|
|
|
|
2019-06-19 23:10:32 +00:00
|
|
|
### Configuration Considerations
|
2018-08-09 04:40:24 +00:00
|
|
|
|
2019-06-19 23:41:45 +00:00
|
|
|
A subdomain of tildeverse.org has been provisioned for the RFC project,
|
|
|
|
and a repo has been created, in accordance with this document.
|