As Ethereum Classic (ETC) is a truly decentralized ecosystem, its improvement proposal process has somewhat fragmented, misaligned in some concepts, and is located in diverse online sites. That is a good thing. The only inconvenience is that it may be confusing for new entrants and observers (core developers, entrepreneurs, startups, dapp developers, investors, research analysts, consumers, businesses, governments, etc.) as ETC grows in the future.
To solve this I propose to align the text, status terms, and ECIP types in the process and to replicate these alignements across all online locations. These changes should make the ECIP process more professional, transparent, easier to use and less mentally taxing for newcomers or outside observers wishing to participate or analyze it.
These changes would make the ECIP process much better than the Bitcoin BIP and Ethereum EIP processes.
Current Situation
As may be seen below, there are five online locations for the ECIP process, with different formats, texts, status terms, and ECIP types:
When browsing the five ECIP online locations above, they all have different categorizations in the form of Status Terms and ECIP Types, and, consequently, they all group ECIPs differently:
As can be seen above, in the ecips.ethereumclassic.org
location they use ECIP Types as the categorization and the types used are not the current ones (e.g. Standards Track, Informational, Process). In the other locations, except for ./ethereumproject/ECIPs
, they use the Status Terms, but all have different status terms! The only one that has the current status terms is ./ethereumclassic/ECIPs
(Draft, Final Call, Accepted, Final, Deferred, Rejected, Replaced, Withdrawn). The ./ethereumproject/ECIPs
location actually has no categorization at all.
These are the links to the above locations so you can see for yourself:
• ecips.ethereumclassic.org
• ecips.that.world
• Github ethereumclassic ECIPs
• Github etclabscore ECIPs
• Github ethereumproject ECIPs
What Have I Done up to now?
After analyzing the centralized Bitcoin BIP and Ethereum EIP processes in the last few weeks, realizing they are not very efficient nor clear, that ETC followed their models, and that it can be improved, I have proposed the following changes that were actually merged in the ECIP process on the ethereumclassic
Github:
• ECIP Status Terms: I proposed to use these 8 steps Draft
| Last Call
| Accepted
| Final
| Rejected
| Deferred
| Replaced
| Withdrawn
. Then they were merged into the ./ethereumclassic/ECIPs
README.md file:
• I kept the original ECIP Types in ECIP-1000.md, which are Standards Track
| Informational
| Process
. These were confirmed when my PR, correcting and adjusting ECIP-1000.md, was merged:
• I Aligned the texts of the ./ethereumclassic/ECIPs
README.md and ECIP-1000.md files to have both the types and status terms the same.
• Based on all the ECIP documents I read (README.md, ECIP-1.sample, ECIP-number.template and ECIP-1000.md), I added a new Types of Participants section in the README.md file so newcomers can understand who participates in the ECIP process during the life cycle of an ECIP. The participants I defined, and that were merged, are ECIP Author
| Editors
| Developer Teams
| Implementors
| Users
| Discussion Participants
:
• I added an assets
directory in the ./ethereumclassic/ECIPs
Github for Auxiliary Files as per instructions in ECIP-1000.md:
• I updated the process of proposal and review image to fit the new status terms:
Key Documents in all ECIP Repos and Locations
All the key documents that I have identified, and tried to align, to construct a unified ECIP process and categorization are:
• README.md
• ECIP-1000.md
• ECIP-1.sample.md
• ECIP-number.template.md
What I Propose
I propose to align the text, status terms, and ECIP types in the process and to replicate these alignements across all online locations.
To do the above I propose to the managers of all ECIP online locations at ecips.ethereumclassic.org
| ecips.that.world
| ./ethereumclassic/ECIPs
| ./etclabscore/ECIPs
| ./ethereumproject.ECIPs
to:
• Use the same introductory text in README.md on all their home pages.
• Use a unified set of ECIP Types:Standards Track
|Informational
|Process
.
• Use a unified set of ECIP Status Terms:Draft
|Last Call
|Accepted
|Final
|Rejected
|Deferred
|Replaced
|Withdrawn
.
• All host and point to the same key files:README.md
|ECIP-1000.md
|ECIP-1-sample.md
|ECIP-number.template.md
.
• The ones who are on Github, have anassets
directory for Auxiliary Files.
• Use the latestprocess.png
image with the current ECIP status terms.
Conclusion
The current situation of the ECIP process is that it is hosted in several locations, which is good, but it is misaligned, which may be confusing to newcomers as ETC grows. To solve this I propose to align several parts of the ECIP process on all sites.
Each ECIP location and manager can keep the style and design they like, but it would be great and more professional to have the same descriptions and categorizations on all sites to make search and discoverability easier and less mentally taxing for a future expanding ETC ecosystem.
Code Is Law