Skip to content

Move canonical core-geth pointer to ethereumclassic org#1678

Open
realcodywburns wants to merge 4 commits intomasterfrom
realcodywburns-patch-1
Open

Move canonical core-geth pointer to ethereumclassic org#1678
realcodywburns wants to merge 4 commits intomasterfrom
realcodywburns-patch-1

Conversation

@realcodywburns
Copy link
Copy Markdown
Member

This PR updates the website to point to ethereumclassic/core-geth as the canonical client repository, replacing the current link to etclabscore/core-geth and remove the link to the etclabscore repo from the footer.

Rationale

The ETC core geth client is a community asset. Many other core ETC repository — ECIPs, the website, community calls — lives in the ethereumclassic org where changes require review from multiple maintainers before merging. The client is the exception, and that exception creates a governance gap.

The recent v1.12.21 security release illustrates the gap concretely. It was a valid and necessary fix, but it was merged to the production client without prior visibility to other contributors or community maintainers. For a security patch that's an understandable tradeoff. As a general operating model for the canonical client, it isn't.
Moving the canonical pointer to the community org establishes that:

  • Official releases are visible to core contributors before they reach the website and CI/CD pipelines
  • The client has the same oversight model as every other ETC community repository
  • No single institution's infrastructure is a single point of failure for the community's canonical client reference

Scope
This PR changes the website link. CI/CD pipeline migration to watch the ethereumclassic org repo is a follow-on coordination item and does not block this change. The intent is to establish the governance standard; the technical migration is low-lift and can follow.

This is not a personnel change. The Coop's role maintaining the client and the bootnodes is unchanged. This is about where the community's official reference to that work lives.

Removed GitHub Labs entry from the UI configuration.
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 20, 2026

Deploy Preview for ethereumclassic ready!

Name Link
🔨 Latest commit 37f8a97
🔍 Latest deploy log https://app.netlify.com/projects/ethereumclassic/deploys/69bd9b65cca83400073352c7
😎 Deploy Preview https://deploy-preview-1678--ethereumclassic.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@realcodywburns realcodywburns added the scrutiny required This issue is potentially controversial and requires more than usual discussion label Mar 20, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the website’s canonical references for the CoreGeth client to point at the ethereumclassic/core-geth GitHub repository and removes the ETC Labs GitHub link from the global footer social links.

Changes:

  • Removed the etclabscore GitHub organization link from the footer social items.
  • Updated the CoreGeth client entry to link to ethereumclassic/core-geth for repo, releases, and support.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
content/ui.global.yaml Removes the ETC Labs GitHub footer/social entry.
content/development/clients/index.yaml Updates CoreGeth links to the ethereumclassic org (repo/releases/issues).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

chris-mercer
chris-mercer previously approved these changes Mar 20, 2026
Copy link
Copy Markdown
Member

@chris-mercer chris-mercer left a comment

Choose a reason for hiding this comment

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

+1 — fully support this move.

To put a finer point on the governance gap Cody describes: etclabscore/core-geth went 21 months without a release (v1.12.20 in June 2024 to v1.12.21 two days ago), yet the codebase was sitting on Go 1.21 (EOL since August 2024), with 20 known vulnerabilities (9 with confirmed call traces via govulncheck), including 4 named CVEs in the cryptographic subsystem.

These vulnerabilities were raised to the current maintainer on multiple occasions — through both the project Discord and repository issues (e.g., etclabscore/core-geth#692) — without resolution. When v1.12.21 was finally pushed two days ago (etclabscore/core-geth#694), an independent security review has already confirmed it is still missing fixes for CVE-2025-24883, CVE-2026-26315, and potentially CVE-2026-22868 and CVE-2026-26313. This isn't intended as a personal criticism, but it does illustrate the structural risk of placing sole responsibility for the network's primary client on a single maintainer. When that single point of contact is unavailable — or rushing patches without adequate review — the entire community's security posture suffers.

White B0x Inc., on behalf of the Ethereum Classic DAO LLC, has already begun submitting security patches to ethereumclassic/core-geth.

Every one of these patches is submitted for proper multi-maintainer review — the standard that should apply to the network's primary client.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@IstoraMandiri
Copy link
Copy Markdown
Collaborator

IstoraMandiri commented Mar 20, 2026

Would like to hear @diega 's take as he's involved directly.

My main concern are the implications on decentralization, as having a completely separate maintainer from the community org has advantages, a separation of concerns, if you like.

It needs more discussion, and a formalization of duties of maintainers / approvers.

@diega
Copy link
Copy Markdown

diega commented Mar 23, 2026

I think this goes in the wrong direction.
There is no canonical Ethereum Classic protocol implementation. There's a client implementation that has been chosen by the majority of the network, maybe because of convenience, maybe because of trust in the maintainers, maybe because this is a fork from a once-majority Ethereum client, maybe because of this one being the only client with some budget behind it. It's hard to say and I don't think anyone can be the spokesman for the user base. That's why we follow a strict ECIP process, to protect the network from centralization of specification (i.e. a single client guiding the protocol) and from involuntary consensus rules (i.e. bugs). Not even ethereum/go-ethereum is more canonical than any other Ethereum client.
Client diversity has always been a goal for the protocol since the beginning, and if what we are looking for is to change that, then it has to be discussed and agreed upon properly (I think it's clear what I'm going to advocate for).
In the meantime, if there's some interest in client diversity, I would really appreciate it if you took a look at any of the three clients that I've been working on with the same dedication that any of the core-geth maintainers have ever put into this duty. Those are diega/besu-etc-plugin, etccooperative/nethermind-etc-plugin and diega/go-ethereum-classic

@realcodywburns
Copy link
Copy Markdown
Member Author

it is not appropriate to ask network participants to pull from random dev repos. This repo is a neutral location and the most appropriateplace for the code to live. core geth is the reference client and the software that the network recommends users download and run. All ci/cd pipelines can be run here and users can find ecips and history.

@IstoraMandiri
Copy link
Copy Markdown
Collaborator

nack - having client code in different locations helps separate concerns and prevents centralization.

Unifying client code under the ethereumclassic org may give people an undue sense of 'officialness', and the governance process determining what code is included certainly need further discussion.

Do not merge this.

Copy link
Copy Markdown
Collaborator

@IstoraMandiri IstoraMandiri left a comment

Choose a reason for hiding this comment

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

Needs further discussion

@IstoraMandiri
Copy link
Copy Markdown
Collaborator

IstoraMandiri commented Mar 27, 2026

ethereumclassic/core-geth#33
ethereumclassic/core-geth#32
ethereumclassic/core-geth#22

Scrutiny required as this move seems to be part of the Olympia discussion.

What are the true intentions of this PR?

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scrutiny required This issue is potentially controversial and requires more than usual discussion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants