Add new status(s) to YIPs so that author(s) may better manage their YIPs in the context of community collaboration and so that governance is given the proper procedures to foster community cooperation.
Abstract
This will only add to the current state of proposal YIPs in that it only changes the potentialstatuses available of a YIP. It does not add any protocol changes: only documentation and governance procedures (off chain only).
I proposal the following changes to reflect a new state of possible 'YIPs':
Modifying YIP Templates
Modifying YIP Validator Gemfile
Modifying YIP README file
Motivation
The current state of procedures for YIPS is inadequate as it unnecessarily limits the possible outcomes of a proposed YIP while not affording both the author(s) nor the governance council flexibility in being able to deal with community driven YIPs
This is a documentation and procedure change. In fact there is no explicit description for proposing such changes in governance (that I could find).
This change is needed as it better explains the intent of the YIP format to author(s). It also provides for governance additional functionality in their procedures so as to not potentially 'alienate' author(s) by rejecting a YIP when it could have been withdrawn. This ensures that also the author(s) are active in the process of their submitted proposal and in the larger community (in so far as they are knowledgable about other potentially competing YIPS.)
Specification
Additions in 'BOLD'
Proposed - a YIP that is ready to be reviewed in a governance call.
Approved - a YIP that has been accepted for implementation by the yEarn community.
Implemented - a YIP that has been released to mainnet.
Rejected - a YIP that has been rejected.
Withdrawn - a YIP that has been withdrawn by the author(s).Deferred - a YIP that governance has decided to wait for another YIP/some other change that should be bundled with it togetherMoribund - a YIP that was once Implemented. It is now Obsolete 'AND' requires no explicit replacement.
The "Withdrawn" status is similar - it means that the YIP author has decided that the YIP is actually a 'bad' idea, or has accepted that a competing proposal is a better alternative.
Withdrawn
Means that the YIP author has decided that the YIP is actually a bad idea, or has accepted that a competing proposal is a better alternative.
Moribund
Obsolete and requires no explicit replacement, it SHOULD be marked "Moribund"
Deferred
Governance placed status upon a YIP that means that they would like to know more information, or that they would like to see if the author(s) can work with another proposed YIP and combine it into a single YIP, etc.
Rationale
The reasoning behind this is that it is unclear what will happen to a YIP should material facts change during its initial formal proposal and when its actually voted on by governance. Changes may be introduced between then, and the author may want to withdraw the proposal. This also frees up the governance council in that they are no longer obligated to reject every single YIP that may no longer be relevant, instead sharing the responsibility with the actual author(s).
Technical Specification
Technical implementation involves:
changes in the validation Gemfile
changes in the template .md file
Changes in Template .md file
Below is a sample .yaml file to illustrate the new header that should be used in the yip-template.md file
---
YIP: <YIP number>
Title: <YIP title>
Author: < firstName, lastName, @githubUsrName, contact@address.com >
Type: <Informational | Standards Track>
Status: <WIP | Proposed | Approved | Deferred | Withdrawn | Rejected |
Implemented | Replaced | Moribund>
Version: <major>[.<minor>]
Created: <date created on, in ISO 8601 (yyyy-mm-dd) format>
Requires (*optional): <YIP number(s)>
Implementation (*optional): <Added if YIP passes>
Discussions-to: <Create a new thread on https://gov.yearn.finance/ and drop the link here>
* Requires: <YIP numbers>
* Replaces: <YIP numbers>
* Replaced-By: <YIP number>
---
total:2, valid:2, invalid:0, errors:0
statuses: [["Withdrawn", 1], ["Implemented", 1]]
raises exception if it includes invalid yips
spec/fixtures/invalid/yip-7.md is NOT valid: {:status=>["is not included in the list"]}
yip:
title: improve-yip-categories
status: WIP
author: sam bacha, @sambacha sam@freighttrust.com
discussions-to: https://gov.yearn.finance/t/proposal-add-new-statuses-to-yip-proposals-non-protocol-change/3608
created: 2020-08-24 requires (optional): <YIP number(s)> implementation (optional):
Simple Summary
Add new
status
(s) toYIPs
so that author(s) may better manage theirYIPs
in the context of community collaboration and so that governance is given the proper procedures to foster community cooperation.Abstract
This will only add to the current state of
proposal YIPs
in that it only changes the potentialstatuses
available of aYIP
. It does not add anyprotocol
changes: only documentation and governance procedures (off chain only).I proposal the following changes to reflect a new state of possible 'YIPs':
Motivation
This is a documentation and procedure change. In fact there is no explicit description for proposing such changes in governance (that I could find).
This change is needed as it better explains the intent of the YIP format to author(s). It also provides for governance additional functionality in their procedures so as to not potentially 'alienate' author(s) by rejecting a YIP when it could have been withdrawn. This ensures that also the author(s) are active in the process of their submitted proposal and in the larger community (in so far as they are knowledgable about other potentially competing YIPS.)
Specification
Additions in 'BOLD'
Proposed - a YIP that is ready to be reviewed in a governance call. Approved - a YIP that has been accepted for implementation by the yEarn community. Implemented - a YIP that has been released to mainnet. Rejected - a YIP that has been rejected. Withdrawn - a YIP that has been withdrawn by the author(s). Deferred - a YIP that governance has decided to wait for another YIP/some other change that should be bundled with it together Moribund - a YIP that was once Implemented. It is now Obsolete 'AND' requires no explicit replacement.
The "Withdrawn" status is similar - it means that the YIP author has decided that the YIP is actually a 'bad' idea, or has accepted that a competing proposal is a better alternative.
Workflow Specification
New Statuses for YIPs
Withdrawn Moribund Deferred
Overview
New YIP statuses
Rationale
The reasoning behind this is that it is unclear what will happen to a YIP should material facts change during its initial formal proposal and when its actually voted on by governance. Changes may be introduced between then, and the author may want to withdraw the proposal. This also frees up the governance council in that they are no longer obligated to reject every single YIP that may no longer be relevant, instead sharing the responsibility with the actual author(s).
Technical Specification
Technical implementation involves:
.md
fileChanges in Template
.md
fileBelow is a sample
.yaml
file to illustrate the new header that should be used in theyip-template.md
fileYIP Validator (Ruby Gem)
See Files Changed here https://github.com/sambacha/yip_validator/tree/YIP-Proposed
Test Cases
See
travis-ci
logs for theRub Gem
update here https://travis-ci.com/github/sambacha/yip_validator/builds/181226022References
GLEP
- Gentoo Enhancement ProposalsCopyright
Copyright and related rights waived via CC0.