JefSpaleta/SpinReleaseProcessProposal

Fedora Spin Process
Why do we need a process? We recognize that the Fedora brand has value and needs to be applied selectively to quality spin concepts which align with the Fedora Project goals. The process outlined in this document is meant to responsibly extend the range of Fedora community inspired spin concepts without overburdening the available Fedora project resources.

The role of the community:
The Fedora community is tasked with creating a Spins Special Interest Group (SIG). The purpose of the Spins SIG is oversee the development of an evolving set of technical best practises to be applied to all community spin concepts. The Spin SIG will also oversee the continued maintenance of approved community spins in the Kickstart Pool, and will regulate the use of any infrastructure as it becomes available for use for the Spins SIG. For example webspace at spins.fedoraproject.org will be made available for spin descriptions and links to externally  hosted binaries. New spin concepts first come to the Spins SIG for discussion and technical review. Once the Spins SIG comes to a consensus as to technical merit of a proposed spin, that spin concept is passed to the Board for trademark approval.

The role of the Fedora Board:
The Fedora Board's role is ensure that a proposed spin concept is well aligned with the Fedora Project mission. While we encourage individuals to explore the full space of customizations that the spin technology allows, the Fedora Board has a duty to protect the value of the Fedora brand and thus must limit trademark approval to spin concepts which are well scoped and aligned with the overall project goals. To that extent, some of the Fedora Board's approval guidance may impact technical implementations and will need to be incorporated into the technical best practises overseen by the Spin SIG.

The Kickstart Pool:
Each spin concept is implemented through the creation of a kickstart file. The Kickstart Pool is a term applied to the complete collection of approved community spin concepts. Each of those kickstart files, once approved for trademark usage by the Board, will be stored in an appropriate Fedora Project code repository system and will be given its own bugzilla component entry in a new Bugzilla product to be tentatively called "Fedora Community Spins". Each spin in the Kickstart Pool will be given descriptive webspace at spins.fedoraproject.org. The Spin SIG will work together to maintain the contents of the Kickstart Pool and associated infrastructure contents: cvs, bugzilla, webspace, etc.

The Release Selection Process:
Once a spin concept is available in the Kickstart Pool, it can be proposed to Release Engineering for inclusion into the next Fedora release. Spins which pass the Release Selection Process, are built as part of the next Fedora release cycle and have images hosted on the Fedora torrent server and/or mirrors. The Spin Release Selection will follow the timelines associated with the established Fedora Feature process. Release Engineering is tasked with reviewing each proposed spin for release, and documenting an evolving release criteria as guidance for future proposals. The Release Selection criteria may be more restrictive than what is allowed for entry into the Kickstart Pool. Individuals proposing a spin for release selection need to be prepared to make technical adjustments beyond what is required for original inclusion into the Kickstart Pool. Efforts should be made to avoid a situation where the Spin SIG technical requirements are more restrictive than the Release Selection process.

While Release Engineering has a broad mandate on developing their own technical release criteria, they are tasked with making selections which balance the quality, diversity and utility of released spins as constrained by our available resources.

See  the proposal for optional Release Selection process proposals  which require approval.

Individuals who are proposing a spin for release must include at a minimum: 1. Description of the Spin and the motivation for its creation. 2. The target media size and format. 3. Whether or not updated spins will be requested during the life of the release. If updated spins are produced they MUST stay within the target size as stated in the release proposal before release selection. 4. The name/location of the kickstart file to be retrieved from the cvs Kickstart Pool

The role of Release Engineering:
Release Engineering reviews each proposed spin for release and does the final spin image composing for all released spins and update spins as they appear in the torrent server and mirrors. Release Engineering is tasked with documenting an evolving set of important release criteria as guidance for future proposals. Additionally Release Engineering is tasked with decided how they would like to receive release spin proposals and deadlines, and what additional information is needed in a release spin proposal.

The role of Infrastructure:
Infrastructure is tasked with developing resources for the Spin SIG to aid in community spin composition and testing. The Infrastructure group is also tasked with providing an estimate of available hosting space for  'new'  spin proposals in the Release Selection process at the beginning of the next release cycle.

The role of Fedora QA:
Fedora QA is tasked with helping Release Engineering with the testing of released spins as part of the Release Selection process. Fedora QA is also tasked with helping the Spin SIG develop a testing process and associated tools for community spin concepts to aid in pre-approval technical review and the continued maintenance of the Kickstart Pool.