Aligning the Ethereum Classic ECIP Process and Online Locations for Future Growth

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:

Fragmented (good) but misaligned (bad) ECIP online locations.

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:

In the different online locations, ECIPs are categorized differently, using “types” or “status terms”.

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:

Merged ECIP Status Terms.

• 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:

The latest ECIP Types on ECIP-1000.md.

• 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:

Types of Participants in the Life Cycle of an ECIP.

• I added an assets directory in the ./ethereumclassic/ECIPs Github for Auxiliary Files as per instructions in ECIP-1000.md:

Auxiliary Files Directory required as per ECIP-1000.md instructions.

• I updated the process of proposal and review image to fit the new status terms:

The new “process.png” image that fits the latest “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 an assets directory for Auxiliary Files.
• Use the latest process.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

Author: Donald McIntyre

Read about me here.