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

Reword README #1297

Merged
merged 20 commits into from
Sep 24, 2020
Merged

Reword README #1297

merged 20 commits into from
Sep 24, 2020

Conversation

fulldecent
Copy link
Contributor

@fulldecent fulldecent commented Aug 7, 2018

This borrows HEAVILY from https://github.com/apple/swift-evolution/blob/master/README.md and https://github.com/apple/swift-evolution/blob/master/process.md which is a mature and well-respected process from Apple. The difference is that they are a community with parties that set direction; but nobody/everybody sets direction for the Ethereum community.

Overview of changes proposed in this PR:

  • Sets project goal
  • Achieving "Final" status in this repository only represents that a proposal has been reviewed for technical accuracy. @MicahZoltu @Arachnid Did I finally get that right?
  • Endorses EM as the place to discuss stuff BEFORE making a proposal

Work plan

@MicahZoltu
Copy link
Contributor

I have become convinced by Nick that the EIP should be a mechanism for standards only, unrelated to deployments. In such a scheme, there would be no involvement from the core dev team and no step in the process would depend on them doing something (such as implementing, deploying, scheduling a hard fork, etc.)

EIPs would reference FORK_BLOCK_NUMBER rather than CONSTANTINOPLE_BLOCK_NUMBER when necessary and the implementation requirement would not need to be completed by any specific client, just any client (e.g., someone's fork of go-ethereum, or pyethereum, or whatever).

I don't know if anyone other than Nick and I have bought into this change or not yet, and I have been waiting for my current EIP PR to get merged before undertaking that change (since unlike my current PR, it's intent is to change the process).

@fulldecent
Copy link
Contributor Author

@MicahZoltu I have updated this PR consistent with your PR that was merged. Specifically I updated Core Dev -> Client Dev.

The goal of this PR is to make README.md reflect with our new reality.

There are always more improvements to make. But I believe this PR is mergeable for now.

README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Outdated

A browsable version of all current and draft EIPs can be found on [the official EIP site](http://eips.ethereum.org/).
**Before you initiate a pull request**, please read the process document. Ideas should be thoroughly discussed on the [Ethereum Magicians forums](https://ethereum-magicians.org) first.
Copy link
Contributor

Choose a reason for hiding this comment

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

I like Ethereum magicians, but I know some people don't like it. In the past, Gitter and GitHub issues have also been recommended for discussion prior to an EIP. Any reason not to include them here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I myself don't like Ethereum Magicians. Only because email notifications aren't working.

But most importantly, we should recommend a single place where people can go to have in depth discussions about standards and improvements. And GitHub is not a forum so GitHub issues is probably not the correct place.

To be consistent, this issue also directly the repository owner to disable the Github Issues feature for this repository. Such is consistent with how Apple's Swift Evolution repository is governed. And I have borrowed ideas heavily from them -- including the two-week EIP review.

README.md Outdated Show resolved Hide resolved
@fulldecent
Copy link
Contributor Author

@MicahZoltu I have responded to each of your comments. May you please continue your review?

@fulldecent
Copy link
Contributor Author

@MicahZoltu ping

README.md Outdated
Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.

A browsable version of all current and draft EIPs can be found on [the official EIP site](http://eips.ethereum.org/).
**Before you initiate a pull request**, please read the process document. Ideas should be thoroughly discussed on the [Ethereum Magicians forums](https://ethereum-magicians.org) first.
Copy link
Contributor

Choose a reason for hiding this comment

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

There has been pushback in the past about "forcing" people to use ethereum-magicians forum. Consider weakening the language here to something like:

Before you initiate a pull request, please read the process document. Ideas should be thoroughly discussed prior to opening a pull request, such as on the Ethereum Magicians forums or in a GitHub issue in this repository.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Addressing the extreme quantity of low quality issues in this repo is still an issue. (Solution: close GitHub issues and refer to Ethereum Magicians.) But if that will slow this PR down, then I am happy to do it separately.

Updated in 6abedf8

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Does this update address the issue?

README.md Outdated Show resolved Hide resolved
README.md Outdated
* **Final (Core)** - an EIP that the Core Devs have decide to implement and release in a future hard fork or has already been released in a hard fork
* **Deferred** - an EIP that is not being considered for immediate adoption. May be reconsidered in the future for a subsequent hard fork.
- [Consensus Changes](EIPS/eip-1.md#eip-types) require people running an Ethereum client to update their software to implement the change. If enough people do not upgrade then an existing network will fork into two separate networks.
- [Other Proposals](EIPS/eip-1.md#eip-types) do not require a change in client software and can be used by any interested party.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same comment as above, both these links go to the same place, despite hinting that they go to different places. Consider moving the leak to the lead-in sentence:

... proposals in two categories:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have higher expectations for a future EIP-1. But unlike change the all.html, I will defer editing EIP-1 at this time.

I request a slight exception to the UX rule in this case.

Copy link
Contributor

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

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

A few minor editorial notes that I think should be addressed, but overall I am in alignment with the theme of this change (EIP is a standards process, not a political process).

@fulldecent
Copy link
Contributor Author

Hello @Arachnid, may I please ask for your review on this version?

README.md Outdated Show resolved Hide resolved

1. Review [EIP-1](EIPS/eip-1.md).
Copy link
Contributor

Choose a reason for hiding this comment

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

Why have you deleted all this explanatory text?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently the README.md is focused on telling people how to dump whatever questions or ideas are in their head as quickly as possible into an EIP, which is a proposal to tell everybody else about a change they should make.

The proposed README.md focuses instead on explaining what an EIP is and how people should be more disciplined before they think about starting one.

// Ideas stolen from https://github.com/apple/swift-evolution which has a very good change management process.

_includes/eiptable.html Outdated Show resolved Hide resolved
@fulldecent
Copy link
Contributor Author

Here is an example of yet another person that came to the EIP repository to use it as a forum (that's bad) rather than a place to work on actual standards development to promote interoperability among actual products that are or will be deployed (that's good).

➡️ #1621

You can confirm by this focusing statement in that draft EIP:

"I would like to start a discussion here for the viability and the merit of the proposal as well as design."


I believe #1621 is wildly out of scope for this repository at this stage and wastes time for all parties involved. Instead, such exploratory discussion should be OUTSIDE of a standards setting like this. It should be on Reddit or wherever else.

We should make this clear to people when they first visit this repository. We can do this easily. Just merge this PR.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@axic
Copy link
Member

axic commented Jul 19, 2019

@fulldecent @Arachnid what is the status of this PR?

@fulldecent
Copy link
Contributor Author

@axic Thank you, I appreciate your updates to keep this up to date

@axic
Copy link
Member

axic commented Dec 2, 2019

@fulldecent can you fix the conflicts please?

@fulldecent
Copy link
Contributor Author

@axic resolved

README.md Show resolved Hide resolved

Your first PR should be a first draft of the final EIP. It must meet the formatting criteria enforced by the build (largely, correct metadata in the header). An editor will manually review the first PR for a new EIP and assign it a number before merging it. Make sure you include a `discussions-to` header with the URL to a discussion forum or open GitHub issue where people can discuss the EIP as a whole.
Copy link
Member

Choose a reason for hiding this comment

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

This is not highlighted in index.html nor EIP-1. I think ti should be added.


- **For a Standards Track EIP of type Core**, ask to have your issue added to [the agenda of an upcoming All Core Devs meeting](https://github.com/ethereum/pm/issues), where it can be discussed for inclusion in a future hard fork. If implementers agree to include it, the EIP editors will update the state of your EIP to 'Accepted'.
Copy link
Member

Choose a reason for hiding this comment

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

This is not highlighted in index.html nor EIP-1. I think it should be added.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Specifications for the process should be in EIP-1. This information should be out of scope for the README.


# EIP Status Terms
Copy link
Member

Choose a reason for hiding this comment

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

These are part of index.html and EIP-1.

@axic axic changed the title Disclaim warranties, EIP is only for technical review Reword README Dec 16, 2019
Copy link
Contributor

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

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

2 years later and now an editor (rather than just an annoying commenter on the internet), I generally approve of this change, though I left a few notes that may be worth discussing/addressing before merge. Leaving this as a Comment rather than a Reject or Approve since I don't feel super strongly about any of them. The comment about Consensus/Other is the only one that really makes me hesitant to Approve this as "strictly better than what was here before".

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated
Comment on lines 29 to 30
- [Consensus Changes](EIPS/eip-1.md#eip-types) require people running an Ethereum client to update their software to implement the change. If enough people do not upgrade then an existing network will fork into two separate networks.
- [Other Proposals](EIPS/eip-1.md#eip-types) do not require a change in client software and can be used by any interested party.
Copy link
Contributor

Choose a reason for hiding this comment

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

What value do we get in making this distinction? Why is this distinction more valuable than the current Core, Network, Interface, ERC?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe the audience for README.md will be the wide community of Ethereum users. This includes people that will be coming by (driving by?) to make their opinions heard on the likes of the next contentious hard fork, as well as others that are implementers/developers.

I'm guessing that anybody who has more than one Ether for more than one or two years will have a strong opinion on The DAO fork, and maybe even the latest fork. But I'll bet that less than 50% would know if those were Core, Network, Interface, or ERC EIPs.

Therefore I have added this distinction in plain language so that the intended audience can easily understand what they are looking at.

Copy link
Contributor

Choose a reason for hiding this comment

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

I suspect that the number of people in the intersection of "drive by brigadier" and "stopped to read the Readme" and "didn't comprehend the categories" is small enough that it isn't worth adding complexity (another layer of abstraction) to the EIP process, EIPs page, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We disagree on the target audience.

But we agree that this PR can go on without that part.

Copy link
Contributor

Choose a reason for hiding this comment

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

If you want to extract these two lines out into a separate PR we can merge this without being blocked by this discussion, and then we can have a more focused discussion on just this topic (with hopefully more people getting involved). I'm 👍 to merge everything else, but would like to discuss these lines in particular more before merging.

Copy link
Contributor

Choose a reason for hiding this comment

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

Note: I'm OK with the deletion above these two lines being part of this PR, even if these two lines aren't included in this PR. We would want to remove line 27 (of your branch) as well and pull it out to the new PR if we decide to go that route. So the new PR would only add the following, and this PR would remove the status description section (which really should be in EIP-1 only anyway).

We promote high-quality, peer-reviewed proposals in two categories:

  • Consensus Changes require people running an Ethereum client to update their software to implement the change. If enough people do not upgrade then an existing network will fork into two separate networks.
  • Other Proposals do not require a change in client software and can be used by any interested party.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed at 922a1ab

fulldecent and others added 2 commits September 11, 2020 14:41
Co-authored-by: Micah Zoltu <[email protected]>
Co-authored-by: Micah Zoltu <[email protected]>
@fulldecent
Copy link
Contributor Author

@MicahZoltu thanks for the feedback, all your items replied and/or merged

Copy link
Contributor

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

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

Since this is a change to the Readme, I would like to get an approval from at least one other active editor, but I'm 👍 on this. @lightclient @axic do either of you have thoughts on these changes?

If we believe these changes are iteratively better than what is currently in the Readme, I propose we merge them and we can then iterate further afterward. If we think this is a step backward, then we should discuss further before merging.

@Souptacular Souptacular self-requested a review September 23, 2020 16:23
Copy link
Contributor

@Souptacular Souptacular left a comment

Choose a reason for hiding this comment

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

LGTM. Great work simplifying this.

Copy link
Member

@lightclient lightclient left a comment

Choose a reason for hiding this comment

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

This looks good. The validation section is out-of-date, but I can fix that in a separate PR.

@MicahZoltu
Copy link
Contributor

Given this has been open for over 2 years I'm satisfied with 3 approvals. Going to merge this, we can always iterate on it later if other people have feedback.

@MicahZoltu MicahZoltu merged commit b36a8ad into ethereum:master Sep 24, 2020
@fulldecent
Copy link
Contributor Author

Cool, thank you

@fulldecent fulldecent deleted the patch-19 branch September 24, 2020 02:38
tkstanczak pushed a commit to tkstanczak/EIPs that referenced this pull request Nov 7, 2020
Arachnid pushed a commit to Arachnid/EIPs that referenced this pull request Mar 6, 2021
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.

6 participants