How to get an EIP accepted in the Ethereum community (as seen in the docs)
I recently was interested in creating my own proposal, and in the middle of it, I decided that it would be interesting to document my notes on the process of how the Ethereum community currently operates to think about how it can be more inclusive and efficient.
To start, below are the current editors for EIPs from the EIP Purposes document here: https://eips.ethereum.org/EIPS/eip-1
How do I contact them? Do I just send them a random DM? Not totally sure about how to do it, but I’m sure there are ways to send a message to all editors at once. But will they read it?…
EIP Work Flow
From the document:
EIP Work Flow
Shepherding an EIP
Parties involved in the process are you, the champion or EIP author, the EIP editors, and the Ethereum Core Developers.
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 rejected based on prior research. It is thus recommended to open a discussion thread on the Ethereum Magicians forum to do this.
Once the idea has been vetted, your next responsibility will be to present (by means of an EIP) the idea to the reviewers and all interested parties, invite editors, developers, and the 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.
Looks pretty simple! Sounds like the steps are:
- Open a discussion on Ethereum Magicians forum. https://ethereum-magicians.org/
- Get enough people rallied into the proposal until people are debating, and then try to loop in editors, developers, and community to review your proposal.
That already sounds like a task that is very confusing to do — how are you one person going to go from forum post to all the necessary parties to review your proposal? How do you even know who to ask for each proposal? Seems like there is room here to build infrastructure for the Ethereum community itself.
Core EIPs
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.
Next, looks like this Github repo is where meetings for the “AllCoreDevs” are listed, and where you comment to request that your EIP is reviewed. https://github.com/ethereum/pm/issues
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.
It sounds like you basically have to become this sheperd on the Magicians forum to get as many people involved as possible. But who???
Template
Here’s the template you can use to write the EIP.
Now what exactly do the editors do to your EIP Proposal after you got the community together to chat about it?
For each new EIP that comes in, an editor does the following:
Read the EIP to check if it is ready: sound and complete. The ideas must make technical sense, even if they don’t seem likely to get to final status.
The title should accurately describe the content.
Check the EIP for language (spelling, grammar, sentence structure, etc.), markup (GitHub flavored Markdown), code style
If the EIP isn’t ready, the editor will send it back to the author for revision, with specific instructions.
Once the EIP is ready for the repository, the EIP editor will:
Assign an EIP number (generally the PR number, but the decision is with the editors)
Merge the corresponding pull request
Send a message back to the EIP author with the next step.
Many EIPs are written and maintained by developers with write access to the Ethereum codebase. The EIP editors monitor EIP changes, and correct any structure, grammar, spelling, or markup mistakes we see.
The editors don’t pass judgment on EIPs. We merely do the administrative & editorial part.
Ok sounds good. So it seems like there is a process…
And if you actually want to be an editor, there is now a proposal for that as well, which was created on May 02, 2022. Linking it down below:
The best available resource to understand the EIP process is EIP-1. Anyone desirous of becoming an EIP editor MUST understand this document. Afterwards, participating in the EIP process by commenting on and suggesting improvements to PRs and issues will familliarize the procedure, and is RECOMMENDED. The contributions of newer editors SHALL be monitored by other EIP editors.
That’s all for now — hope that helps you to start thinking about EIPs and what it might be like to contribute to Ethereum.
❤ Miche