AI policy note:
The content here started as a Google Document, and I did ask Gemini to draft the inline tables which I reviewed. The rest of the text is lovely hand crafted, replete with grammar and spelling mistakes.
Introduction
This proposal outlines a structured process for introducing, developing, and potentially integrating experimental features, components, output, process or services within the Fedora Project. Some of you may have heard me refer to an idea I’m calling the “Fedora Sandbox.”
I’m starting this thread as part of starting the discussion around a process that starts with a sandbox for innovative technologies.. but really its a lifecycle process, that starts with a sandbox.
The goal of establishing a “Fedora Sandbox” is to provide a low-barrier, high-visibility environment for innovative ideas to be tested, refined, and validated by the contributor community without immediately impacting the stability or release process of the mature project outputs..
What is this really?
This is an idea to help the Fedora Project make a space for experiment concepts and build sustainable interest in innovative ideas, without committing to fully integrate them into the Fedora Project before they are assessed to be sustainable. This proposal had a genesis in the RHEL 11 planning meeting discussion in which I was able to sit in on as the Fedora Project Leader.
What technologies are in scope?
Technologies that need time to mature in any of 3 key aspects:
- Technical Maturity: Does it work well enough to be fully integrated into the Fedora Project?
- Community Interest: Do we think it’s sustainable based on contributor interest/commitment level?
- Market Fit: Does this actually solve a problem for users?
What’s the key idea?
This process proposal focuses on a structured technology innovation lifecycle, with explicit gating criteria between lifecycle stages, and time-based explicit review points. The intent is to help foster the sustainability of innovative technologies by providing a pathway towards full integration into the Fedora Project with explicitly agreed-on exit criteria established when entering each lifecycle stage.
What’s the proposed lifecycle?
Gate: Entry Proposal
Stage: Sandbox
Gate: Sandbox Exit Review
Stage: Curated
Gate: Curated Exit Review
Stage: Integrated
Gate: Maintenance Review
Each gate represents a review point with success/fail criteria established at the previous gate. Technologies can be retired at every gate point.
The sandbox and curated stages are new concepts that I’ll talk about in detail in this thread. The integrated stage is what we currently expect from technologies that are available in the Fedora Project.
What do I want this initial discussion to focus on?
I want to focus the first round of discussion on the high-level structure of the proposal, the lifecycle stages and the general gating criteria. Does this make sense structurally to help the project better innovate and help cultivate sustainable ideas and/or weed out unsustainable ones while lowering overall risk to the Fedora project?
If there is reasonable consensus that there is value in a lifecycle process like this, we can then drill down into the details about the gates and the stages with more specificity and try to understand what structural changes and infrastructure we need to invest in in order for this to work. I expect what we will find is every time we use this process, we will discover some structural improvement that makes it easier to utilize the process. But we have to start somewhere. So let’s start with my straw proposal.
Objectives of the Technology Innovation Lifecycle Process for Fedora
- Foster Innovation: Encourage contributors to bring forward new ideas, technologies, and features that may be too immature for direct inclusion in a standard Fedora release.
- Isolate Risk: Provide controlled environments and outputs where experimental changes can be tested, broken, and fixed without affecting the main distribution branches or the experience of general Fedora users.
- Gather Early Feedback: Facilitate early community and stakeholder engagement to gather feedback, identify potential issues, and guide the development of the experimental feature.
- Establish a Path to Integration: Define clear criteria and a structured transition path for successful Sandbox projects to move toward becoming official Fedora features, services, or outputs.
- Promote Transparency: Ensure all experimental work is visible and accessible to the broader Fedora community.
Implied Structural Project Changes
- Possible trademark policy changes, including a possible subbrand for outputs that incorporate sandbox/curating technologies
- Relaxing of project requirements that create quality safeguard for sandbox/curated
- Legal requirements must be maintained through the technology lifecycle
Sandbox Entry
1. Proposal Submission
Any contributor or team wishing to submit technology into the sandbox must submit a formal proposal.
Expected Proposal Elements:
- Project Name and Description: A brief, clear overview of the feature/component.
- Goal/Objective: What problem does this project solve or what new capability does it introduce?
- Scope and Deliverables: What specific code/packages will be developed or modified?
- Exit Criteria: A clear, measurable definition of what success looks like for the project to graduate from the Sandbox (e.g., passing specific test suites, achieving a minimum number of active users, stability metrics).
- Maintainer/Team: Identification of the individuals or group responsible for the project’s development and maintenance within the Sandbox.
- Resource Needs: Initial assessment of necessary infrastructure (e.g., separate COPR repositories, dedicated testing environment, expected user-facing outputs).
2. Initial Review and Approval
The Fedora Engineering Steering Committee (FESCo) or a designated working group (e.g., the Sandbox Review Board, once established) will review the proposal.
Review Criteria:
- Alignment with Fedora’s general mission and technical direction.
- Feasibility and clarity of the proposed scope and sandbox exit criteria.
- default exit criteria: must show sustainability along 2 of the 3 key aspects
- technical maturity → does this work well enough to be fully integrated
- market fit → does this solve a user problem
- community engagement → is there enough community contribution
- default exit criteria: must show sustainability along 2 of the 3 key aspects
- Explicit statement of allowed exit paths and conditions.
- e.g. Under what conditions is this allowed to go back into the sandbox for further development versus retired?
- Availability of a dedicated maintenance team.
- Adequacy of risk isolation (ensuring the project truly poses minimal risk to the main distribution).
- Time affirmed exit review date. The date on which an exit review is mandated to be performed.
| Milestone | Description | Responsible Body | Outcome |
|---|---|---|---|
| P-1: Submission | Formal proposal submitted with all required elements. | Proposing Team | Proposal is drafted. |
| P-2: Initial Vetting | Review against basic criteria (alignment, feasibility, team). | FESCo/Review Board | Approval to enter Sandbox or Request for Modification. |
| P-3: Sandbox Entry | Project is granted a Sandbox status and assigned necessary resources (e.g., COPR access, mailing list). | FESCo/Review Board | Active development begins. |
3. Development and Iteration (In the Sandbox)
Sandbox projects operate mostly autonomously within the Sandbox environment, leveraging tools like dedicated COPR repositories for package distribution to early adopters and testers if needed.
Key Requirements During Development:
-
Regular Reporting: Maintainers must provide brief, quarterly updates on progress toward the Exit Criteria.
-
Clear Labeling: All packages and features must be explicitly labeled as “Fedora Sandbox” components.
-
Community Engagement: Active participation in a dedicated communication channel (e.g., mailing list, Matrix room) to solicit feedback.
4. Exit Review and Graduation
When the project maintainers believe they have met the defined Exit Criteria, they submit a request for an Exit Review.
Exit Review Process:
- Documentation of Success: The team submits evidence demonstrating that the Exit Criteria have been met (e.g., test reports, user adoption statistics, stability metrics).
- Final FESCo Review: FESCo evaluates the evidence and assesses the project’s readiness for mainstream integration.
Potential Outcomes of the Exit Review:
| Outcome | Description | Next Steps |
|---|---|---|
| Graduate/Integration | Project successfully met criteria and is deemed stable, maintainable, and valuable. | Integrate into Fedora proper (e.g., official package inclusion, FESCo Change Proposal for default inclusion). |
| Extend Sandbox Time | Criteria partially met; more time needed for stabilization or wider testing. | Project remains in the Sandbox with revised Exit Criteria and timeline. |
| Enter Curation Status | Exit criteria met, but there is still an key aspect that is deficient | Project enters curation status with revised Exit Criteria after gathering appropriate supplemental resource commitments to address deficient aspect |
| Retire/Decline | Criteria not met, low adoption, stability issues persist, or project goals are no longer relevant. | Project is archived; Sandbox resources are de-provisioned. |
Curation Entry
A project enters the Curation lifecycle stage from the Sandbox upon a mandated Exit Review (4. Exit Review and Graduation) if the following condition is met:
- The project has successfully met its defined technical and development Exit Criteria but there is a critical deficiency in one of the key sustainability aspects (e.g., Community Engagement, Technical Maturity or Market Fit), which prevents immediate integration into Fedora.
Requirements for Curation
Projects entering the Curation Status are explicitly granted a reprieve from retirement, for a set amount of time, contingent upon a clear plan to address the deficient sustainability aspect.
- Commitment to Address Deficiency: The maintainer team must submit a supplementary plan detailing how the identified deficiency will be addressed (e.g., a plan for broader community outreach to increase engagement, or a market research plan to validate user problem-solving). This plan must include commitments from relevant stakeholders (e.g., Marketing/Outreach team members, additional developers, or potential external partners).
- Revised Exit Criteria: New, measurable Exit Criteria must be set, focused specifically on overcoming the previously deficient sustainability aspect.
- Curation Exit Review Date: A firm, date-affirmative review date must be set, typically within 12 months, after which the project must either successfully exit Curation or face retirement.
Success Criteria for Exiting Curation
Success is defined by the project demonstrating significant, measurable progress in the deficient area, proving sustainability along all three key aspects: Technical Maturity, Market Fit, and Community Engagement.
Implications of Curation on Project Policy
It is expected that necessary project policy adjustment discussions should happen as part of the curation process. Policy alignment problems should be identified on entering the curation stage, and commitments to address the policy alignment problems need to be made at that point, with the goal of having policy adjustment discussions be resolved by the curation exit review process. The intent is to do all necessary work during curation that can lead to a successful curation exit review.
Outcomes of the Curation Exit Review
The Curation Exit Review is mandatory on the pre-determined date and is conducted by FESCo/Review Board to assess progress against the revised Curation Exit Criteria.
| Outcome | Description | Next Steps |
|---|---|---|
| Graduate/Integration | Project successfully met Curation Exit Criteria, demonstrating sustainability across all key aspects. | Integrate into Fedora proper (e.g., official package inclusion, FESCo Change Proposal). |
| Extend Curation Time | Significant progress was made, but more time is genuinely needed to solidify the necessary commitments or adoption. | Project remains in Curation with final revised Exit Criteria and a short, fixed timeline extension (maximum 6 months). |
| Retire/Decline | Curation Exit Criteria were not met, or commitments to address the deficiency were not fulfilled. | Project is archived; Sandbox and Curation resources are de-provisioned. |
Integrated Stage
The technology has “graduated” and can be fully integrated into the Fedora Project. It’s anticipated that this will happen via a symbolic ChangeProposal process that FESCO is able to approve.
Maintenance Review
For “graduated” technologies that merit it due to the level of impact or complexity, the technology proposing team, or FESCO, or Council can authorize an additional maintenance lifecycle gate that triggers a date-affirmative review similar to the curation stage exit review. The maintenance review is meant to assess the continued sustainability of the integrated technology. This review is meant to identify technologies that are struggling and thus present a risk to the project. Projects that fail the maintenance review are expected to be sent back to the curation stage process again, with resource commitments identified to help address the sustainability deficiencies. Moving back to curation also acts as a signal that this technology may be on a path towards retirement if sustainability deficiencies are not able to be addressed.
Each successful maintenance review should be treated as re-entering the integratied stage again. Whether a maintenance review is required should be explicitly decided on each time a technology enters the integrated stage. It is expected that most technologies that move through the lifecycle process will require at least one maintenance review. The important part is to be explicit about the requirement each time a successful curation exit or maintenance review happens.