hyperledger / fabric

Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
https://wiki.hyperledger.org/display/fabric
Apache License 2.0
15.76k stars 8.86k forks source link

Combine maintainers across fabric repositories #4947

Closed denyeart closed 3 months ago

denyeart commented 3 months ago

The Hyperledger foundation is adopting the concept of project-wide Technical Steering Committees (TSCs) to provide governance and technical oversight for that project's various code repositories. For the Fabric project specifically, this would for the most part formalize practices that have already been underway, as many of the repositories simply utilized the maintainers defined in the fabric MAINTAINERS.md file who provided governance and oversight duties for Fabric repositories.

This commit proposes to formalize the set of repositories that are governed by the core Fabric maintainers. The list of repositories should include any repository that the maintainers would like to ensure remain current and compatible.

The repositories include:

Note that cross-repository interoperability testing has shifted from fabric-test to fabric-samples in the last couple years, and therefore fabric-test may be archived soon.

This commit additionally proposes to define the new combined set of maintainers based on a union of the existing active maintainers in the above repositories. Specifically, this would include the addition of Mark Lewis who has been an active contributor and maintainer in repositories such as fabric-protos, fabric-protos-go, fabric-protos-go-apiv2, fabric-ca, fabric-chaincode-go, fabric-contract-api-go, fabric-chaincode-java, fabric-chaincode-node, fabric-gateway, and fabric-samples.

Some benefits of the combined set of maintainers:

Repositories not included in the above list tend to be legacy repositories or serve niche use cases and will therefore continue to utilize their own sets of maintainers who have experience in the respective repository.

denyeart commented 3 months ago

Sorry but the fact we have a Fabric TSC doesn't mean we should have maintainers from other repositories also be maintainers of the Fabric core.

Makes sense Yacov, I'll close this PR to cancel the proposal. Instead I'll propose some language in the Fabric charter document that will soon be out for review. My main goal is to ensure that the Fabric TSC has representation from both core server components and core client SDK components. We can do that without updating the maintainer files. Therefore I'll propose the following wording for the upcoming draft charter:

"The Fabric TSC voting members are initially a union of project maintainers listed in the MAINTAINERS file in the Project’s fabric repository (https://github.com/hyperledger/fabric/blob/main/MAINTAINERS.md) and the project maintainers listed in the MAINTAINERS file in the fabric-gateway repository (https://github.com/hyperledger/fabric-gateway/blob/main/MAINTAINERS.md), to ensure representation from both the core server components and core client components of Hyperledger Fabric."