bpip | title | discussions-to | status | created |
---|---|---|---|---|
1 |
BPIP guidelines |
Living |
2022-11-19 |
This specifies the process and provides guidelines for coordinating changes in Boson Protocol as an open source project. It follows similar open source styles, such as PEPs, BIP and EIPs.
Proposals may range from technical changes and new features in smart contracts, modifying the protocol parameters, as well as its surrounding SDK. Before the implementation of the changes, polling the community via public voting is preferred.
BPIPs are intended to be the primary mechanism for proposing, tracking and discussing changes to Boson Protocol.
Each BPIP must contain three main parts: the preamble, the main section including the specification with a defined type of the proposal, and a discussion.
- protocol - change of smart contracts layer
- core components - change of core components layer, SDK,
- configuration - change of parameters’ values of deployed protocol
BPIP process has three stages:
- submitting a proposal and passing it through its lifecycle
- community voting on go/no-go via Snapshot, which is optional, but preferred
- implementation
To submit a BPIP and see it through, please follow these steps:
- fork this repository
- create a new bpip file in
/content/
directory, by following the guidelines in BPIP-1 - submit a Pull Request to the
main
branch
BPIP editors will pick up new proposals, check the syntax, do sanity checks and work with the authors and other participants to move the proposals through their lifecycle. If the proposal reaches the Final
status, then they will evaluate if the actual implementation of the BPIP should pass the community vote via Snapshot. The list of editors can later be changed via Boson DAO.
Current editors in alphabetical order: Aditya Asgaonkar, Cliff Hall, Gregor Borosa, Mischa Tuffield, Justin Banon.
Voting requires a majority of votes.
Note that smart contracts might have assigned admin/upgrader roles that may or may not be the same as these editors.
Statuses: Draft, Review, Last Call (with deadline), Voting, Final, Stagnant (if inactive for 6m), Withdrawn, Living
The poll happens after Last Call
deadline passes, then can move to Final
or Withdrawn
, depending on the vote.
Use BPIP-1 as a template for new proposals. The template mimics that of Ethereum.
Preamble should contain:
|bpip number|title|author|discussions-to|status|created date|requires|
Discussions are preferred to be kept within this Github repository.
The preamble must be followed by the main section:
- Abstract - A concise description of the proposal.
- Motivation - Describing motivation behind a BPIP is crucial in order to understand why a proposal is needed and the project can't cover this need as-is.
- Specification - Technical specification describes the proposed changes in a sufficient detailed that can be used as basis for in-depth discussion and later implementation. This section must also include the type of the proposal.
- Rationale - Rationale explains the proposed specification, compares it to alternative designs and should include important objections or concerns.
- Backward compatibility (optional) - If a proposal introduces backward incompatibilities, they should be described here in detail. Else this section can be omitted.
- Implementation (optional) - An optional section that contains an example implementation that can be used to assist in understanding or implementing this proposal.
- Copyright waiver & license - The work submitted is to be in public domain.
BPIPs are following a common style of gathering proposals in open source projects and coordinating implementation of changes.
/
/
Copyright and related rights waived via CC0.