From e539cf19d4aadfe6539eb90ac08b2544aa62490d Mon Sep 17 00:00:00 2001 From: Tim Beiko Date: Fri, 3 May 2019 15:11:00 -0400 Subject: [PATCH 1/5] Update eip-1.md --- EIPS/eip-1.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index 8fc28d16cb96f9..d8142bd638372c 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -37,11 +37,31 @@ An EIP must meet certain minimum criteria. It must be a clear and complete descr ## EIP Work Flow +### Shepherding an EIP + Parties involved in the process are you, the champion or *EIP author*, the [*EIP editors*](#eip-editors), and the [*Ethereum Core Developers*](https://github.com/ethereum/pm). -:warning: Before you begin, vet your idea, this will save you time. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research (searching the Internet does not always do the trick). It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Ethereum is used. Examples of appropriate public forums to gauge interest around your EIP include [the Ethereum subreddit], [the Issues section of this repository], and [one of the Ethereum Gitter chat rooms]. In particular, [the Issues section of this repository] is an excellent place to discuss your proposal with the community and start creating more formalized language around your EIP. +It will be your role as the champion to socialize your EIP and build community consensus around it. Before you begin writting a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. It is recommended to open a discussion thread on [the Ethereum Magicians forum], but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. + +In addition to making sure your idea is original, you should try and gauge whether the community interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a technically complex Core EIP will have to be much higher than for a simple ERC. + +### Core EIPs + +For Core EIPs, given that they require client implementations to be considered **Final** (see "EIPs Process" below), you will need to either provide an implementation for clients or convince clients to implement your EIP. + +The best way to get client implementers to review your EIP is to present it on an AllCoreDevs call. You can request to do so by posting a comment linking your EIP on an [AllCoreDevs agenda Github Issue]. + +The AllCoreDevs call serve as a way for client implementers to do three things. First, to discuss the technical merits of EIPs. Second, to gauge what other clients will be implementing. Third, to coordinate EIP implementation for network upgrades. + +These calls generally result in a "rough consensus" around what EIPs should be implemented. This "rough consensus" rests on the assumptions that EIPs are not contentious enough to cause a network split and that they are technically sound. + +:warning: The EIPs process and AllCoreDevs call were not designed to address contentious non-technical issues, but, due to the lack of other ways to address these, often end up entangled in them. This puts the burden on client implementers to try and gauge community sentiment, which hinders the technical coordination function of EIPs and AllCoreDevs calls. If you are shepherding an EIP, you can make the process of building community consensus easier by making sure that [the Ethereum Magicians forum] thread for your EIP includes or links to as much of the community discussion as possible and that various stakeholders are well-represented. + +*In short, your role as the champion is to write the EIP using the style and format described below, shepherd the discussions in the appropriate forums, and build community consensus around the idea.* + +### EIP Process -Your role as the champion is to write the EIP using the style and format described below, shepherd the discussions in the appropriate forums, and build community consensus around the idea. Following is the process that a successful EIP will move along: +Following is the process that a successful EIP will move along: ``` [ WIP ] -> [ DRAFT ] -> [ LAST CALL ] -> [ ACCEPTED ] -> [ FINAL ] @@ -273,6 +293,8 @@ See [the revision history for further details](https://github.com/ethereum/EIPs/ [markdown]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet [Bitcoin's BIP-0001]: https://github.com/bitcoin/bips [Python's PEP-0001]: https://www.python.org/dev/peps/ +[the Ethereum Magicians forum]: https://ethereum-magicians.org/ +[AllCoreDevs agenda Github Issue]: https://github.com/ethereum/pm/issues ## Copyright From 331f7981e4dbe90ef145a8375a62620a80f98162 Mon Sep 17 00:00:00 2001 From: Bryant Eisenbach Date: Tue, 7 May 2019 16:04:15 -0400 Subject: [PATCH 2/5] Update EIPS/eip-1.md Co-Authored-By: timbeiko --- EIPS/eip-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index d8142bd638372c..208798a70fb884 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -41,7 +41,7 @@ An EIP must meet certain minimum criteria. It must be a clear and complete descr Parties involved in the process are you, the champion or *EIP author*, the [*EIP editors*](#eip-editors), and the [*Ethereum Core Developers*](https://github.com/ethereum/pm). -It will be your role as the champion to socialize your EIP and build community consensus around it. Before you begin writting a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. It is recommended to open a discussion thread on [the Ethereum Magicians forum], but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. +It will be your role as the champion to socialize your EIP and build community consensus around it. Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. It is recommended to open a discussion thread on [the Ethereum Magicians forum], but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. In addition to making sure your idea is original, you should try and gauge whether the community interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a technically complex Core EIP will have to be much higher than for a simple ERC. From 81d2e268895ef2a2265bb7801dd944484ca89221 Mon Sep 17 00:00:00 2001 From: Tim Beiko Date: Wed, 12 Jun 2019 13:57:26 -0400 Subject: [PATCH 3/5] Update EIP-1 based on reviewer feedback --- EIPS/eip-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index 43c5c73f9f235d..8a4d182dc33e76 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -41,9 +41,9 @@ An EIP must meet certain minimum criteria. It must be a clear and complete descr Parties involved in the process are you, the champion or *EIP author*, the [*EIP editors*](#eip-editors), and the [*Ethereum Core Developers*](https://github.com/ethereum/pm). -It will be your role as the champion to socialize your EIP and build community consensus around it. Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. It is recommended to open a discussion thread on [the Ethereum Magicians forum], but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. +Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. Proposing an EIP which has not been properly dilligenced may be grounds for EIP Editors not granting the "Draft" status. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum] to do this, but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. -In addition to making sure your idea is original, you should try and gauge whether the community interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a technically complex Core EIP will have to be much higher than for a simple ERC. +In addition to making sure your idea is original, it will be your role as the champion to socialize your EIP and build community consensus around it. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a technically complex Core EIP will have to be much greater than for a simple ERC. While "community interest" will not be a factor in deciding whether an EIP gets merged as a draft, insufficient community interest may prevent your EIP from moving forward, especially if it is a Core EIP. ### Core EIPs From daccc8eb5ee2b2169c54ff6823ba0e8be7814f51 Mon Sep 17 00:00:00 2001 From: Tim Beiko Date: Thu, 13 Jun 2019 09:17:52 -0400 Subject: [PATCH 4/5] Remove qualifiers Based on @carver's comments. --- EIPS/eip-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index 8a4d182dc33e76..bed51a3b315ecd 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -43,7 +43,7 @@ Parties involved in the process are you, the champion or *EIP author*, the [*EIP Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. Proposing an EIP which has not been properly dilligenced may be grounds for EIP Editors not granting the "Draft" status. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum] to do this, but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. -In addition to making sure your idea is original, it will be your role as the champion to socialize your EIP and build community consensus around it. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a technically complex Core EIP will have to be much greater than for a simple ERC. While "community interest" will not be a factor in deciding whether an EIP gets merged as a draft, insufficient community interest may prevent your EIP from moving forward, especially if it is a Core EIP. +In addition to making sure your idea is original, it will be your role as the champion to socialize your EIP and build community consensus around it. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a Core EIP will have to be much greater than for an ERC. While "community interest" will not be a factor in deciding whether an EIP gets merged as a draft, insufficient community interest may prevent your EIP from moving forward, especially if it is a Core EIP. ### Core EIPs From c805621183847f45f919c7a0dbe10929fab1c440 Mon Sep 17 00:00:00 2001 From: Tim Beiko Date: Thu, 11 Jul 2019 09:10:42 -0400 Subject: [PATCH 5/5] Rephrase based on review feedback Rephrase based on review feedback --- EIPS/eip-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index bed51a3b315ecd..1479cb416258fa 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -41,9 +41,9 @@ An EIP must meet certain minimum criteria. It must be a clear and complete descr Parties involved in the process are you, the champion or *EIP author*, the [*EIP editors*](#eip-editors), and the [*Ethereum Core Developers*](https://github.com/ethereum/pm). -Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. Proposing an EIP which has not been properly dilligenced may be grounds for EIP Editors not granting the "Draft" status. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum] to do this, but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. +Before you begin writing a formal EIP, you should vet your idea. Ask the Ethereum community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research. It is thus recommended to open a discussion thread on [the Ethereum Magicians forum] to do this, but you can also use [one of the Ethereum Gitter chat rooms], [the Ethereum subreddit] or [the Issues section of this repository]. -In addition to making sure your idea is original, it will be your role as the champion to socialize your EIP and build community consensus around it. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the community interest required for a Core EIP will have to be much greater than for an ERC. While "community interest" will not be a factor in deciding whether an EIP gets merged as a draft, insufficient community interest may prevent your EIP from moving forward, especially if it is a Core EIP. +In addition to making sure your idea is original, it will be your role as the author to make your idea clear to reviewers and interested parties, as well as inviting editors, developers and community to give feedback on the aforementioned channels. You should try and gauge whether the interest in your EIP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. For example, the work required for implementing a Core EIP will be much greater than for an ERC and the EIP will need sufficient interest from the Ethereum client teams. Negative community feedback will be taken into consideration and may prevent your EIP from moving past the Draft stage. ### Core EIPs