sip | title | status | author | created | updated |
---|---|---|---|---|---|
1 |
SIP Process |
Living |
Olaf Tomalka (@ritave), Erik Marks (@rekmarks) |
2022-06-08 |
2022-09-29 |
This SIP specified the process of working with proposals inside this repository. The goals of the process is participate with the community, but in a structured, engineering-focused, way.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" written in uppercase in this document are to be interpreted as described in RFC 2119
A good starting point for a new SIP is the SIP template.
stateDiagram-v2
direction LR
[*] --> Draft
Draft --> Review
Review --> Living
Review --> Implementation
Implementation --> Final
Final --> [*]
Draft --> Withdrawn
Review --> Withdrawn
Implementation --> Withdrawn
Withdrawn --> [*]
- Draft - The initial SIP status, indicating that it is in development. The SIP will be merged into the repository after being properly formatted. Major changes to the contents of the SIP are expected.
- Review - The SIP author(s) marked this SIP as ready for peer review. All members of community are encouraged to participate. Incremental changes to the contents of the SIP are expected.
- Implementation - This SIP is being implemented. Only critical changes based on implementation experience are expected.
- Final - The SIP is considered a final standard. No further updates except errata and clarifications will be considered. The SIP MUST be fully implemented before being considered for this status.
- Withdrawn - The proposed SIP has been withdrawn by the SIP author(s) or will not be considered for inclusion. This status is final. If the idea is to be pursued again, a new proposal MUST be created.
- Living - SIPs with this special status are considered continually updated and never final. Such SIPs MUST include the
updated
property in their front-matter. Specifically this includes SIP-1.
Each SIP MUST begin with a header preamble in YAML format, preceded and followed by ---
. Such header is termed as Front Matter by Jekyll. The headers MUST appear in following order:
sip
- A unique number identifying the SIP, assigned by the SIP editors.title
- A descriptive name for the SIP.status
- The current status of the SIP. One of stages as described above.discussions-to
- (Optional) A URL where discussions and review of the specified SIP can be found.author
- The list of authors in format described below.created
- The date the SIP was created on.updated
- (Optional) The date the SIP was updated on. SIPs with statusLiving
MUST have this header.
All dates in the preamble MUST be in ISO 8601 format.
A comma-separated list of the SIP authors. Each author MUST be written in the following format: Name Surname <email> (@github-username)
. If the author wants to maintain anonymity, they MAY provide only the username instead of their name and surname. The e-mail and github username are optional and MAY be provided. At least one of the authors MUST have a Github username provided in order to be notified of the changes concerning their SIP.
Example author
header:
John F. Kowalsky <john.kowalsky@domain.com> (@kowalsky), Gregory House, Anon (@anon)
The SIP MAY include additional files such as images and diagrams. Such files MUST be placed in assets
folder in the following location assets/SIP/sip-N/
where N
is the SIP's number. When linking to files from SIPs, relative links MUST be used, such as [schema](../assets/sip/sip-1/schema.json)
.
Every SIP MUST pass automatic validation when added in a pull request. You can manually use the validation tool as follows:
cd tools/validate
yarn install
yarn build
yarn validate '../../SIPS/**'
The role of SIP repository editors is to enforce the inclusion process. They do not judge the proposals on it's merits, it is up to the community to discuss.
The current SIP editors, sorted alphabetically, are:
At least one of the editors has to approve any incoming pull requests that update files in the SIPs folder.
The Snaps Improvement Proposals have been inspired by EIPs, CAIPs and TC39 Stages.
Copyright and related rights waived via CC0.