From Fedora Project Wiki

No edit summary
(20 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!-- page was renamed from Releases/FeatureFreezePolicy
<!-- page was renamed from Releases/FeatureFreezePolicy
-->
-->
<!-- page was renamed from JeremyKatz/FeatureFreezeDraft
-->
== Feature Freeze Policy ==


At ''Feature Freeze'' all new features for the release should be substantially complete and in a ''testable'' state.  The intention of the release process is finish all new feature work by ''Feature Freeze'' and test those new features during the test releases; Alpha and Beta.
{{admon/tip|Ignoring Feature Freeze|Introducing significant changes to Official Features after Feature Freeze can result in your package being reverted or reduce the chances of receiving an exception}}


Features are accounted for at two different levels:
Features are accounted for at two different levels:
# Feature page promotion and distro coordination--see [[Features/Policy| Fedora Feature Process]]
# Feature page promotion and distro coordination -- see [[Changes/Policy| Fedora Release Planning Process]]
# Package level (continue reading)
# Package level (continue reading)  


After feature freeze for a release, no new features or major version bumps are allowed for packages already in the Fedora collection (new packages can still be reviewed, added in CVS and built).  The purpose of the feature freeze is to help ensure that changes have adequate time to be tested as well as to provide some focus on bug-fixing for the release.
Once the ''Feature Freeze'' milestone is reached, all new features for the release should be:
* substantially complete and in a ''testable'' state
* ''enabled by default'' -- if so specified by the feature


== Exception Process ==
In the Fedora development process, all new feature work is completed by ''Feature Freeze'' and tested during the test releases: Alpha and Beta.
If you believe you have a good reason to break feature freeze, please ask for approval prior to breaking the freeze.  To do so, file a ticket in the  [https://fedorahosted.org/rel-eng/ Release Engineering Trac Space]. 
 
== Some Example Do's and Don't's ==
 
After Feature Freeze, Fedora has certain expectations about what will be happening with your feature.  These expectations are based on needing to test your feature (package), test how other pieces of the distribution interact with your feature, and test the overall stability, look, and feel of the distribution.  
 
This what we all expect ''post-Feature Freeze'':


Please include the following information:
* Do: Have something testable
* A description of what you want to change
* Do: Have the the feature significantly complete
* Rationale for why the change is important enough to be allowed in after the feature freeze.
* Do: submit bugfixes
* Impact of '''not''' accepting the feature at this point of the schedule.
* '''Do not''': Continue to add new enhancements
* Information on what testing you've already done on the feature to help reduce the risk.
* '''Do not''': Enable the feature by default (if not already default at Feature Freeze)
* '''Do not''': Make changes that require other (dependent) software packages to make changes as well


{{Admon/note | Don't forget to login, or you will not get email notifications of ticket changes}}
== Exception Process ==


== What Happens Next? ==
{{admon/caution|Ask First|Before checking in changes and building new packages, please request an exception firstThis saves everyone the time and mess of reverting a change if Release Engineering disagrees with the request.}}
The [[ReleaseEngineering| release engineering team]] will evaluate your request and provide feedbackIf your request is rejected, you will have to wait for the next development cycle to add your package to Fedora.  Disputes over rejected changes can be escalated to [[PackageMaintainers/MainPageFesco| FESCo]].  


Approval comes in the form of +1's. Two +1's (without any negative feedback) are necessary to buildIf there is negative feedback, conversation will ensue and a new vote will take place.
If you believe you have a good reason to ''break Feature Freeze.'' file a ticket with [https://fedorahosted.org/fesco/newtplticket FESCo]. Breaking ''Feature Freeze'' means making changes to your package other than simple bug fixes.   


Please include the following information:
# A description of what you want to change
# Rationale for why the change is important enough to be allowed in after the Feature Freeze.
# Impact of '''not''' accepting the the new package(s) at this point in the schedule.
# Information on what testing you've performed to mitigate risks introduced by replacing the existing package(s)


{{Admon/caution | Ignoring the freeze process and introducing new features anyway may lead to your package being reverted and a reduction of the chances of an exception being made.}}
== Exception Evaluation ==
FESCo will evaluate your request and provide feedback.  This will generally be done in the ticket, and/or in a regular FESCo meeting.


[[Category:Release Engineering]]
[[Category:Release Engineering]]

Revision as of 20:11, 27 May 2014


Idea.png
Ignoring Feature Freeze
Introducing significant changes to Official Features after Feature Freeze can result in your package being reverted or reduce the chances of receiving an exception

Features are accounted for at two different levels:

  1. Feature page promotion and distro coordination -- see Fedora Release Planning Process
  2. Package level (continue reading)

Once the Feature Freeze milestone is reached, all new features for the release should be:

  • substantially complete and in a testable state
  • enabled by default -- if so specified by the feature

In the Fedora development process, all new feature work is completed by Feature Freeze and tested during the test releases: Alpha and Beta.

Some Example Do's and Don't's

After Feature Freeze, Fedora has certain expectations about what will be happening with your feature. These expectations are based on needing to test your feature (package), test how other pieces of the distribution interact with your feature, and test the overall stability, look, and feel of the distribution.

This what we all expect post-Feature Freeze:

  • Do: Have something testable
  • Do: Have the the feature significantly complete
  • Do: submit bugfixes
  • Do not: Continue to add new enhancements
  • Do not: Enable the feature by default (if not already default at Feature Freeze)
  • Do not: Make changes that require other (dependent) software packages to make changes as well

Exception Process

Stop (medium size).png
Ask First
Before checking in changes and building new packages, please request an exception first. This saves everyone the time and mess of reverting a change if Release Engineering disagrees with the request.

If you believe you have a good reason to break Feature Freeze. file a ticket with FESCo. Breaking Feature Freeze means making changes to your package other than simple bug fixes.

Please include the following information:

  1. A description of what you want to change
  2. Rationale for why the change is important enough to be allowed in after the Feature Freeze.
  3. Impact of not accepting the the new package(s) at this point in the schedule.
  4. Information on what testing you've performed to mitigate risks introduced by replacing the existing package(s)

Exception Evaluation

FESCo will evaluate your request and provide feedback. This will generally be done in the ticket, and/or in a regular FESCo meeting.