Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updated nep-0001 #350

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

updated nep-0001 #350

wants to merge 2 commits into from

Conversation

10d9e
Copy link
Contributor

@10d9e 10d9e commented Apr 8, 2022

added roles and ownership section; proposal process revamp to reflect

@10d9e 10d9e requested a review from a team as a code owner April 8, 2022 13:24
@render
Copy link

render bot commented Apr 8, 2022

@10d9e 10d9e marked this pull request as draft April 8, 2022 13:25
neps/nep-0001.md Outdated
Comment on lines 118 to 143
### Initial phase (1 week at most)

1.1. The process is initiated by an author submitting it in `Draft` status.

1.2. The proposal is examined by the admins. If it deviates from the format the proposal's status is set to `Rejected` and allowed to be resubmitted in 1 month.

1.3. Admins invite SMEs (some SMEs recognized by admins might join voluntarily) and representatives from the affected projects.

1.4. (Optional) The stakeholders hire the auditors.

1.5. Admins update the status to `Review` to indicate readiness for the next phase.

### Discussion phase (2 months at most)

2.1. SMEs and affected projects weigh-in.

2.2. Auditors respond with their findings.

2.3. Other community members join the discussion.

2.4. Once the proposal is at the point where it is exhaustive, non-ambiguous, highly-detailed, and all findings are addressed and incorporated into the proposal, the admins make a decision on accepting or rejecting it.

2.5. If proposal runs out of time it is rejected.

### Implementation phase
3.1. Admins invite representatives from the affected projects and the implementers to discuss the timeline of rolling out the feature. Once the timeline is agreed on, the remaining process is delegated to the implementers.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would work well for standards, but for protocol changes, at least right now we cannot afford to go through this very expensive process. I suggest that for protocol changes, the proposer also submit an accompanying prototype implementation to validate their proposal.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bowenwang1996 We could probably tighten these up if need be. For the sake of discussion, what do you think the protocol timelines would look like. If they are close I can adjust, if not, we might have to diverge the processes.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jlogelin I propose that we initially have the following process:

  • Draft proposal with an accompanying prototype implementation to prove validity.
  • A review period not exceeding two months where a committee would review the proposal and give feedback to iterate the proposal together with the author.
  • Final decision made publicly during a public protocol meeting on whether to accept the proposal.

@@ -100,6 +99,49 @@ the appropriate venue mentioned above. This gives the author a chance to flesh o
NEP to make properly formatted, of high quality, and to address
initial concerns about the proposal.

## The Proposal Process
One of the primary goals of the NEP process is to prevent proposals being stuck in a limbo state of always being in progress, therefore NEP participants shall commit to always either accept or reject a `Draft` proposal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to play devil's advocate here: I think "stuck in limbo" is a fairly common outcome for many of Rust's RFCs (eg, two of the three RFCs I authored can be described as stuck). This if course is suboptimal, but it seems that the final Result (the Rust language) is doing fine. Stuckness also is a useful signal -- it shows the lack of motivation, implementation capacity, or certainty.

So I'd say that the process's "primary goal" is to facilitate reliable and proactive protocol evolution, and fast accepting/rejecting is just "one of the goals"

## Roles, Ownership, and Accountability
The overall NEP process should balance democracy and inclusivity, with accountability. This means the proposal needs to have owners – people who carry the burden of proving “beyond reasonable doubt” that the proposed design does what it claims to do and that it does not negatively affect our technological values or impede future velocity. The owners of the proposal are the author and its potential proponents. It is their responsibility to prove that the proposal works, and it is not responsibility of others to prove that it does not work. The default decision for any protocol change should be a No.

There are defined administators who will decide when the proposal is accepted or rejected. In the long run, this will be a council elected by the stakeholders, which most likely will be only the validators and people that validators consider as an authority or experts, since validators have an ultimate control of deciding which protocol version to run on their machines. In the short term, process admins will be a preselected group of people. Admins will also be moderating the discussion once the proposal is submitted to make sure the discussion is civil and focused.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Admins will also be moderating the discussion once the proposal is submitted to make sure the discussion is civil and focused

If we have extra people power, it would be much better to have a dedicated moderation team. Admins themselves should be moderated, and that shouldn't involve conflict of interests.

To bootstrap the process, I think it's OK to lump the two responsibilities together.

But maybe we can say something like "there's admin team, who does this" and "there's mod team, who does that", and than, separately "to bootstrap the process, both teams would intersect".

@frol frol requested review from frol and ori-near and removed request for a team and MaksymZavershynskyi September 5, 2022 05:22
@frol frol added documentation Improvements or additions to documentation WG-unknown No Work Group is currently accountable labels Sep 5, 2022
@frol
Copy link
Collaborator

frol commented Nov 18, 2022

@ori-near May I ask you to review this proposal?

@frol frol added S-draft/needs-moderator-review A NEP in the DRAFT stage that needs a moderator review. A-NEP-Extension A new functionality proposal to existing NEP. Once original author merges changes, we close this. and removed documentation Improvements or additions to documentation labels Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-NEP-Extension A new functionality proposal to existing NEP. Once original author merges changes, we close this. S-draft/needs-moderator-review A NEP in the DRAFT stage that needs a moderator review. WG-unknown No Work Group is currently accountable
Projects
Status: DRAFT
Development

Successfully merging this pull request may close these issues.

None yet

4 participants