Skip to content

Conversation

@cendhu
Copy link
Contributor

@cendhu cendhu commented May 20, 2025

This RFC proposes the "Fabric Ecosystem Coexistence Model," a strategic framework designed to enhance the adaptability and future relevance of Hyperledger Fabric.

The model outlines a structure where multiple, distinct Fabric-derived implementations (e.g., the current "Fabric Classic" alongside new specialized versions like a potential "Fabric-X") can coexist under the unified Hyperledger Fabric project umbrella.

Key Goals & Proposals:

  1. Enable Specialization: Allows for tailored Fabric implementations optimized for diverse and demanding use cases (e.g., high-throughput systems, CBDCs) that are difficult to address with a one-size-fits-all approach.
  2. Foster Innovation & Growth: Aims to invigorate the ecosystem by providing a clear path for developing and integrating new solutions that expand Fabric's capabilities.
  3. Governance Evolution: Outlines the principles for recognizing new implementations and acknowledges the need for the Fabric TSC to adapt its governance to steward this broader ecosystem.

This RFC argues that such a model is crucial for Fabric's continued growth, preventing stagnation and allowing it to effectively meet next-generation DLT challenges. It draws parallels from other successful technology ecosystems like Java, Python, .NET, and Windows, where similar models of specialized implementations thriving under a common umbrella have proven effective and are popular.

@cendhu
Copy link
Contributor Author

cendhu commented May 20, 2025

@yacovm @denyeart @manish-sethi @tock-ibm @ale-linux @C0rWin @andrew-coleman @bestbeforetoday @satota2 @pfi79

This proposal presents fundamental changes to the Hyperledger Fabric Charter, introducing a new governance model and a coexistence model for multiple Fabric implementations.

Please review and provide your feedback. If you are satisfied with this proposal, kindly approve it.

@C0rWin
Copy link
Contributor

C0rWin commented May 20, 2025

Thank you for submitting this proposal in response to the concerns raised on PR #63. While I appreciate the effort to address the governance questions through a coexistence framework, this proposal still lacks the comprehensive governance model required for such a significant structural change to the Hyperledger Fabric ecosystem.

Critical Governance Elements Missing

A viable "Ecosystem Coexistence Model" would require detailed specifications for:

  1. Decision Authority Structure

    • Which bodies have authority over which components
    • How cross-implementation decisions would be made
    • Escalation paths for conflicts between implementation teams
  2. Maintainer Framework

    • Clear delineation of maintainer responsibilities across implementations
    • Qualification criteria for maintainers of different implementations
    • Process for adding/removing maintainers for specialized implementations
  3. RFC Processing Mechanics

    • How RFCs would be routed to the appropriate implementation teams
    • Which maintainers would have approval authority for which RFCs
    • Handling of RFCs that span multiple implementations
  4. Quality & Compatibility Standards

    • Criteria for what qualifies as an acceptable implementation under the umbrella
    • Minimum compatibility requirements (if any) between implementations
    • Shared core principles that must be maintained
  5. Community Resource Allocation

    • How would documentation, events, and promotional resources be allocated
    • Repository naming conventions and organization
    • Mechanism for preventing user confusion between implementations
  6. Technical Integration Points

    • Shared API boundaries (if any)
    • Migration paths between implementations (if possible)
    • Common testing frameworks or compatibility verification

Missing Compatibility Specification

For a coexistence model to work, there must be a clear specification defining what qualifies an implementation as "Fabric":

  1. Formal Fabric Specification

    • Detailed documentation of the core protocols and behaviors
    • Clear definition of mandatory vs. optional features
    • Version management strategy for the specification itself
  2. API Compatibility Requirements

    • Precisely defined interfaces that must be implemented
    • Client-facing API stability guarantees
    • Required interoperability touchpoints between implementations
  3. Compliance Validation

    • Test suites to validate specification conformance
    • Certification process for implementations
    • Performance and quality benchmarks

Without these clearly defined specifications, it becomes impossible to determine what qualifies as a "Fabric implementation" versus a completely new project that simply shares some conceptual similarities.

Ecosystem Fragmentation Concerns

This proposal would create significant fragmentation that poses real risks to the Fabric ecosystem:

  1. User Decision Paralysis

    • Organizations would face uncertainty about which implementation to adopt
    • Difficult to make informed decisions without clear migration or compatibility paths
    • Risk of "wrong choice" increases adoption hesitation
  2. Documentation & Learning Burden

    • Developers would need to learn multiple programming models and architectures
    • Documentation would need parallel tracks, creating maintenance challenges
    • Community knowledge would fragment across implementations
  3. Developer Community Division

    • Developer focus and expertise would split across implementations
    • Reduced critical mass for innovation on any single implementation
    • StackOverflow questions, blogs, and other resources would become implementation-specific
  4. Support Ecosystem Dilution

    • Vendors and support providers would need to specialize in specific implementations
    • Community support forums would require implementation-specific channels
    • Limited maintainer resources spread across multiple implementations
  5. Brand Confusion

    • "Hyperledger Fabric" would lose its clear meaning and identity
    • Erodes enterprise confidence when adopting "Fabric" without qualifiers
    • Contradicts the established expectation of a graduated, enterprise-ready project

This new PR represents a tactical pivot rather than addressing the fundamental governance concern. Instead of acknowledging that Fabric-X should follow proper incubation as a new project, it attempts to redefine the Fabric project itself to accommodate fundamentally different implementations.

The approach of creating a "coexistence model" after concerns were raised appears to be an attempt to retroactively justify the inappropriate use of the RFC process rather than properly engaging with the established project lifecycle governance.

@cendhu
Copy link
Contributor Author

cendhu commented May 20, 2025

Thanks, @C0rWin, for providing a quick feedback. Some of the concerns are already addressed in the RFC. Anyway, i will address these concerns and update the RFC with more clarity.

@satota2
Copy link
Contributor

satota2 commented May 21, 2025

@cendhu Thank you for this proposal.
Since the discussions — including RFC#63 — are becoming quite complex, my comments may be limited to just a few specific points. Still, I would like to share some thoughts from a user’s perspective on what I found concerning at this point.

About Release Cycles and LTS Support

Governance Models and Release Cadences: Each recognized implementation will have its own set of maintainers and a release cycle appropriate for its community and stability requirements, though all operating under the overarching Fabric TSC.

In this section, it says that each recognized implementation will have its own release cycle.

  • Will LTS (Long Term Support) be provided?
  • If so, how long will each LTS version be supported?

If each implementation handles LTS very differently, it may confuse users.

Therefore, I believe it would be better to have a common LTS strategy across multiple implementations — at least for core repositories — to provide clarity and consistency for users.

About How It Looks from Outside (LFDT Website, Landscape, etc.)

  • How will the Hyperledger Fabric website, documentation portals, and communication channels be structured to clearly present the different implementations and guide users?

In earlier versions, this was listed under Unresolved Questions. I believe that — from a user perspective — this point is very important and deserves further discussion.
We need to carefully consider how the project will appear to people outside the Fabric project, such as on:

Some questions to consider:

  • Will Fabric and Fabric-X be represented with a single icon, or will they appear separately?
    • If shown as one icon, how will the incubation status of Fabric-X be clearly communicated?
    • If shown separately, how will the relationship between the two be explained?

This is just one example, clear guidelines for how these implementations are presented within LFDT are also essential to avoid user confusion.
It’s important to discuss these points before the RFC is approved, not after.

@cendhu
Copy link
Contributor Author

cendhu commented May 21, 2025

Thank you @satota2 for your constructive feedback. Does the following proposed approach address your concern? If so, I can add it to the RFC.

Regarding Release Cycles and Long-Term Support (LTS) Strategy

Community Question/Concern:

"Each recognized implementation will have its own release cycle appropriate for its community and stability requirements... Will LTS (Long Term Support) be provided? If so, how long will each LTS version be supported? If each implementation handles LTS very differently, it may confuse users. Therefore, I believe it would be better to have a common LTS strategy across multiple implementations — at least for core repositories — to provide clarity and consistency for users."

Proposed Approach:
LTS will definitely be provided for production-ready releases of recognized Fabric implementations. However, given that development speeds, feature sets, and community priorities for different implementations (e.g., Fabric Classic vs. a specialized Fabric-X) may vary, their individual release cycles will also differ. Consequently, it may not always be feasible or practical for all implementations to align their LTS release timing simultaneously.

To address the concern for consistency and user clarity, this RFC proposes that:

  • The Expanded Fabric TSC (as detailed in the "Proposed Governance Model" section) will be responsible for establishing common guidelines or minimum expectations for LTS policies for any implementation within the ecosystem that offers LTS.
  • These guidelines could include aspects such as defining a standardized minimum support duration for any release designated as "LTS" by an implementation and clear criteria for what qualifies a release for LTS status within the Fabric ecosystem.
  • While it might be too early to commit that all implementations would release LTS versions at the exact same time, adhering to common TSC guidelines on support length and LTS criteria will provide a predictable and consistent experience for users. Each implementation's maintainers would then manage their specific LTS releases within these broader ecosystem standards.

Regarding External Presentation (LFDT Website, Landscape, etc.)

Community Question/Concern:

"How will the Hyperledger Fabric website, documentation portals, and communication channels be structured to clearly present the different implementations and guide users? ...We need to carefully consider how the project will appear to people outside the Fabric project, such as on: LF Decentralized Trust Projects, LFDT Landscape... Will Fabric and Fabric-X be represented with a single icon, or will they appear separately? If shown as one icon, how will the incubation status of Fabric-X be clearly communicated? If shown separately, how will the relationship between the two be explained? ...It’s important to discuss these points before the RFC is approved, not after."

Proposed Approach:
This RFC acknowledges the critical importance of a clear and consistent external presentation to avoid user confusion and accurately represent the Fabric ecosystem.

  • Overarching Identity: Externally, the project will continue to be known as "Hyperledger Fabric." This signifies the shared heritage, core principles, and overarching governance.
  • Internal Differentiation: Within the Hyperledger Fabric project's official channels (e.g., main website, documentation portals):
    • Clear distinctions will be made for each recognized implementation using specific, TSC-approved naming conventions (e.g., "Hyperledger Fabric Classic," "Hyperledger Fabric-X," "Hyperledger Fabric [NewImplementationName]").
    • The main Hyperledger Fabric documentation landing page will provide a clear overview of the ecosystem model. It will guide users by explaining the purpose, target use cases, current status (e.g., conceptual, incubation, production-ready, LTS), and key differentiators of each implementation, with links to their specific, detailed documentation.
  • Logo and Visual Branding: The proposal is to use the common Hyperledger Fabric logo as the primary brand identifier to emphasize the shared foundation. The distinct names of the implementations (e.g., Fabric Classic, Fabric-X) will be the primary textual differentiator. The TSC will determine the precise visual guidelines for representing multiple implementations respectfully and clearly.
  • Representation on External Platforms (LFDT, etc.): The Expanded Fabric TSC (as outlined in the "Proposed Governance Model" section) will be explicitly responsible for developing and overseeing the strategy for how the Hyperledger Fabric ecosystem and its constituent implementations are presented on external platforms like the Linux Foundation Decentralized Trust (LFDT) website and industry landscapes. This includes:
    • Clearly communicating the relationship between different implementations.
    • Transparently indicating the status of each implementation (e.g., if a new implementation like Fabric-X is initially in an incubation phase within the Fabric project before becoming fully "recognized" or "graduated" under this model).
    • Deciding on details like single vs. multiple icons/entries in consultation with the Hyperledger Foundation and LFDT, based on what provides the most clarity to the broader community and potential adopters.

The principles for these communication and branding strategies are established by this RFC, with the Expanded Fabric TSC tasked with their detailed definition and consistent enforcement.

@C0rWin
Copy link
Contributor

C0rWin commented May 21, 2025

Representation on External Platforms (LFDT, etc.): The Expanded Fabric TSC (as outlined in the "Proposed Governance Model" section) will be explicitly responsible for developing and overseeing the strategy for how the Hyperledger Fabric ecosystem and its constituent implementations are presented on external platforms like the Linux Foundation Decentralized Trust (LFDT) website and industry landscapes. This includes:

  • Clearly communicating the relationship between different implementations.
  • Transparently indicating the status of each implementation (e.g., if a new implementation like Fabric-X is initially in an incubation phase within the Fabric project before becoming fully "recognized" or "graduated" under this model).
  • Deciding on details like single vs. multiple icons/entries in consultation with the Hyperledger Foundation and LFDT, based on what provides the most clarity to the broader community and potential adopters.

I honestly cannot understand why create an independent, self-governed structure that replicates the already existing and well-established process of new project acceptance under Hyperledger - https://toc.hyperledger.org/guidelines/project-incubation-entry-considerations.html.

It's here to have structured control and to warrant proper segregation of responsibilities between graduated Hyperledger projects and those that require proof of their technical maturity and community engagement.

@denyeart
Copy link
Contributor

denyeart commented May 21, 2025

I’ve been fairly quiet in this discussion because I wanted to hear the discussion at the May 21st contributor meeting and verify some facts, which I have now done. Since this comment applies to both RFC63 and RFC64 I am posting to both RFCs.

I have confirmed with LFDT staff that the introduction of project technical charters last year was in part motivated to enable projects to grow and evolve autonomously including the management and addition of sub-projects. A key aspect of that was the establishment of project-specific TSCs that can govern a project beyond the scope of a single repository and even beyond a single family of repositories. The authority is granted to the project-specific TSC to determine the criteria for bringing in new sub-projects. Since RFC63 is the first major proposed addition since adopting the new charter and establishing the Fabric TSC, there is understandably going to be some friction as that criteria is defined.

RFC64 goes a long way towards defining the criteria for new sub-projects. I don’t see this as changing the rules on the fly, I see it as evolving the Fabric ecosystem and TSC given new realities in the manner intended and as defined in the Fabric Technical Charter.

Concerning starting Fabric-X as a lab, my opinion is that Fabric-X is well beyond the state of most labs. Labs are an area to explore new ideas and to get code aligned with open source standards. From what I have seen of the Fabric-X repositories this is already the case (I appreciate that not all Fabric TSC members have seen the repositories). The code has been evolving for at least 5 years and in that time it has withstood scrutiny in pilot projects at large institutions and has likely been performance tested more than any project in the LFDT ecosystem, certainly it has been performance tested more than Fabric itself.

The next steps in my opinion are as follows:

  • Finalize discussion in RFC64 about Fabric Ecosystem including proposed updates to the Fabric Technical Charter.
  • Fabric TSC to vote on RFC64 and the associated Fabric Technical Charter updates (I believe a single vote would be sufficient to cover both aspects assuming the Fabric Technical Charter updates are linked in RFC64. And I believe GitHub approvals count as an electronic vote.)
  • Finalize Fabric-X discussion in RFC63.
  • Fabric TSC to vote on Fabric-X sub-project in RFC63 (again, I believe GitHub approvals count as an electronic vote).

Note that Fabric Technical Charter updates require two-thirds majority of Fabric TSC, and Fabric TSC votes such as new sub-projects require simple majority. This is a higher threshold than RFCs that simply propose code updates.

@C0rWin C0rWin requested a review from Copilot May 21, 2025 20:01
Copy link

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 introduces the “Fabric Ecosystem Coexistence Model” RFC, outlining a framework for recognizing and governing multiple specialized Hyperledger Fabric implementations under one ecosystem.

  • Adds a new RFC document defining core Fabric principles, governance processes, and the lifecycle for coexisting implementations.
  • Describes the motivation, reference-level details, governance model, and examples from other ecosystems.
  • Includes sections on testing indicators, dependencies, and unresolved questions to guide charter amendments.
Comments suppressed due to low confidence (2)

text/0000-fabric-coexistence-model.md:4

  • Inline comments in the YAML frontmatter may break parsing. Consider removing or relocating the # Assuming this is a new RFC in a sequence comment outside the frontmatter.
nav_order: 4 # Assuming this is a new RFC in a sequence

text/0000-fabric-coexistence-model.md:40

  • [nitpick] The naming for implementations varies (e.g., "Fabric (Classic)", "Fabric-Alpha"). Standardize to a single pattern (e.g., "Fabric Classic", "Fabric X") to improve consistency.
* **Fabric (Classic)**: The established, general-purpose Fabric implementation,

Signed-off-by: senthil <[email protected]>
@cendhu
Copy link
Contributor Author

cendhu commented May 22, 2025

Thank you, @denyeart

The PR for changing the Hyperledger Fabric Technical Charter can be found at hyperledger/fabric#5223 and is also linked with this RFC.

@jt-nti
Copy link
Member

jt-nti commented May 22, 2025

Thanks for the update @denyeart, that's really useful.

Concerning starting Fabric-X as a lab, my opinion is that Fabric-X is well beyond the state of most labs. Labs are an area to explore new ideas and to get code aligned with open source standards. From what I have seen of the Fabric-X repositories this is already the case (I appreciate that not all Fabric TSC members have seen the repositories). The code has been evolving for at least 5 years and in that time it has withstood scrutiny in pilot projects at large institutions and has likely been performance tested more than any project in the LFDT ecosystem, certainly it has been performance tested more than Fabric itself.

I'm certainly not opposed to Fabric becoming an umbrella for related blockchain implementations however there may still be value in starting "Fabric-X" as a lab, even a short-lived one. In this case – the first additional implementation – it would give time to solidify the new governance model and build wider community support, as well as the more mundane administrivia* of potential new GitHub orgs, landing pages, and so on, while giving all Fabric TSC members access to the repositories to guide discussions. I also think it would be reasonable precedent to set for future candidate projects to follow:– there are likely to be similar concerns for any additional projects, and it feels like a natural progression to me. As for the maturity of Fabric-X compared to existing labs, there is at least one lab project that has withstood production deployment.

*one such administrivia is naming. Is "Fabric-X" a placeholder for discussion, or is it really the final name? "Fabric Classic" and "Fabric-X" both seem... well... naming is hard! :)

Copy link
Member

@bestbeforetoday bestbeforetoday left a comment

Choose a reason for hiding this comment

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

I agree with including alternative or specialised implementations of the Fabric (permissioned, execute-order-validate) blockchain approach within a Fabric ecosystem, governed by a Fabric ecosystem TSC. Exact charter wording to be refined and agreed subsequently.

@C0rWin
Copy link
Contributor

C0rWin commented May 24, 2025

I strongly support innovative approaches that advance Fabric's capabilities and address emerging market needs. However, I have concerns about the process and timing of these governance changes.

The emergence of RFC #64 immediately after governance concerns were raised about RFC #63 creates an impression that the framework is being retrofitted to accommodate a specific pending proposal rather than addressing genuine community-identified needs.

This reactive approach raises questions about whether these fundamental changes reflect collective priorities or are primarily driven by particular stakeholder interests and timelines. The Fabric community benefits most when governance evolution emerges from demonstrated community needs rather than accommodation of predetermined technical directions.

@satota2
Copy link
Contributor

satota2 commented May 26, 2025

@cendhu Thank you very much for your continued consideration.

Thanks for the update @denyeart, that's really useful.

Concerning starting Fabric-X as a lab, my opinion is that Fabric-X is well beyond the state of most labs. Labs are an area to explore new ideas and to get code aligned with open source standards. From what I have seen of the Fabric-X repositories this is already the case (I appreciate that not all Fabric TSC members have seen the repositories). The code has been evolving for at least 5 years and in that time it has withstood scrutiny in pilot projects at large institutions and has likely been performance tested more than any project in the LFDT ecosystem, certainly it has been performance tested more than Fabric itself.

I'm certainly not opposed to Fabric becoming an umbrella for related blockchain implementations however there may still be value in starting "Fabric-X" as a lab, even a short-lived one. In this case – the first additional implementation – it would give time to solidify the new governance model and build wider community support, as well as the more mundane administrivia* of potential new GitHub orgs, landing pages, and so on, while giving all Fabric TSC members access to the repositories to guide discussions. I also think it would be reasonable precedent to set for future candidate projects to follow:– there are likely to be similar concerns for any additional projects, and it feels like a natural progression to me. As for the maturity of Fabric-X compared to existing labs, there is at least one lab project that has withstood production deployment.

*one such administrivia is naming. Is "Fabric-X" a placeholder for discussion, or is it really the final name? "Fabric Classic" and "Fabric-X" both seem... well... naming is hard! :)

I wasn’t able to explain it well during the Contributor Meeting, but @jt-nti ’s comment closely reflects my intention, so I’d like to build on it here.

I also believe that starting Fabric-X as a short-term Labs project could be a valid and pragmatic approach.

  • At this stage, we don’t yet have sufficient clarity on the technical and implementation details, which makes it difficult to make a well-informed decision. (Some of these may become clearer in the upcoming webinar on June 11.)
  • By publishing the code, the community would be able to evaluate the approach through trial use and testing, and provide more constructive feedback.
  • One possible path could be to initially launch the project in Labs with a defined evaluation period. During that time, feedback could be gathered from the community and from RFC discussions. If concerns arise, they can be addressed, and once the direction is clear, the project could be transitioned to the Hyperledger organization.
  • Starting in Labs also implicitly signals to users that the project is still in an incubation or discussion phase.
  • It would also be possible to launch the project in Labs under the name “Fabric-X” and then, upon graduation—regardless of whether it becomes part of Fabric or a new standalone project—consider renaming it. (As was the case with Bevel, which originally started under a different name.)

In addition, like @jt-nti, I share some concerns about the naming.

  • If this implementation is primarily focused on CBDC or digital asset use cases, names like “Fabric-X” or “next-generation Fabric” could be misleading.
  • Users might assume it is the successor to Fabric, or expect it to be general-purpose and fully compatible with existing Fabric features.
  • If it is optimized for specific use cases, the name should clearly reflect that.
  • Naming has a strong influence on the project’s image and user expectations, so we need to be especially careful.
  • That said, if the new implementation proves to be faster, maintains a reasonable level of compatibility, and remains general-purpose, then the name “Fabric-X” could be acceptable as a natural extension of Fabric.

Personally, I’m very excited about the Fabric-X initiative itself.
However, I believe that avoiding user confusion is the most important consideration — and that’s the main perspective behind my comments so far.

@cendhu
Copy link
Contributor Author

cendhu commented May 30, 2025

@cendhu Thank you very much for your continued consideration.

Thanks for the update @denyeart, that's really useful.

Concerning starting Fabric-X as a lab, my opinion is that Fabric-X is well beyond the state of most labs. Labs are an area to explore new ideas and to get code aligned with open source standards. From what I have seen of the Fabric-X repositories this is already the case (I appreciate that not all Fabric TSC members have seen the repositories). The code has been evolving for at least 5 years and in that time it has withstood scrutiny in pilot projects at large institutions and has likely been performance tested more than any project in the LFDT ecosystem, certainly it has been performance tested more than Fabric itself.

I'm certainly not opposed to Fabric becoming an umbrella for related blockchain implementations however there may still be value in starting "Fabric-X" as a lab, even a short-lived one. In this case – the first additional implementation – it would give time to solidify the new governance model and build wider community support, as well as the more mundane administrivia* of potential new GitHub orgs, landing pages, and so on, while giving all Fabric TSC members access to the repositories to guide discussions. I also think it would be reasonable precedent to set for future candidate projects to follow:– there are likely to be similar concerns for any additional projects, and it feels like a natural progression to me. As for the maturity of Fabric-X compared to existing labs, there is at least one lab project that has withstood production deployment.
*one such administrivia is naming. Is "Fabric-X" a placeholder for discussion, or is it really the final name? "Fabric Classic" and "Fabric-X" both seem... well... naming is hard! :)

I wasn’t able to explain it well during the Contributor Meeting, but @jt-nti ’s comment closely reflects my intention, so I’d like to build on it here.

I also believe that starting Fabric-X as a short-term Labs project could be a valid and pragmatic approach.

  • At this stage, we don’t yet have sufficient clarity on the technical and implementation details, which makes it difficult to make a well-informed decision. (Some of these may become clearer in the upcoming webinar on June 11.)
  • By publishing the code, the community would be able to evaluate the approach through trial use and testing, and provide more constructive feedback.
  • One possible path could be to initially launch the project in Labs with a defined evaluation period. During that time, feedback could be gathered from the community and from RFC discussions. If concerns arise, they can be addressed, and once the direction is clear, the project could be transitioned to the Hyperledger organization.
  • Starting in Labs also implicitly signals to users that the project is still in an incubation or discussion phase.
  • It would also be possible to launch the project in Labs under the name “Fabric-X” and then, upon graduation—regardless of whether it becomes part of Fabric or a new standalone project—consider renaming it. (As was the case with Bevel, which originally started under a different name.)

@satota2

Concerning the suggestion to incubate Fabric-X in Hyperledger Labs, I acknowledge the valuable role Labs plays and the benefits you've highlighted, such as signaling a project's developmental stage and fostering focused community evaluation. However, for Fabric-X, we believe development directly within the Hyperledger Fabric ecosystem is the more appropriate and effective path for several key reasons:

  1. Nature of Fabric-X: Hyperledger Labs is an excellent space for new initiatives, particularly those starting without the immediate overhead of an official Hyperledger project or those exploring entirely new, standalone concepts. Fabric-X, however, is not envisioned as a new, independent project requiring separate incubation. Instead, it is conceptualized as a significant evolution and an integral component within the existing Hyperledger Fabric ecosystem. Its design and development are driven by a core team deeply familiar with Fabric, aiming to extend and enhance its capabilities.

  2. Maturity and Backing: Fabric-X is not a nascent idea exploring initial viability. It's a well-considered proposal that has undergone substantial design work, benefits from the experience of seasoned Fabric contributors, and has already garnered significant support from the Fabric maintainers (7 out of 10 approvals). This level of maturity and backing makes it suitable for direct development within the parent project's structure.

  3. Established Precedent: The Hyperledger Fabric project has a history of developing substantial new components and features—such as fabric-gateway and numerous other critical enhancements—directly within its established framework, rather than initiating them in Labs. This long-standing practice has proven effective for incorporating community feedback, facilitating thorough testing, and ensuring successful integration, all while leveraging our existing governance and vibrant contributor base.

  4. Effective Feedback and Engagement: We are confident that by hosting Fabric-X as a sub-project within the Fabric ecosystem from the outset, we can achieve all the desired outcomes of community feedback, trial use, and collaborative testing. This approach also inherently strengthens its connection to core Fabric, encourages immediate engagement from the existing, active Fabric community, and allows us to utilize familiar infrastructure and processes efficiently.

In addition, like @jt-nti, I share some concerns about the naming.

  • If this implementation is primarily focused on CBDC or digital asset use cases, names like “Fabric-X” or “next-generation Fabric” could be misleading.
  • Users might assume it is the successor to Fabric, or expect it to be general-purpose and fully compatible with existing Fabric features.
  • If it is optimized for specific use cases, the name should clearly reflect that.
  • Naming has a strong influence on the project’s image and user expectations, so we need to be especially careful.
  • That said, if the new implementation proves to be faster, maintains a reasonable level of compatibility, and remains general-purpose, then the name “Fabric-X” could be acceptable as a natural extension of Fabric.

Personally, I’m very excited about the Fabric-X initiative itself. However, I believe that avoiding user confusion is the most important consideration — and that’s the main perspective behind my comments so far.

I understand the concerns regarding the name 'Fabric-X' and its potential to create misleading impressions if the project were highly specialized. Naming is indeed crucial for setting the right expectations.

We are committed to ensuring clarity. Through comprehensive documentation, dedicated webinars, technical workshops, and ongoing community calls, we will clearly articulate Fabric-X's capabilities, its relationship to Fabric, its intended use cases, and any differences in compatibility or scope. While we aim for Fabric-X to be a natural and high-performance extension suitable for a broad range of demanding applications, we will ensure our messaging prevents user confusion. We believe these communication efforts will effectively manage perceptions and therefore do not see the name itself as a showstopper at this stage.

@satota2
Copy link
Contributor

satota2 commented May 30, 2025

@cendhu Thank you very much for your continued consideration.

Thanks for the update @denyeart, that's really useful.

Concerning starting Fabric-X as a lab, my opinion is that Fabric-X is well beyond the state of most labs. Labs are an area to explore new ideas and to get code aligned with open source standards. From what I have seen of the Fabric-X repositories this is already the case (I appreciate that not all Fabric TSC members have seen the repositories). The code has been evolving for at least 5 years and in that time it has withstood scrutiny in pilot projects at large institutions and has likely been performance tested more than any project in the LFDT ecosystem, certainly it has been performance tested more than Fabric itself.

I'm certainly not opposed to Fabric becoming an umbrella for related blockchain implementations however there may still be value in starting "Fabric-X" as a lab, even a short-lived one. In this case – the first additional implementation – it would give time to solidify the new governance model and build wider community support, as well as the more mundane administrivia* of potential new GitHub orgs, landing pages, and so on, while giving all Fabric TSC members access to the repositories to guide discussions. I also think it would be reasonable precedent to set for future candidate projects to follow:– there are likely to be similar concerns for any additional projects, and it feels like a natural progression to me. As for the maturity of Fabric-X compared to existing labs, there is at least one lab project that has withstood production deployment.
*one such administrivia is naming. Is "Fabric-X" a placeholder for discussion, or is it really the final name? "Fabric Classic" and "Fabric-X" both seem... well... naming is hard! :)

I wasn’t able to explain it well during the Contributor Meeting, but @jt-nti ’s comment closely reflects my intention, so I’d like to build on it here.
I also believe that starting Fabric-X as a short-term Labs project could be a valid and pragmatic approach.

  • At this stage, we don’t yet have sufficient clarity on the technical and implementation details, which makes it difficult to make a well-informed decision. (Some of these may become clearer in the upcoming webinar on June 11.)
  • By publishing the code, the community would be able to evaluate the approach through trial use and testing, and provide more constructive feedback.
  • One possible path could be to initially launch the project in Labs with a defined evaluation period. During that time, feedback could be gathered from the community and from RFC discussions. If concerns arise, they can be addressed, and once the direction is clear, the project could be transitioned to the Hyperledger organization.
  • Starting in Labs also implicitly signals to users that the project is still in an incubation or discussion phase.
  • It would also be possible to launch the project in Labs under the name “Fabric-X” and then, upon graduation—regardless of whether it becomes part of Fabric or a new standalone project—consider renaming it. (As was the case with Bevel, which originally started under a different name.)

@satota2

Concerning the suggestion to incubate Fabric-X in Hyperledger Labs, I acknowledge the valuable role Labs plays and the benefits you've highlighted, such as signaling a project's developmental stage and fostering focused community evaluation. However, for Fabric-X, we believe development directly within the Hyperledger Fabric ecosystem is the more appropriate and effective path for several key reasons:

  1. Nature of Fabric-X: Hyperledger Labs is an excellent space for new initiatives, particularly those starting without the immediate overhead of an official Hyperledger project or those exploring entirely new, standalone concepts. Fabric-X, however, is not envisioned as a new, independent project requiring separate incubation. Instead, it is conceptualized as a significant evolution and an integral component within the existing Hyperledger Fabric ecosystem. Its design and development are driven by a core team deeply familiar with Fabric, aiming to extend and enhance its capabilities.
  2. Maturity and Backing: Fabric-X is not a nascent idea exploring initial viability. It's a well-considered proposal that has undergone substantial design work, benefits from the experience of seasoned Fabric contributors, and has already garnered significant support from the Fabric maintainers (7 out of 10 approvals). This level of maturity and backing makes it suitable for direct development within the parent project's structure.
  3. Established Precedent: The Hyperledger Fabric project has a history of developing substantial new components and features—such as fabric-gateway and numerous other critical enhancements—directly within its established framework, rather than initiating them in Labs. This long-standing practice has proven effective for incorporating community feedback, facilitating thorough testing, and ensuring successful integration, all while leveraging our existing governance and vibrant contributor base.
  4. Effective Feedback and Engagement: We are confident that by hosting Fabric-X as a sub-project within the Fabric ecosystem from the outset, we can achieve all the desired outcomes of community feedback, trial use, and collaborative testing. This approach also inherently strengthens its connection to core Fabric, encourages immediate engagement from the existing, active Fabric community, and allows us to utilize familiar infrastructure and processes efficiently.

In addition, like @jt-nti, I share some concerns about the naming.

  • If this implementation is primarily focused on CBDC or digital asset use cases, names like “Fabric-X” or “next-generation Fabric” could be misleading.
  • Users might assume it is the successor to Fabric, or expect it to be general-purpose and fully compatible with existing Fabric features.
  • If it is optimized for specific use cases, the name should clearly reflect that.
  • Naming has a strong influence on the project’s image and user expectations, so we need to be especially careful.
  • That said, if the new implementation proves to be faster, maintains a reasonable level of compatibility, and remains general-purpose, then the name “Fabric-X” could be acceptable as a natural extension of Fabric.

Personally, I’m very excited about the Fabric-X initiative itself. However, I believe that avoiding user confusion is the most important consideration — and that’s the main perspective behind my comments so far.

I understand the concerns regarding the name 'Fabric-X' and its potential to create misleading impressions if the project were highly specialized. Naming is indeed crucial for setting the right expectations.

We are committed to ensuring clarity. Through comprehensive documentation, dedicated webinars, technical workshops, and ongoing community calls, we will clearly articulate Fabric-X's capabilities, its relationship to Fabric, its intended use cases, and any differences in compatibility or scope. While we aim for Fabric-X to be a natural and high-performance extension suitable for a broad range of demanding applications, we will ensure our messaging prevents user confusion. We believe these communication efforts will effectively manage perceptions and therefore do not see the name itself as a showstopper at this stage.

@cendhu
Thank you for the detailed response and clarification.
I agree that if user confusion can be effectively avoided, starting in Labs may not be necessary.
However, from the perspective of users and the community, it seems that there are still concerns about clarity and the potential for misaligned expectations.

In particular, regarding naming — while I appreciate the plan to provide clarity through documentation, webinars, and community calls, I’m also concerned that this may place a burden on users to actively seek out that information.
Many users, especially those less actively engaged, often rely on the name alone as their first point of reference, and first impressions carry significant weight.

Would it be possible to leave open the possibility of a name change depending on how the community understands and receives the project?

  • As just one example: Fabric-HTX (Fabric for High Throughput asset eXchange)

I think that with a name like this, the project could be more clearly positioned and differentiated — reducing the risk of confusion while highlighting its intended focus. What are your thoughts?

@cendhu
Copy link
Contributor Author

cendhu commented May 30, 2025

Thank you for the detailed response and clarification. I agree that if user confusion can be effectively avoided, starting in Labs may not be necessary. However, from the perspective of users and the community, it seems that there are still concerns about clarity and the potential for misaligned expectations.

In particular, regarding naming — while I appreciate the plan to provide clarity through documentation, webinars, and community calls, I’m also concerned that this may place a burden on users to actively seek out that information. Many users, especially those less actively engaged, often rely on the name alone as their first point of reference, and first impressions carry significant weight.

Would it be possible to leave open the possibility of a name change depending on how the community understands and receives the project?

  • As just one example: Fabric-HTX (Fabric for High Throughput asset eXchange)

I think that with a name like this, the project could be more clearly positioned and differentiated — reducing the risk of confusion while highlighting its intended focus. What are your thoughts?

@satota2, thanks for your thoughts on naming. I see 'X' in Fabric-X as clearly signifying acceleration and eXtreme performance. Ultimately, irrespective of the name, proactive and clear marketing will be crucial to differentiate this significant advancement from 'Fabric Classic' and educate all users. We are committed to this effort to ensure clarity.

@C0rWin
Copy link
Contributor

C0rWin commented May 31, 2025

@cendhu I must respectfully disargree with provided points and here is why:

Nature of Fabric-X: Hyperledger Labs is an excellent space for new initiatives, particularly those starting without the immediate overhead of an official Hyperledger project or those exploring entirely new, standalone concepts. Fabric-X, however, is not envisioned as a new, independent project requiring separate incubation. Instead, it is conceptualized as a significant evolution and an integral component within the existing Hyperledger Fabric ecosystem. Its design and development are driven by a core team deeply familiar with Fabric, aiming to extend and enhance its capabilities.

You state that Fabric-X is "conceptualized as a significant evolution and an integral component within the existing Hyperledger Fabric ecosystem." However, this characterization is contradicted by the facts:

Private Development: Fabric-X has been developed privately and in a closed manner for years, without any gradual community involvement or transparent evolution. This is fundamentally different from how Fabric features have historically evolved through open discussion and incremental changes.

Distinct Product Focus: The RFC clearly states that Fabric-X is specifically targeted at CBDCs and high-throughput asset management use cases, with significant architectural changes that make it a distinct product rather than an evolution.

Shared Heritage ≠ Same Project: Having the same group of developers working on two products that share some conceptual principles does not justify fusing them together. By this logic, any blockchain project developed by former Fabric contributors could claim to be part of Fabric.

The fact remains that Fabric-X is architecturally, operationally, and programmatically distinct from Fabric - making it a new project, not an evolution.

Maturity and Backing: Fabric-X is not a nascent idea exploring initial viability. It's a well-considered proposal that has undergone substantial design work, benefits from the experience of seasoned Fabric contributors, and has already garnered significant support from the Fabric maintainers (7 out of 10 approvals). This level of maturity and backing makes it suitable for direct development within the parent project's structure

The claim of "significant support from Fabric maintainers (7 out of 10 approvals)" requires critical examination:

Conflict of Interest: The 7 maintainers supporting this proposal are co-authors of the RFC itself and work at the same organization. This represents a clear conflict of interest that undermines the claim of broad community support.

Lack of Technical Details: The "maturity" of Fabric-X cannot be properly assessed from this RFC, which lacks sufficient technical details. Claims of 100k+ TPS and production readiness cannot be verified without access to the code, architecture details, and independent benchmarks.

Closed Development: A project developed in private without community visibility or input cannot claim the same maturity as one that has evolved through open collaboration.

Established Precedent: The Hyperledger Fabric project has a history of developing substantial new components and features—such as fabric-gateway and numerous other critical enhancements—directly within its established framework, rather than initiating them in Labs. This long-standing practice has proven effective for incorporating community feedback, facilitating thorough testing, and ensuring successful integration, all while leveraging our existing governance and vibrant contributor base.

The comparison to fabric-gateway and other enhancements is fundamentally flawed:

Direct Integration: Previous sub-projects like fabric-gateway were directly integrated with Fabric's existing architecture, APIs, and operational model. They enhanced Fabric rather than replacing it.

Backward Compatibility: All previous major additions maintained some level of compatibility or clear migration paths. Fabric-X explicitly has zero interoperability with existing Fabric deployments.

Same Programming Model: Previous additions worked with existing chaincode and client applications. Fabric-X introduces an entirely new programming paradigm ("Flows" vs chaincode).

This is not an "apples to apples" comparison - you're attempting to use precedent from incremental improvements to justify introducing a completely incompatible system.

Effective Feedback and Engagement: We are confident that by hosting Fabric-X as a sub-project within the Fabric ecosystem from the outset, we can achieve all the desired outcomes of community feedback, trial use, and collaborative testing. This approach also inherently strengthens its connection to core Fabric, encourages immediate engagement from the existing, active Fabric community, and allows us to utilize familiar infrastructure and processes efficiently.

While community feedback is valuable, hosting Fabric-X directly under Fabric sends problematic signals:

Eclipse Effect: Given the evident shift in focus and resources toward Fabric-X, there's a real risk that it will eclipse the original Fabric, creating confusion about which platform represents the future of the project.

Mixed Messages: Presenting two incompatible systems under the same project name will confuse users, fragment the community, and dilute the meaning of "Hyperledger Fabric" as a graduated, production-ready platform.

Resource Competition: Having two distinct platforms compete for maintainer attention, documentation resources, and community support within the same project structure is a recipe for conflict and inefficiency.

We are committed to ensuring clarity. Through comprehensive documentation, dedicated webinars, technical workshops, and ongoing community calls, we will clearly articulate Fabric-X's capabilities, its relationship to Fabric, its intended use cases, and any differences in compatibility or scope. While we aim for Fabric-X to be a natural and high-performance extension suitable for a broad range of demanding applications, we will ensure our messaging prevents user confusion. We believe these communication efforts will effectively manage perceptions and therefore do not see the name itself as a showstopper at this stage.

Your commitment to "comprehensive documentation, dedicated webinars, technical workshops, and ongoing community calls" actually reinforces the fundamental concern rather than addressing it:

The Communication Burden Paradox

The very fact that you acknowledge needing such extensive communication efforts to prevent user confusion is a clear admission of the fundamental incompatibility and difference between Fabric and Fabric-X. Consider:

  • If Fabric-X were truly an "evolution", it wouldn't require dedicated webinars to explain how it differs from Fabric
  • If it were a natural extension, users wouldn't need technical workshops to understand the relationship
  • If compatibility existed, you wouldn't need ongoing community calls to clarify the scope differences

The scale of communication effort you're proposing is typically reserved for launching entirely new products, not evolving existing ones. This inadvertently proves that Fabric-X is indeed a separate project that requires its own identity and positioning.

The Resource Allocation Question

This extensive communication plan raises a critical question that remains unanswered: What happens to Hyperledger Fabric itself?

Fabric has seen minimal feature contributions over the past two years. The maintainer team's focus has clearly shifted to Fabric-X development. Now you're proposing to dedicate significant resources to Fabric-X documentation, webinars, and workshops

Where does this leave the existing Fabric community and users? Will there be:

  • Continued investment in Fabric feature development?
  • Dedicated resources for Fabric documentation and support?
  • A clear roadmap for Fabric's future independent of Fabric-X?

Or is this communication effort essentially a soft transition plan to gradually shift the community from Fabric to Fabric-X?

@cendhu
Copy link
Contributor Author

cendhu commented Jun 1, 2025

@C0rWin Artem, I understand and acknowledge your strong opposition to RFCs #63 and #64, and PR #5223 regarding the fabric charter changes. I also recognize that differing opinions are normal in the open source community. Given that our discussions on this are becoming repetitive, I suggest we agree to disagree on our opinions.

@C0rWin
Copy link
Contributor

C0rWin commented Jun 1, 2025

@C0rWin Artem, I understand and acknowledge your strong opposition to RFCs #63 and #64, and PR #5223 regarding the fabric charter changes. I also recognize that differing opinions are normal in the open source community. Given that our discussions on this are becoming repetitive, I suggest we agree to disagree on our opinions.

Absolutely. Nothing says 'open source collaboration' quite like noting community concerns as 'repetitive discussions' and suggesting we move past them. But yes, let's agree to disagree—it's much tidier than actually resolving the issues.

@jt-nti
Copy link
Member

jt-nti commented Jun 2, 2025

@cendhu

Concerning the suggestion to incubate Fabric-X in Hyperledger Labs, I acknowledge the valuable role Labs plays and the benefits you've highlighted, such as signaling a project's developmental stage and fostering focused community evaluation.

...and in the parallel RFC...

is there any poc PR or code branch? The performance enhancement looks good to me, and I want to know more about the progress.

Thank you for showing interest in Fabric-X. Once this RFC is merged, we will put the code in a new repository.

I understand that you're keen to develop the new version of Fabric as a fully fledged project however I'm not sure why there seems to be resistance to just getting the code out there as early as possible for the community to review as part of these discussions. A short-term lab would be a simple way to do that quickly, and would hopefully help the community reach a consensus on quickly promoting it to a peer project to the existing Fabric implementation.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 8, 2025

is there any poc PR or code branch? The performance enhancement looks good to me, and I want to know more about the progress.

Thank you for showing interest in Fabric-X. Once this RFC is merged, we will put the code in a new repository.

I understand that you're keen to develop the new version of Fabric as a fully fledged project however I'm not sure why there seems to be resistance to just getting the code out there as early as possible for the community to review as part of these discussions. A short-term lab would be a simple way to do that quickly, and would hopefully help the community reach a consensus on quickly promoting it to a peer project to the existing Fabric implementation.

@jt-nti The topic of using a lab was addressed during the community call by certain maintainers who approved this RFC. I have also detailed in previous comments. To ensure the discussion remains productive, let's avoid revisiting points that have already been covered.

@sudo-tilakvardhan
Copy link

While such coexistence model is a good to have for Fabric's future, this seems like a cover for the #63 RFC to get through.

It affects the confidence in the project, when the degree of sensitivity to accommodate non-maintainers comments are none.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 8, 2025

While such coexistence model is a good to have for Fabric's future, this seems like a cover for the #63 RFC to get through.

It affects the confidence in the project, when the degree of sensitivity to accommodate non-maintainers comments are none.

I appreciate your support for the co-existence model. However, I see a potential contradiction in your comment that I hope you can clarify. You've expressed support for the idea of co-existence, but you also seem to oppose the Fabric-X proposal. Given that Fabric-X is being presented as the key component for that co-existence, could you explain how you envision a co-existence model working without a proposal like this one?

To add more context, it's important to acknowledge there are two views here, even among the maintainers. A significant majority supports this RFC and the co-existence model with Fabric-X. While a smaller group has voiced opposition, the process must move forward. This isn't a case where someone has found a serious flaw in the document that we have refused to address. Ultimately, in open source, when consensus isn't possible, the formal governance process, such as a vote, decides the outcome. This ensures the project can evolve and doesn't get stalled by disagreement.

@sudo-tilakvardhan
Copy link

You've expressed support for the idea of co-existence, but you also seem to oppose the Fabric-X proposal.

Coexistence would make sense for minor differences, use case tuned versions, some possible facelifts to address throughput, security, resilience etc. But NOT for a redesigned architecture which essentially changes the crux of the original solution.

This isn't a case where someone has found a serious flaw in the document that we have refused to address. Ultimately, in open source, when consensus isn't possible, the formal governance process, such as a vote, decides the outcome.

While this proposal may have majority support from the dedicated maintainers, governance isn’t just about checking procedural boxes. The fact that a majority of maintainers belong to a single organization always raised a serious concern about concentration of influence. On top of it, when such major RFCs are pushed through, it forces us - as practitioners and advocates of Hyperledger Fabric - to reevaluate our trust in the project’s neutrality and suitability for enterprise grade solution.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 8, 2025

Thank you for raising these critical points and sharing your perspective as a dedicated practitioner and advocate. You are right that trust in the project’s neutrality is paramount, and your concerns about the concentration of influence are taken seriously.

We want to assure you that our governance process is designed to be open and transparent, with all major architectural decisions debated publicly via RFCs. While the current maintainer group has evolved from those who contribute most consistently, we recognize that the perception of influence is a serious issue. The project's health depends on a wide range of perspectives.

Our commitment to welcoming new contributors is precisely to address this. We genuinely seek more diverse viewpoints to strengthen the project's direction. Your voice is valuable, and we encourage you to continue engaging in these discussions and consider contributing to the areas you feel strongly about. A stronger, more diverse set of maintainers is a goal we all share.

@C0rWin
Copy link
Contributor

C0rWin commented Jun 8, 2025

We want to assure you that our governance process is designed to be open and transparent, with all major architectural decisions debated publicly via RFCs. While the current maintainer group has evolved from those who contribute most consistently, we recognize that the perception of influence is a serious issue. The project's health depends on a wide range of perspectives.

Just for the sake of clarity, none of these major architectural decision was ever debated or disclosed in public.

@jt-nti
Copy link
Member

jt-nti commented Jun 10, 2025

@cendhu

The topic of using a lab was addressed during the community call by certain maintainers who approved this RFC. I have also detailed in previous comments. To ensure the discussion remains productive, let's avoid revisiting points that have already been covered.

Apologies if you think I was revisiting points that had already been covered. I realise that there have been discussions regarding using a lab instead of a new top-level Fabric project,— I was simply addressing the desire to see the new Fabric X repositories as soon as possible, to assist with the discussions in this RFC and #63.

There are obviously alternatives for making the code available early, to aid openness and transparency, but if the maintainers are happy to decide on these RFCs without seeing the code, that's absolute fine too.

@satota2
Copy link
Contributor

satota2 commented Jun 12, 2025

Hi @cendhu, thank you for your responses and continued engagement.

To ensure the discussion remains productive, let's avoid revisiting points that have already been covered.

I appreciate that each comment has been addressed. However, to be honest, I feel that some replies may not fully speak to the core concerns. That might be why similar points keep coming up.

@satota2, thanks for your thoughts on naming. I see 'X' in Fabric-X as clearly signifying acceleration and eXtreme performance.

That’s one valid interpretation. But as you know, “X” can mean many different things.
In our case, we've already had someone at my company misunderstand Fabric-X as simply a natural extension of Fabric. This shows that the name can easily lead to confusion.
If we’re calling the original Fabric “Fabric Classic” using a full word, maybe the new project should also have a clear name—not just a letter.
I believe choosing a name that minimizes user confusion is more important than keeping “X”.

@jt-nti The topic of using a lab was addressed during the community call by certain maintainers who approved this RFC. I have also detailed in previous comments.

I understand your point that this is not a Labs project. However, what I really want to emphasize is the value of publishing the code early, so the community can review it and engage in deeper discussion.
Even if it’s not Labs, how about publishing the code and documentation in the IBM GitHub repo first? That would help more people get involved and provide feedback before it's finalized.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 12, 2025

There are obviously alternatives for making the code available early, to aid openness and transparency, but if the maintainers are happy to decide on these RFCs without seeing the code, that's absolute fine too.

@jt-nti To add some context, the design and initial development of Fabric-X have been led by a group of individuals with deep roots in the Fabric ecosystem. This team includes several current and former maintainers, along with long-time contributors who have a thorough understanding of Fabric's architecture and evolution. The principles that made Fabric successful are being carried forward by this experienced team in Fabric-X. We hope this shared history and expertise provide confidence in the proposed RFCs.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 12, 2025

@satota2, thanks for your thoughts on naming. I see 'X' in Fabric-X as clearly signifying acceleration and eXtreme performance.

That’s one valid interpretation. But as you know, “X” can mean many different things. In our case, we've already had someone at my company misunderstand Fabric-X as simply a natural extension of Fabric. This shows that the name can easily lead to confusion. If we’re calling the original Fabric “Fabric Classic” using a full word, maybe the new project should also have a clear name—not just a letter. I believe choosing a name that minimizes user confusion is more important than keeping “X”.

@satota2 I appreciate you sharing your team's experience. It's a perfect example of the potential for misunderstanding that we need to address proactively. I agree that any name choice could lead to some initial confusion, simply because the ecosystem is undergoing such a significant change.

We believe that this is a temporary issue that can be solved with clear branding and documentation. Once the community becomes familiar with the new structure—where the "Fabric" project umbrella contains distinct sub-projects—the confusion around specific names like "Fabric-X" should resolve naturally. We see this as a managed transition rather than a permanent problem.

@jt-nti The topic of using a lab was addressed during the community call by certain maintainers who approved this RFC. I have also detailed in previous comments.

I understand your point that this is not a Labs project. However, what I really want to emphasize is the value of publishing the code early, so the community can review it and engage in deeper discussion. Even if it’s not Labs, how about publishing the code and documentation in the IBM GitHub repo first? That would help more people get involved and provide feedback before it's finalized.

Thank you for pushing on this—you're right that early access to the code is key for meaningful feedback.

The great news is that a significant portion is already available for review. For anyone interested in the new programming model, which is the successor to chaincode, the fabric-token-sdk and fabric-smart-client repositories are the perfect place to start. They work with both fabric and fabric-x.

As for the core components like the orderer and committer, the code is ready and we're eager to share it. The updated charter is currently with the Linux Foundation legal team, who are finalizing it to ensure a proper open-governance launch. This is the final step before we can make the repositories public.

As current maintainers, past maintainers, long-term contributors are involved, we have been meticulous in applying lessons from the original Fabric, with a deep focus on improving code maintainability and readability. We are confident you will see the benefits of this approach and welcome all contributions once the legal review is complete.

@C0rWin
Copy link
Contributor

C0rWin commented Jun 12, 2025

There are obviously alternatives for making the code available early, to aid openness and transparency, but if the maintainers are happy to decide on these RFCs without seeing the code, that's absolute fine too.

@jt-nti To add some context, the design and initial development of Fabric-X have been led by a group of individuals with deep roots in the Fabric ecosystem. This team includes several current and former maintainers, along with long-time contributors who have a thorough understanding of Fabric's architecture and evolution. The principles that made Fabric successful are being carried forward by this experienced team in Fabric-X. We hope this shared history and expertise provide confidence in the proposed RFCs.

@cendhu, I think that one of the main points here is that none of the suggested changes has ever been publicly articulated, proposed, or delivered to the community to the extent that it will be clear what is happening here. This is why having the code available before pulling it into the Fabric ecosystem is essential. While obviously, people working on that have very intimate knowledge about Fabric, the whole process of design, building, and coming up with ideas has never received any community feedback. Currently, it appears and is perceived as a drop-off, privately backed solution, where the only appealing advocacy in favour of acceptance is based on reputation and trust, which is a positive aspect. Still, this is not enough if you wish to treat the community with respect. Take, for example, evolution, which was done by moving from v0.6 to v1.0. Besides endless internal discussions, there was considerable communication and public debate about the new architecture before the final decision was made. Here it's the opposite.

For instance, I carefully read both Fabric-X and Arma papers, and I have quite a few technical questions; moreover, I understand that these are currently only white papers yet to be submitted for peer review. The suggestions from @satota2 and @jt-nti to release the code under the IBM GitHub repository will be constructive in making an informed decision.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 12, 2025

@cendhu, I think that one of the main points here is that none of the suggested changes has ever been publicly articulated, proposed, or delivered to the community to the extent that it will be clear what is happening here. This is why having the code available before pulling it into the Fabric ecosystem is essential. While obviously, people working on that have very intimate knowledge about Fabric, the whole process of design, building, and coming up with ideas has never received any community feedback. Currently, it appears and is perceived as a drop-off, privately backed solution, where the only appealing advocacy in favour of acceptance is based on reputation and trust, which is a positive aspect. Still, this is not enough if you wish to treat the community with respect. Take, for example, evolution, which was done by moving from v0.6 to v1.0. Besides endless internal discussions, there was considerable communication and public debate about the new architecture before the final decision was made. Here it's the opposite.

For instance, I carefully read both Fabric-X and Arma papers, and I have quite a few technical questions; moreover, I understand that these are currently only white papers yet to be submitted for peer review. The suggestions from @satota2 and @jt-nti to release the code under the IBM GitHub repository will be constructive in making an informed decision.

@C0rWin Thank you for sharing your perspective. The RFC for Fabric-X was opened 27 days ago precisely to facilitate the kind of technical discussion you're looking for.

While there has been debate on process, the technical questions have been minimal. The purpose of an RFC is to allow the community to engage and provide feedback, and our team remains ready to answer any specific technical questions you or others may have.

As per the Linux Foundation's governance, a peer-reviewed paper is not a prerequisite. The formal RFC process, including a vote, was completed.

To that end, please share your technical questions. We are eager to address them.

@pfi79
Copy link

pfi79 commented Jun 12, 2025

I appreciate you sharing your team's experience. It's a perfect example of the potential for misunderstanding that we need to address proactively. I agree that any name choice could lead to some initial confusion, simply because the ecosystem is undergoing such a significant change.

We believe that this is a temporary issue that can be solved with clear branding and documentation. Once the community becomes familiar with the new structure—where the "Fabric" project umbrella contains distinct sub-projects—the confusion around specific names like "Fabric-X" should resolve naturally. We see this as a managed transition rather than a permanent problem.

I knew about the fabric acceleration work before the 63 64 pr rfcs came out. And was very happy about it. But then pr 63 in rfcs came along. And discussions started about it. I read the proposals. And immediately realized that such a system in production can be pulled by only a few people. Then I read the discussions. And it came to me, and you didn't hide it much, that you already have a customer for this system “Fabric-X”. But it seems that this customer has set some conditions for you: fabric-x must be open source, and it must be in the hyperledger community (which is easier to do by inheriting it from Fabric).

Who can blame you for that, for wanting to implement your product faster? And make money?
Anyone but me. In general, I respect everyone who participated in the creation of Fabric-X.

But I really ask you to consider another name for Fabric-X. Already now the “community”, which is not represented here but is actively using Fabric, is coming up with “obscene synonyms” for Fabric-X. Of the decent ones, it's “Fabric-XXX.”
It's a community response, to what's happening here and now. I realize that these rfcs will be accepted. And I, personally, am fine with that. But try to spend some time on the community and the possible non-simmitry responses from the community.

Now I have to disclose my interest. The possible reputational loss of Fabric-X will definitely hit Fabric Classic. And I really don't want that to happen.

P.S. Everything written above, all the assumptions and conclusions, is a game of my mind.

@cendhu
Copy link
Contributor Author

cendhu commented Jun 13, 2025

I knew about the fabric acceleration work before the 63 64 pr rfcs came out. And was very happy about it. But then pr 63 in rfcs came along. And discussions started about it. I read the proposals. And immediately realized that such a system in production can be pulled by only a few people. Then I read the discussions. And it came to me, and you didn't hide it much, that you already have a customer for this system “Fabric-X”. But it seems that this customer has set some conditions for you: fabric-x must be open source, and it must be in the hyperledger community (which is easier to do by inheriting it from Fabric).

Who can blame you for that, for wanting to implement your product faster? And make money? Anyone but me. In general, I respect everyone who participated in the creation of Fabric-X.

It's important to clarify that IBM's decision to open source Fabric, and similarly Fabric-X, stems from a long-standing commitment to open source principles and the belief that open collaboration fosters innovation and wider adoption. IBM has historically been a pioneer in contributing to and leading open source projects. The goal with Fabric-X is to leverage the benefits of open source development to build a robust and widely adopted system, just as was done with Hyperledger Fabric.

We appreciate your recognition of the hard work put in by those involved in Fabric-X's creation. There is indeed a significant amount of work ahead to bring Fabric-X to fruition. We genuinely encourage your contributions once Fabric-X is open-sourced, as community involvement is crucial for its success and evolution.

But I really ask you to consider another name for Fabric-X. Already now the “community”, which is not represented here but is actively using Fabric, is coming up with “obscene synonyms” for Fabric-X. Of the decent ones, it's “Fabric-XXX.” It's a community response, to what's happening here and now. I realize that these rfcs will be accepted. And I, personally, am fine with that. But try to spend some time on the community and the possible non-simmitry responses from the community.

Now I have to disclose my interest. The possible reputational loss of Fabric-X will definitely hit Fabric Classic. And I really don't want that to happen.

P.S. Everything written above, all the assumptions and conclusions, is a game of my mind.

In any large open-source project, reaching a consensus among all maintainers can be challenging, and we understand that several have their reasons for not supporting this proposal.

We also believe there is nothing inherently wrong for a sub-project in the Fabric ecosystem to have the "Fabric" prefix in its name. We see the current naming friction as a temporary hurdle, much like the adjustment period seen when a feature is deprecated. Our view is that as users become more familiar with the capabilities of Fabric-X, the name will become a standard identifier and the initial confusion will fade. We are committed to managing this transition carefully to protect the standing of the entire Fabric ecosystem.

@tock-ibm
Copy link
Contributor

The final comment period had ended, and there were no additional comments in the last two weeks. As we have a super majority of 7 out of 10 maintainers, it looks like we are good to merge this one. Discussions with the LFDT team indicate that they are OK with the coexistence model proposed here and a new charter that includes measures that will regulate the governance of such a model are in the final stage of preparation.

@tock-ibm tock-ibm merged commit bb0ccf5 into hyperledger:main Jun 30, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.