Spins Process

Summary

 * 1) User submits a spin (kickstart and introduction) that complies with the Spins Guidelines to the Spins SIG mailing list at [mailto:spins@lists.fedoraproject.org spins@lists.fedoraproject.org], and creates a Spin Page (from the New Spin Page Template), using a $name_Spin naming schema.
 * 2) * Note that if several people need to work on the kickstart file, the source can be kept on the spin wiki page pending approval and addition to the git repo. People will not be given update access to the git repo until after their spin is approved by the Spins SIG (or board if there is a potential trademark issue).
 * 3) * This page is added to category Spins_in_Development.
 * 4) * When the page is ready for review, the page is added to category Spins_Ready_For_Wrangler
 * 5) Spins Wrangler reviews the Spin Page
 * 6) * If accepted, adds it to category Spins_Ready_For_SIG and removes the page from categories  Spins_in_Development and  Spins_Ready_For_Wrangler
 * 7) * If not accepted, removes the page from category Spins_Ready_For_Wrangler and adds to category Spins_in_Development and notes reasons why in the Discussion page
 * 8) Spins SIG reviews the Spin
 * 9) * Review Checklist
 * 10) * Voting members of the Spins SIG are made up of representatives from: QA, Release Engineering, Infrastructure and FESCo
 * 11) * If the Spin is accepted by the Spins SIG, the Spins Wrangler adds its page to category Spins_Ready_For_Board, and emails the advisory-board list to request Board review for trademark approval
 * 12) * If the Spin is not accepted by the Spins SIG, the page is removed from the Spins_Ready_For_SIG category, and goes back to category  Spins_in_Development
 * 13) The Fedora Project Board grants or denies Trademark approval
 * 14) * If the Fedora Project Board grants Trademark usage for the Spin, the Spin Page is added to category Spins_Fedora_X, and removed from category Spins_Ready_For_Board.
 * 15) After acceptance, the Spins Wrangler sends notifications to interested parties:
 * 16) * The maintainer(s) submitting the Spin
 * 17) * Fedora QA
 * 18) * Fedora Release Engineering
 * 19) * Fedora Infrastructure
 * 20) The Spins Wrangler adds the Spin to a wiki page containing a table listing all of the spins for  (https://fedoraproject.org/wiki/Releases//Spins)
 * 21) * Nightly composes of spins (from the latest spins/fedora-kickstart package) are available for testing.
 * 22) * For each milestone a spin/fedora-kickstarts package is to be built by the Spins SIG. Updates after a build for a milestone has been made requires a new build and then tag-requested through rel-eng. rel-eng does the actual compose using the spin-kickstarts package.
 * 23) The spin owner uses the liveiso_srpm_list script to generate a list of SRPMs used in his spin with   where ISO_NAME is the "ISO Name / FS Label" from the spin's page. The resulting file is then sent to somebody with commit access to the correspondingsource git repository to be committed, e.g. to Christoph Wickert or Matt Domsch. This is a legal requirement, the file needs to be in place for the spin's release.


 * A draft diagram (ugly colors and bad formatting) is here: http://poelstra.fedorapeople.org/misc/spins-process-flow-v1.png

Details
More details on each stage in the process.

Creating a Spin
How to create a spin in the first place. Tools to use, and how to use them.

This typically is a user action item. You create a spin using the examples in the spin-kickstarts package available in Fedora 10 and later. You use that kickstart file to compose your own version of Fedora, and see if it is something you like.

Submitting a Spin
Details on submitting a spin.

To have your spin included in Fedora, a few prerequisites must be met:


 * Create a Spins Page to describing the Spin and more details
 * Add that page to the Spins_in_Development category


 * When you feel your Spin kickstart and page are both ready for review, do the following:
 * Remove the Spins page from the Spins_in_Development category
 * Add the Spins page to the Spins_Ready_For_Wrangler category

The Spins Wrangler will now pick up the Spin page and review it. Two possible outcomes:


 * 1) The page is not complete and it is moved back to the Spins_in_Development category.
 * 2) The page is complete and removed from the Spins_Ready_For_Wrangler category, then added to the Spins_Ready_For_SIG category.

If the page is complete, and added to the Spins_Ready_For_SIG category, the Spins SIG will take it up and review it (using the Review Checklist). The details on what happen next are in the Before a Spin is approved section of this document.

Before a Spin is approved
What happens while your spin is being reviewed, and when or where it is finally approved.

During the next Spins SIG meeting, the spin will be discussed, and the Spins SIG will either vote to accept the Spin, not accept the Spin, or postpone the vote till two weeks later.

When A Spin Is Accepted By The Spins SIG
What happens if a spin is accepted by the Spins SIG.

The Spins SIG or Spins Wrangler will remove the Spins page from the Spins_Ready_For_SIG category and add the page to the Spins_Ready_For_Board page. The Spins Wrangler will send an email to the advisory-board list requesting that the Board review the Spin for trademark approval.

The Board then reviews the Spin for trademark approval, and although this should be a formality (rubber stamp if you will), the Board has the final word in whether this Spin is to become an official Fedora Spin.

It is up to the Spins SIG to come up with questions they'd like to see answered by the Board, such as:

"SELinux is disabled on this spin for such and such specific reason, and although we think this and that, does the Board have an opinion on whether this Fedora feature should be permissive/enabled in every spin?"

It is up to the Board to think of additional guidelines they'd like to see the Spins SIG address during the Review stage, such as:

"Spins SIG, we'd like you to check if SELinux is permissive in specific circumstances, we strongly prefer enforcing, but maybe there's reasons for a spin, yada, yada... and so forth"

If A Spin Is Not Accepted By The Spins SIG
What happens if a spin is not accepted.

= Timeline =


 * 1) Submit spin for review at least 3 weeks before Feature Freeze to allow the Spins Wrangler, Spins SIG and Fedora Project Board to test, review and approve the Spin
 * 2) Feature Freeze--No more spins accepted for the release
 * 3) Daily compose tests by Spins SIG, reports go to Spin Maintainer(s)
 * 4) Bi-weekly reports by Spin Maintainer(s)
 * 5) Alpha Release
 * 6) Daily compose tests by Spins SIG, reports go to Spin Maintainer(s)
 * 7) Bi-weekly reports by Spin Maintainer(s)
 * 8) Beta Release
 * 9) Release Candidate
 * 10) Daily compose tests by Spins SIG, reports go to Spin Maintainer(s)
 * 11) Bi-weekly reports by Spin Maintainer(s)
 * 12) Release (GA)

= Discussion & Proposed Changes =
 * See Talk:Spins_Process