This is a draft document outlining some of my thought process going into the styx standards track. Some of this MAY be adopted in the future or revisited, revised or eliminated as we identify changes to be made with this procedure and proposal.
🚧⚠️ There are empty headings with no text, there are unfinished sentences and paragraphs, and even a Trivia section. Don't say we didn't warn you.
Nothing here is normative, formative or declared as standard to the styx project, its stewardship or leadership, as of the current date of printing.
A future proposal and document may follow that contains all or part of this document.
How styx is improved through public commentary.
Introduction
styx is an open project, with a strict documentation-before-implementation policy, which informs the various teams within the project on how styx is shaped, and what makes styx styx.
With that in mind, we will be shaping styx through two major standards tracks: "RFCs", and "StEPs".
Topics, scope of impact
This is a styx enhancement proposal, or StEP, and the first to be published.
This relates mainly to styx governance, is handled by the Management team, and affects all styx teams: Management, Architects, Designers, Coders, Advisors, Testers and Spectators.
Definitions
RFC (Request for Comments)
RFCs produce a venue for making proposals or fielding ideas for styx, and a perpetually open comment space for refining and gaining insight or feedback on the idea or proposal, further developing it, and finally either producing it into a StEP, or .
RFCs are open-participation, and free for anyone to contribute into.
When an RFC is created, its goal is to act on a StEP, and:
- create a new StEP,
- add on to an existing StEP,
- modify, or amend, any part of a StEP,
- withdraw, or repeal, a StEP, and any action items it proposes, and
- inform any of these processes, with respect to one or more StEPs.
StEP (styx Enhancement Proposal)
Capitalization
StEP can be capitalized as "StEP", "stEP", or "STEP", but not "step", to avoid ambiguous phrasing when referring to step-by-step procedures such as installation wizards or tutorial content.
When authoring a StEP, we prefer "StEP".
Expanded, it is referred to as a "styx Enhancement Proposal", with lower-case "styx".
Formatting of RFCs
Formatting of StEPs
RFC submission
StEP process
Inspirations for this model
(Python Enhancement Proposals, Python Software Foundation governance, Bittorrent protocol enhancements, ? other serial standards-based governance)
Trivia
In the unlikely but possible event that a Python Enhancement Proposal is in concord with, or has the same text as, or is included in, a styx enhancement proposal, it will be referred to as "putting some PEP in your Step".
Notes, concerns
- @sirocyl: StEP sort of looks like PrEP, given the capitalization.
- May draw unintended connotations to HIV pre-exposure prophylaxis?
- Resolution: Consider impact, survey broadly. If it seems best to, consider renaming.
Draft, do not touch:
rfc24:
styx will have a procedure for proposing enhancements to the target of standards, functionality, procedures, infrastructure, goals and protocols outlining what styx is.
These will be called "styx enhancement proposals", or Steps.
Each step will be assigned a number, sequentially starting from 0, which comprises the outcome of discussion, development and refinement of this RFC.
The scope of Steps, as opposed to RFCs, is to provide a standards and implementation wavefront distinct from the open RFC pool, that anyone can contribute to.
These will include minor changes, or "baby steps", which establish low-impact practices, procedures or protocols; and "big steps", which touch most of the styx organization and infrastructure.
Steps will typically be produced from RFCs, through development and refinement with an open comment series and input being considered and implemented where appropriate.
Once a Step is set down, it may be modified to correct errors and errata (and modifications will be tracked in-Step), but not typically implementation or behaviors.
If a Step needs to be fundamentally rewritten or changed, or its application is considered superseded by a future Step, or it is decided that it will no longer apply, a Step may be withdrawn, and indicated as superseded by a future Step.
Implementation track:
This StEP implements RFC-0 "styx notes, RFCs", and RFC-24, "styx enhancement proposals, or StEPs."
