From Fedora Project Wiki

< Changes

Revision as of 09:46, 30 May 2013 by Jreznik (talk | contribs) (How does a change get accepted + minor edits)

Idea.png
Quick Links
If you know the process already, you can jump immediately to an empty Change Proposal form.

Fedora Releases Planning Process

Motivation behind the planning process is to raise the visibility of planned changes, to make coordination and planning effort easier, as otherwise it is nearly impossible to follow all changes happening in such a big project as Fedora is. It has to be easy to submit the Change Proposal, as early as possible, before the change is implemented and even in very early state of idea, to gather community feedback and review.

The list of accepted changes (Change Set) is used by different teams across the project, for example to prepare external facing materials like Release notes and Release announcements.

Planning process is an internal planning and tracking tool and the final release does not have to reflect all proposed changes.

Changes Categories

Fedora Engineering and Steering Committee (FESCo) defined two Change categories:

  1. Self Contained Changes
  2. System Wide Changes

Self Contained Changes

The self contained changes are changes to isolate package(s) or generally all changes with limited scope and impact on the rest of distribution/project. For example addition of a group of leaf packages or coordinated effort within SIG with limited impact outside SIG functional area. Self Contained Changes could be used for early idea state proposals for wider and complex changes.

Public announcement of the new Self Contained Changes helps to co-operate on the change and extends proposed change visibility. Change owners may find help from the community or useful comments. These changes don't have to be thoroughly reviewed by FESCo. Based on the community review, Self Contained Change can be updated to the System Wide Change category and Owner can be asked to provide more details and extend Change Proposal Papge.

The process for Self Contained Features
  • Change Proposal is submitted according to the Change Proposal Submission policy
  • The formal correctness of Proposed Change page is checked by the Wrangler
  • Once the Change Proposal is correct, it's announced on Fedora Devel Announce list by the Wrangler.
  • No documentation process (optional), only release notes advertisement
  • Aggregated list of Change Proposals is added to FESCo agenda no sooner than a week (or more) after the announcement on the mailing list.
    • In case of no complaints (possible breakage/conflicts, coordination needed) on Fedora Devel mailing list/or from FESCo members, FESCo approves those Change Proposals without more scope and etc. investigation. Every team on Fedora devel can share their views and escalate proposed change to FESCo to go through the regular System Wide Changes process. Change owner could be asked to provide more details/or move the change to the "complex changes" category. FESCo members are encouraged to ask questions on the mailing list instead of waiting for the meeting.

Complex System Wide Changes

Complex System Wide Changes are system-wide/defaults or critical path components changing changes which does not belong to Self Contained Changes.

The process for Complex System Wide Changes
  • Change Proposal is submitted according to the Change Proposal Submission policy
  • The formal correctness of Proposed Change page is checked by the Wrangler
  • Once the Change Proposal is correct, it's announced on Fedora Devel Announce list by the Wrangler.
  • After a week on mailing list FESCo will discuss the change on their meeting.
    • Optionally, the change is assigned to one of the FESCo members/or trusted community member within the functional area, who follows detailed status of the change with FESCo and helps with processes within Fedora (e.g. communicate about high-impact aspects, point out that a buildroot will be neccessary). The shepherd follows on status of the change until final release.
    • Fedora QA reviews announced changes on Devel Announce list to commit to testing of the change and/or adjust release criteria in case of need
  • Status of complex changes will be re-reviewed by FESCo one week before Beta Freeze. At this time FESCo will typically decide whether to activate the contingency plan. Changes for which FESCo can't make this decision one week before beta need to note it on the respective Change wiki page/tracking bug.

How-tos

For developers

How to propose a new change?

In order to be considered an official change proposal accepted for the next Fedora release, the change proposal has to be formally documented on a separate wiki page.

  1. Read the policies for Self Contained Changes and Complex System Wide Changes mentioned above
  2. Pick the right category; remember - category can be changed to another one based on community/FESCo review!
  3. Fill in the empty Change Proposal form with all details required for selected category (see inline comments)
  4. Once you're satisfied with the Change Proposal page, set the wiki page category to Category:ChangeReadyForWrangler (with appropriate Change category - Category:SelfContainedChange or Category:SystemWideChange)
  5. Make sure to finish your Change Proposal by the Change Proposal Submission Deadline! In case of not meeting this deadline, exception has to be granted by FESCo.

The Wrangler is then responsible for the actual announcement of the Change Proposal, creating the FESCo ticket and tracking bug in Bugzilla. For status tracking, see the next section.

How does a change get accepted?

Self Contained Changes that passed community review (the announcement) are accepted by FESCo without further investigation in a batch (no sooner than one week after the announcement). Complex System Wide Changes has to be accepted by FESCo individually on the weekly meeting. The scope and dependencies are thoroughly reviewed to control influence on the other parts of Fedora. It's beneficial to be available in the FESCo ticket for Change Proposal and relevant FESCo meeting (announced in advance). Change Proposal owner is notified when the Change was accepted for inclusion to the planned release.

How do I show the status of a change I own?
  • What are the changes deadlines?

FAQs

Feel free to ask the Wrangler for help, currently held by Jaroslav Reznik.