-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Draft] Add a maximum cap per project #325
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Tim Beiko <[email protected]>
Signed-off-by: Tim Beiko <[email protected]>
| Description | Repos/Projects | Current Members / Max Cap | | ||
|:--|:---|:---| | ||
| Work on the canonical protocol specs. <br/> Should be implementation agnostic + unopinionated | - [Consensus specs](https://github.com/ethereum/consensus-specs) <br/> - [Execution specs (EELS)](https://github.com/ethereum/execution-specs) <br/> - [Execution APIs](https://github.com/ethereum/execution-apis) | 3 / 5 | | ||
| Ethereum mainnet client implementations. <br/> Must be well-tested, technically differentiated, <br/> and production ready | - [Erigon](https://github.com/erigontech/erigon) <br/> - [EthereumJS](https://github.com/ethereumjs) <br/> - [Geth](https://github.com/ethereum/go-ethereum) <br/> - [Grandine](https://github.com/grandinetech/grandine) <br/> - [Hyperledger Besu](https://github.com/hyperledger/besu) <br/> - [Lighthouse](https://github.com/sigp/lighthouse) <br/> - [Lodestar](https://github.com/ChainSafe/lodestar) <br/> - [Nethermind](https://github.com/NethermindEth/nethermind) <br/> - [Nimbus](https://github.com/status-im/nimbus-eth2) <br/> - [Prysm](https://github.com/prysmaticlabs/prysm) <br/> - [Teku](https://github.com/ConsenSys/teku) <br/> - [Reth](https://github.com/paradigmxyz/reth) | Erigon: 13.5 / 15 <br/> EthereumJS: 4.5 / 8 <br/> Geth: 6 / 10 <br/> Grandine: 4 / 8 <br/> Besu: 12 / 15 <br/> Lighthouse: 11.5 / 15 <br/> Lodestar: 8 / 10 <br/> Nethermind: 13 / 15 <br/> Nimbus: 8 / 10 <br/> Prysm: 11 / 15 <br/> Teku: 10 / 12 <br/> Reth: 6 / 10 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we have Teku with 10 instead of 7? Or if we are considering 2 of the occasional contributors it would still be 9. Maybe I missed something? Or are these just "placeholder" values?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we have Teku with 10 instead of 7? Or if we are considering 2 of the occasional contributors it would still be 9. Maybe I missed something? Or are these just "placeholder" values?
I tried to make sense of it but I couldn't. Most likely placeholder values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's a placeholder. I should have clarified, sorry! I had an LLL count how many there were by project already and add a couple more buffers for larger projects 😄
I think we should either put all clients at like +33% from what they currently have for an initial cap, or the same number.
| Description | Repos/Projects | Current Members / Max Cap | | ||
|:--|:---|:---| | ||
| Work on the canonical protocol specs. <br/> Should be implementation agnostic + unopinionated | - [Consensus specs](https://github.com/ethereum/consensus-specs) <br/> - [Execution specs (EELS)](https://github.com/ethereum/execution-specs) <br/> - [Execution APIs](https://github.com/ethereum/execution-apis) | 3 / 5 | | ||
| Ethereum mainnet client implementations. <br/> Must be well-tested, technically differentiated, <br/> and production ready | - [Erigon](https://github.com/erigontech/erigon) <br/> - [EthereumJS](https://github.com/ethereumjs) <br/> - [Geth](https://github.com/ethereum/go-ethereum) <br/> - [Grandine](https://github.com/grandinetech/grandine) <br/> - [Hyperledger Besu](https://github.com/hyperledger/besu) <br/> - [Lighthouse](https://github.com/sigp/lighthouse) <br/> - [Lodestar](https://github.com/ChainSafe/lodestar) <br/> - [Nethermind](https://github.com/NethermindEth/nethermind) <br/> - [Nimbus](https://github.com/status-im/nimbus-eth2) <br/> - [Prysm](https://github.com/prysmaticlabs/prysm) <br/> - [Teku](https://github.com/ConsenSys/teku) <br/> - [Reth](https://github.com/paradigmxyz/reth) | Erigon: 13.5 / 15 <br/> EthereumJS: 4.5 / 8 <br/> Geth: 6 / 10 <br/> Grandine: 4 / 8 <br/> Besu: 12 / 15 <br/> Lighthouse: 11.5 / 15 <br/> Lodestar: 8 / 10 <br/> Nethermind: 13 / 15 <br/> Nimbus: 8 / 10 <br/> Prysm: 11 / 15 <br/> Teku: 10 / 12 <br/> Reth: 6 / 10 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest setting the cap to at least 10 for all production grade clients. I also think that clients with a larger market share should have a higher cap than 10 (that's actually mostly reflected in the suggested caps except a few outliers).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, my comment was a hint that Grandine prefers to have a max cap of 10 too :)
| Ethereum mainnet client implementations. <br/> Must be well-tested, technically differentiated, <br/> and production ready | - [Erigon](https://github.com/erigontech/erigon) <br/> - [EthereumJS](https://github.com/ethereumjs) <br/> - [Geth](https://github.com/ethereum/go-ethereum) <br/> - [Grandine](https://github.com/grandinetech/grandine) <br/> - [Hyperledger Besu](https://github.com/hyperledger/besu) <br/> - [Lighthouse](https://github.com/sigp/lighthouse) <br/> - [Lodestar](https://github.com/ChainSafe/lodestar) <br/> - [Nethermind](https://github.com/NethermindEth/nethermind) <br/> - [Nimbus](https://github.com/status-im/nimbus-eth2) <br/> - [Prysm](https://github.com/prysmaticlabs/prysm) <br/> - [Teku](https://github.com/ConsenSys/teku) <br/> - [Reth](https://github.com/paradigmxyz/reth) | Erigon: 13.5 / 15 <br/> EthereumJS: 4.5 / 8 <br/> Geth: 6 / 10 <br/> Grandine: 4 / 8 <br/> Besu: 12 / 15 <br/> Lighthouse: 11.5 / 15 <br/> Lodestar: 8 / 10 <br/> Nethermind: 13 / 15 <br/> Nimbus: 8 / 10 <br/> Prysm: 11 / 15 <br/> Teku: 10 / 12 <br/> Reth: 6 / 10 | | ||
| Client testing/security/infra <br/> which supports these implementations | - [ethereum/tests](https://github.com/ethereum/tests) <br/> - [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) | 2.5 / 5 | | ||
| Network upgrade coordination | - [ethereum/pm](https://github.com/ethereum/pm) | 2 / 3 | | ||
| Research and implementation experiments <br/> related to potential protocol changes | - [Verkle trees](https://github.com/gballet/go-verkle) (Verge) <br/> - [Portal Network](https://github.com/ethereum/portal-network-specs) (Purge) <br/> - [Ipsilon](https://github.com/ipsilon) (EVM Improvements) <br/> - Consensus work <br/> - Cryptography <br/> - Mechanism design <br/> - Resource pricing | Verkle Trees: 3 / 5 <br/> Portal Network: 7 / 10 <br/> EVM/Ipsilon: 4 / 8 <br/> Consensus Research: 12 / 15 <br/> Cryptography: 5 / 8 <br/> Mechanism Design: 5.5 / 8 <br/> Resource Pricing: 2 / 5 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that Protocol Security is missing, should that also be on the list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but probably in a different PR @fredriksvantes 😄
Based on discord conversations, here's a simple example for what adding the maximum cap per project could look like.
Importantly, it doesn't touch on how to handle people contributing to multiple projects. My proposed approach here would be that part if people work on multiple projects, we consider them "part weight" across them, meaning that each additional project is considered +0.5 and we generally don't expect people to span >2.