Feature Freeze Policy

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Add beginning of example Do and Don't section)
Line 3: Line 3:
  
 
== Feature Freeze Policy ==
 
== 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.
 
  
 
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 [[Features/Policy| Fedora Feature 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.
+
After the ''Feature Freeze'' milestone, 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).   
 +
 
 +
At ''Feature Freeze'' all new features for the release should be substantially complete and in a ''testable'' state, including ''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 ==
 
== Some Example Do's and Don't's ==
  
Once we hit Feature Freeze, the expectations change about what work should still be happening to your feature.  These expectations are based on needing to test your package, test how other pieces of the distribution interact with your package, and test the overall stability, look, and feel of the distroHere are some example Do's and Don't's of what to do Post-Feature Freeze.
+
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 something testable
 
* Do: Have the the feature significantly complete
 
* Do: Have the the feature significantly complete
 
* Do: submit bugfixes
 
* Do: submit bugfixes
* Do not: Enable the feature by default
+
* '''Do not''': Enable the feature by default
* Do not: Make changes that cause other software to have to make changes
+
* '''Do not''': Make changes that require other (dependent) software packages to make changes as well
  
 
== Exception Process ==
 
== Exception Process ==
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].
+
If you believe you have a good reason to ''break feature freeze.'' file a ticket with [https://fedorahosted.org/rel-eng/new-ticket Release Engineering].  
 
+
 
Please include the following information:  
 
Please include the following information:  
* A description of what you want to change
+
# A description of what you want to change
* Rationale for why the change is important enough to be allowed in after the feature freeze.
+
# Rationale for why the change is important enough to be allowed in after the feature freeze.
* Impact of '''not''' accepting the feature at this point of the schedule.
+
# Impact of '''not''' accepting the the new package(s) at this point in the schedule.
* Information on what testing you've already done on the feature to help reduce the risk.
+
# Information on what testing you've performed to mitgate risks introduced by replacing the existing package(s)
  
 
{{Admon/note | Don't forget to login, or you will not get email notifications of ticket changes}}
 
{{Admon/note | Don't forget to login, or you will not get email notifications of ticket changes}}
Line 38: Line 39:
 
Approval comes in the form of +1's.  Two +1's (without any negative feedback) are necessary to build.  If there is negative feedback, conversation will ensue and a new vote will take place.  
 
Approval comes in the form of +1's.  Two +1's (without any negative feedback) are necessary to build.  If there is negative feedback, conversation will ensue and a new vote will take place.  
  
 
+
{{Admon/caution | Ignoring the freeze process and introducing new features (packages) anyway may lead to your package being reverted and a reduction of the chances of an exception being made.}}
{{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.}}
+
  
 
[[Category:Release Engineering]]
 
[[Category:Release Engineering]]

Revision as of 00:47, 23 December 2009


Contents

Feature Freeze Policy

Features are accounted for at two different levels:

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

After the Feature Freeze milestone, 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).

At Feature Freeze all new features for the release should be substantially complete and in a testable state, including 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: Enable the feature by default
  • Do not: Make changes that require other (dependent) software packages to make changes as well

Exception Process

If you believe you have a good reason to break feature freeze. file a ticket with Release Engineering. 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 mitgate risks introduced by replacing the existing package(s)
Note.png
Don't forget to login, or you will not get email notifications of ticket changes

What Happens Next?

The release engineering team will evaluate your request and provide feedback. If 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 FESCo.

Approval comes in the form of +1's. Two +1's (without any negative feedback) are necessary to build. If there is negative feedback, conversation will ensue and a new vote will take place.

Stop (medium size).png
Ignoring the freeze process and introducing new features (packages) anyway may lead to your package being reverted and a reduction of the chances of an exception being made.