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

Changes EIP-1 wording to focus on technicals not community sentiment. #1224

Merged
merged 2 commits into from
Aug 7, 2018
Merged

Changes EIP-1 wording to focus on technicals not community sentiment. #1224

merged 2 commits into from
Aug 7, 2018

Conversation

MicahZoltu
Copy link
Contributor

@MicahZoltu MicahZoltu commented Jul 16, 2018

All of the recent changes to the EIP process have been made to ensure that the EIP process is a technical one, and not one of sentiment analysis. There is a lot of discussion going on with regards to how we can improve the process and get valid community sentiment analysis pre-fork, but there doesn't exist a complete solution yet at this time (just proposals).

It appears that the Last Call PR introduced sentiment analysis into the process, which I do not believe was intended. From my recollection of the discussions around the Last Call stuff, the goal wasn't to fundamentally change how governance works, but rather to ensure that EIPs don't get stuck indefinitely in limbo.

This change simply removes the sentiment analysis wording from the process and makes it more clear that the EIP process is about gauging technical feasibility, not making judgement calls as to whether or not a thing is a good idea or not.

@MicahZoltu
Copy link
Contributor Author

I added wording on what happens if a Core EIP is voted down during the Core Dev meeting. This may be a more contentious change than the others so it is in a separate commit and I am willing to remove it and put it in a separate PR if that is preferable.

Note: My goal with this PR is not to substantially change the EIP process. It is instead to add clarity to what the real process is. I believe that if the Core Devs vote no on a Core EIP that it is effectively rejected and we should do our best to document that, rather than leaving the EIP in some limbo state that doesn't reflect reality.

@MicahZoltu
Copy link
Contributor Author

Some discussion can be found here on Ethereum Magicians as well as a bit on Gitter

@MicahZoltu
Copy link
Contributor Author

A couple more changes to this:
Added a minor note in the Rationale section indicating that the EIP process is for technical input, not sentiment.

I also changed Last Call for Core EIPs to move directly to Accepted, without waiting on feedback from Core Devs. The EIP process does not define how Core Devs behave, it only defines the EIP process.

@Arachnid
Copy link
Contributor

This looks reasonable to me. I'd like to hear from other editors and core devs before merging, though.

* :arrow_right: Accepted (Core EIPs only) -- A successful Last Call without material changes or unaddressed technical complaints will become Accepted.
* :arrow_right: Final (Not core EIPs) -- A successful Last Call without material changes or unaddressed technical complaints will become Final.
* **Accepted (Core EIPs only)** -- This EIP is in the hands of the Ethereum client developers. Their process for deciding whether to encode it into their clients as part of a hard fork is not part of the EIP process.
* :arrow_right: Final -- Standards Track Core EIPs must be implemented in at least three viable Ethereum clients before it can be considered Final. When the implementation is complete and adopted by the community, the status will be changed to “Final”.
Copy link
Member

Choose a reason for hiding this comment

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

Can we be more specific on what it means to be "adopted by the community"? does this mean it has been activated in a HF?

Copy link
Contributor Author

@MicahZoltu MicahZoltu Jul 18, 2018

Choose a reason for hiding this comment

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

I'm currently more or less in agreement with Nick on the direction to take with the whole "adopted"/"supported" thing. This change was intended only to use a slightly more clear word, without getting bogged down in debate about specifics.

Do you feel that supported was more clear than adopted? If not, do you think that adopted is less accurate of the current process than supported? If not, then I recommend we stick with adopted and debate whether this terminology should be used at all in a future PR.

@cdetrio
Copy link
Member

cdetrio commented Jul 17, 2018

Can we also update the Status term definitions in the README to keep it consistent with the definitions in EIP-1? We could also remove them from the README, but they were originally added as a convenient glossary (it helped prevent confusion when readers would see Status terms in the EIP headers and infer what they meant, without digging through EIP-1 to read their definitions).
http://github.com/ethereum/EIPs/blob/283c96af1ce25d21e38721e911f52dcf7ed35621/README.md#eip-status-terms

Copy link
Member

@cdetrio cdetrio left a comment

Choose a reason for hiding this comment

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

Can we be more specific on what it means to be "adopted by the community"? does this mean it has been activated in a HF?

@cdetrio
Copy link
Member

cdetrio commented Jul 17, 2018

Let's also re-add the sentence about the Active status term (I quoted it from the git history here: #898 (comment)), which was unfortunately removed when #1100 from @fulldecent got merged.

@fulldecent
Copy link
Contributor

Sentiment is an important part of last call process. I oppose removing such language.

Very soon, a successor to ERC-20 will be proposed. Let us question, what is the threshold for such a supplantation?

Imagine if I shall create an EIP that makes a simple, implementable change and then I declare ERC-20 to be superseded. Then EIP-1 (as amended by this PR) will be vulnerable to letting past such a change without studying the sentiment and impact of the replacement of ERC-20.

@fulldecent
Copy link
Contributor

And again, if sentiment should not be part of the EIP then demonstrate it using actions, not words. You just need to merge #894.

@MicahZoltu
Copy link
Contributor Author

@cdetrio I have updated the Readme. I'm not particularly satisfied with it, but I'm not sure how to make it better in this PR without coming to agreement on actual changes to the process. I do plan to submit a follow-up PR that proposes actual changes to the process, but that is likely to be much more contentious and I want this PR to just be clarification.

All of the recent changes to the EIP process have been made to ensure that the EIP process is a technical one, and not one of sentiment analysis.  There is a lot of discussion going on with regards to how we can improve the process and get valid community sentiment analysis pre-fork, but there doesn't exist a complete solution yet at this time (just proposals).

It appears that the Last Call PR introduced sentiment analysis into the process, which I do not believe was intended.  From my recollection of the discussions around the Last Call stuff, the goal wasn't to fundamentally change how governance works, but rather to ensure that EIPs don't get stuck indefinitely in limbo.

This change simply removes the sentiment analysis wording from the process and makes it more clear that the EIP process is about gauging technical feasibility, not making judgement calls as to whether or not a thing is a good idea or not.
@MicahZoltu
Copy link
Contributor Author

@cdetrio I have added the Active state to EIP 1. I left it out of the Readme because I feel like it is largely irreverent in the majority of cases, and it feels like something that doesn't need to be presented front-and-center.

@MicahZoltu
Copy link
Contributor Author

@fulldecent I recognize that sentiment analysis is something people want as part of the EIP process, but it currently isn't part of the EIP process. Also, sentiment analysis is a very hard problem to solve and should not be added frivolously. It especially shouldn't have been added in the Last Call EIP since discussion there was around the Last Call mechanics, not sentiment analysis which is why I believe most reviewers missed it.

This PR is meant to rollback the addition of sentiment analysis because its addition was not the intention of the editors (as I have interpreted from conversations with them).

Imagine if I shall create an EIP that makes a simple, implementable change and then I declare ERC-20 to be superseded. Then EIP-1 (as amended by this PR) will be vulnerable to letting past such a change without studying the sentiment and impact of the replacement of ERC-20.

That is fine by me. There likely will be several EIPs that supersede ERC-20.

@MicahZoltu
Copy link
Contributor Author

And again, if sentiment should not be part of the EIP then demonstrate it using actions, not words. You just need to merge #894.

#894 is a change to the process, not an EIP. It isn't beholden to the rules of EIP-1.

@Arachnid
Copy link
Contributor

Sentiment is an important part of last call process. I oppose removing such language.

Why? What purpose is served by introducing sentiment into a technical standards process?

Very soon, a successor to ERC-20 will be proposed. Let us question, what is the threshold for such a supplantation?

Imagine if I shall create an EIP that makes a simple, implementable change and then I declare ERC-20 to be superseded. Then EIP-1 (as amended by this PR) will be vulnerable to letting past such a change without studying the sentiment and impact of the replacement of ERC-20.

There's not presently any explicit mechanism for marking a Final EIP as Obsolete. You're welcome to submit a "better than ERC20" standard, but there's no mechanism for you to set it as the "official" successor to ERC20.

And again, if sentiment should not be part of the EIP then demonstrate it using actions, not words. You just need to merge #894.

894 is not a well-formatted EIP - it purports to change the process defined in EIP 1, but instead of being a PR to EIP 1, it's a separate EIP. That's not the correct process, and as a result it's not a valid EIP.

@MicahZoltu
Copy link
Contributor Author

@cdetrio Have your concerns been sufficiently addressed either with changes or comments?

@fulldecent
Copy link
Contributor

fulldecent commented Jul 28, 2018

These changes will result in a flood of technically compile-able and completely f------ useless EIPs.

I will not argue for or against that part of the change.

But I think we should recognize this impact and do a couple things BEFORE this merges:

  1. Explicitly endorse Ethereum Magicians discourse for discussing new standards.
  2. Make the project README.md and http://eips.ethereum.org homepage more simple/clear by a factor of 10 or more.
  3. Disable Issues on this repository.

Precedent for these changes is the Swift Evolution process.

And, of course, I'm not here to waste anybody's time. I offer to implement the above changes if people here with commit access do welcome such a change. Just LMK.

@fulldecent
Copy link
Contributor

Separate issue: I still think we should remove the REPLACES metadata for EIPS if this is merged. The word REPLACES for an accepted/final EIP seems to imply an endorsement from the EIP editors that the new version is superior and the old version is outdated.

The minute we merge this PR, seven people are going to propose replacements to EIP-20.

@Arachnid
Copy link
Contributor

If nobody states an objection, I will merge this change on Friday.

@fulldecent Replaces may still be useful if the original authors of the EIP being replaced to agree with it.

There's nothing stopping people from proposing replacements for ERC20 right now, and indeed they already do.

@fulldecent
Copy link
Contributor

No replacement for ERC-20 has been accepted as final. Your note “replaces may be useful” is not contested. The issue is what happens when the original author does not consent.

I oppose merge because the prerequisite preparation for incoming shitstorm has not been handled. I have proposed a solution and it is actionable.

Lastly, this PR changes the scope of the EIP process. It is a significant change. The most recent change to EIP1 was #1100 and that was a smaller scope change. The threshold to accept that change was high — it included positive reviews from four EIP editors as well as other positive reviews and zero dissent. If that is the standard then I would say Nick does not have sufficient authority to schedule the merging of this PR.

37034ead-66bc-4177-b373-c03e42b39df6
90bf12bb-d5bc-4a0d-a1ad-53733a8511aa

@Arachnid
Copy link
Contributor

No replacement for ERC-20 has been accepted as final. Your note “replaces may be useful” is not contested. The issue is what happens when the original author does not consent.

This is an issue right now; this proposal won't change that.

I oppose merge because the prerequisite preparation for incoming shitstorm has not been handled. I have proposed a solution and it is actionable.

I don't understand why you expect an "incoming shitshorm". Everything you mention people could do right now.

Lastly, this PR changes the scope of the EIP process. It is a significant change. The most recent change to EIP1 was #1100 and that was a smaller scope change. The threshold to accept that change was high — it included positive reviews from four EIP editors as well as other positive reviews and zero dissent. If that is the standard then I would say Nick does not have sufficient authority to schedule the merging of this PR.

I don't think it's reasonable to take the input from the last change and conclude that's the minimum required to establish consensus. I also don't think it's a good idea to let valid proposals stall indefinitely if they don't get enough input.

@RorschachRev
Copy link

I think I should support this, because I will support Ethereum having more hard forks and fragmentation. Consensys has not done a good job maintaining their code or documentation, so more competition will be better for everyone. Let the fork wars truly begin.

@fulldecent fulldecent mentioned this pull request Aug 7, 2018
3 tasks
@fulldecent
Copy link
Contributor

@Arachnid #1297 is the missing half of this PR.

Remaining work to do on this PR:

  • Merge in Reword README #1297 (and the Work List in that PR)
  • Remove Superseded status -- "no longer considered state-of-the-art" reflects sentiment and is incompatible with our new "technical only" evaluation
  • Remove Deferred status -- if we don't care about forks and downstream implementation then we don't care if a consensus change is applied in Ethereum but not applied in Ethereum Classic
  • Rename Rejected to Abandoned -- the current wording implies sentiment onto the goodness or badness of an idea

@pirapira if all the sentiment is removed from EIPs as per Nick's proposal and the additional changes in this comment then would you consider to return as an editor?

@MicahZoltu
Copy link
Contributor Author

The changes you mention that are "remaining work to do in this PR" are out of scope of this PR. The purpose of this PR is only to emphasize that EIPs do not need community consensus to proceed through the process. There are much bigger changes that I believe are needed in EIP-1 that I would like to work on in another PR after this one but this one intentionally constrained to solve the immediate problem of a recent change introducing a requirement of community consensus.

@Arachnid
Copy link
Contributor

Arachnid commented Aug 7, 2018

I'm happy with the state of this, and nobody other than @fulldecent has voiced objections, so I'm going to merge it.

Like @MicahZoltu, I think further changes are best addressed through further PRs with their own self-contained justifications and review.

@Arachnid Arachnid merged commit 4f8f1cb into ethereum:master Aug 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants