While we are formalizing (or at least enumerating) criteria for admission to incubation I think now is also an appropriate time to start a discussion about graduation requirements for projects that require integraction with a DLT but themselves are not a DLT. This is something I think we should discuss before we vote on admitting firefly. I expect there will be other projects this impacts in the future and there needs to be some discussion about how previously incubated projects relate to this.
So here's my red herring. Once we get a feel for what the TSC's opinion on the details are I can make a formal TSC pull request. It may be a bit wordy and we can iterate to strike sections that are superfluous or implied.
Requirement: Multi-DLT Relevance and implementation
For a project to graduate that integrates with a Distributed Ledger Technology/Multi-Party System (DLT/MPS) that is not part of the graduating project at least two such systems need to integrate with the project, and one of them must be a DLT/MPS hosted by the Hyperledger Project.
For a project to be admitted to incubation that integrates with a DLT/MPS the project needs to demonstrate or document how multiple DLTs/MPSs can be supported by the architecture. Actual implementation of such integration is not required for incubation, but will be required for graduation.
The software integration will be what is required, not the deployed system. i.e. Hyperledger Fabric and Hyperledger Besu, would be two valid integrations but not Ethereum Mainnet and Ethereum Classic, as those are just two instances supported by the same project.
This does not apply to projects themselves that are DLTs/MPSs, or projects that may appear in build toolstreams but don't directly integrate with a DLT/MPS (such as a solidity compiler). The integration can be done either in the project itself or the DLT/MPS can make changes to directly integrate with the project, i.e. it doesn't matter which project "plugs into" the other. Such integrations need to exist in released software at the time the graduation requirement is fulfilled.
Projects that would count as the "one Hyperledger DLT/MPS"
Besu, Burrow, Fabric, Indy, Iroha, Sawtooth
Previously admitted projects this might apply to
Avalon, Cactus, Caliper, Cello, Composer, Explorer, Grid, Quilt, Transact
Previously admitted projects that aren't DLTs this would _not_ apply to:
Aries graduated, so this change could not apply to them anyway even though it wouldn't. Some projects already have multiple integrations, with Caliper integrating the most.
Something to think about as we formalize the incubation expectations.