icip | title | author | discussions-to | status | type | created |
---|---|---|---|---|---|---|
1 |
ICIP Purpose and Guidelines |
2infiniti <2infiniti@gmail.com> |
Active |
Meta |
2018-07-23 |
ICIP stands for ICON Community Improvement Proposal. An ICIP is a design document providing information to the ICON community, or describing new initiatives driven by the ICON Community Alliance (hx57). The ICIP should provide concise action plans and solid rationale behind these actions. The ICIP authors are responsible for building consensus within the community and documenting dissenting opinions.
We intend ICIPs to be the primary mechanisms for proposing new community initiatives, for collecting community input on an issue, and for documenting the design decisions that have gone into ICON Community Alliance. Because the ICIPs are maintained as text files in a versioned repository, their revision history is the historical record of the initiative proposal.
For ICON Community Alliance members, ICIPs are a convenient way to track the progress of current implementations. Ideally each implementation maintainer would list the ICIPs that they have implemented. This will give end users a convenient way to know the current status of a given implementation.
- Community - only community resources required
- Hybrid - will require some of team's help to some extent
- Team - proposed for team's evaluation
ICIPs should be written in markdown format.
Image files should be included in a subdirectory of the assets
folder for that ICIP as follow: assets/ICIP-X
(for ICIP X). When linking to an image in the ICIP, use relative links such as ../assets/ICIP-X/image.png
.
Each ICIP must begin with an RFC 822 style header preamble, preceded and followed by three hyphens (---
). The headers must appear in the following order. Headers marked with "*" are optional and are described below. All other headers are required.
icip:
(this is determined by the ICIP editor)
title:
author:
<a list of the author's or authors' name(s) and/or username(s), or name(s) and email(s). Details are below.>
* discussions-to:
status:
<Draft | Accepted | Final | Deferred>
* review-period-end
: YYYY-MM-DD
type:
<(Community, Hybrid, Team)>
* category:
<Translation | Marketing | Partnership | etc>
created:
<date created on, in ISO 8601 (yyyy-mm-dd) format>
* requires:
<ICIP number(s)>
* replaces:
<ICIP number(s)>
* superseded-by:
<ICIP number(s)>
* resolution:
The author
header optionally lists the names, email addresses or usernames of the authors/owners of the ICIP. Those who prefer anonymity may use a username only, or a first name and a username. The format of the author header value must be:
Random J. User <address@dom.ain>
or
Random J. User (@username)
if the email address or GitHub username is included, and
Random J. User
if the email address is not given.
While an ICIP is a draft, a discussions-to
header will indicate the mailing list or URL where the ICIP is being discussed. As mentioned above, examples for places to discuss your ICIP include an issue in this repo or in a fork of this repo, and ICON Community Alliance HX57. No discussions-to header is necessary if the ICIP is being discussed privately with the author.
The type
header specifies the type of ICIP
The category
header specifies the ICIP's category.
The created
header records the date that the ICIP was assigned a number. Both headers should be in yyyy-mm-dd format, e.g. 2018-08-15.
ICIPs may have a requires
header, indicating the ICIP numbers that this ICIP depends on.
ICIPs may also have a superseded-by
header indicating that an ICIP has been rendered obsolete by a later document; the value is the number of the ICIP that replaces the current document. The newer ICIP must have a replaces
header containing the number of the ICIP that it rendered obsolete.
Headers that permit lists must separate elements with commas.
The current ICIP editors are
* 2infiniti (@msg2infiniti)
For each new ICIP that comes in, an editor does the following:
- Read the ICIP to check if it is ready: sound and complete. The ideas must make sense, even if they don't seem likely to get to final status.
- The title should accurately describe the content.
- Check the ICIP for language (spelling, grammar, sentence structure, etc.), markup (Github flavored Markdown), code style
If the ICIP isn't ready, the editor will send it back to the author for revision, with specific instructions.
Once the ICIP is ready for the repository, the ICIP editor will:
-
Assign an ICIP number (generally the PR number or, if preferred by the author, the Issue # if there was discussion in the Issues section of this repository about this ICIP)
-
Merge the corresponding pull request
-
Send a message back to the ICIP author with the next step.
The editors don't pass judgment on ICIPs. We merely do the administrative & editorial part.
This document was derived heavily from icon-project's EIP-1. In many places text was simply copied and modified. Authors of icon-project EIP-1 are not responsible for its use in the ICON Community Improvement Process, and should not be bothered with questions specific to ICON Community Alliance or the ICIP. Please direct all comments to the ICIP editors.
Copyright and related rights waived via CC0.