TimeBasedReleases

Differences between revisions 8 and 9
Revision 8 as of 2006-05-21 22:27:18
Size: 1470
Editor: george
Comment:
Revision 9 as of 2006-05-21 22:38:25
Size: 2461
Editor: george
Comment: more flesh
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 The relevant deadline is the FeatureFreeze for that release. At that time, development of the feature should be substantially complete, such that the remainder of the release cycle is available for testing and fixing bugs. Some guidelines for whether a feature is ready at feature freeze include:

   * Present: new features should, in general, be uploaded to the development branch well in advance of FeatureFreeze. It is important for Ubuntu features to be developed openly and visibly.
   * Testable: all major functionality should be present in a basic form, sufficient for testing. It is expected to have bugs, but no new functionality should be necessary after FeatureFreeze in order to complete the feature.
   * Integrated: basic integration should be complete. For example, if the feature requires a certain package to be installed by default, the relevant seed and metapackage changes should have taken place. Any relevant external infrastructure should be in place.
  1. What are time-based releases?
    • There are a variety of strategies for deciding when to release a new version of a piece of software, and different projects may employ different techniques. Ubuntu plans in advance to release on a certain date, and the preceding development effort is aimed at producing a high-quality release on this prearranged date. See the ["Releases"] page for a list of Ubuntu releases and their schedules.

      The Ubuntu release process was heavily influenced by [http://live.gnome.org/ReleasePlanning/TimeBased the release process used by the GNOME project].

  2. Why does Ubuntu use time-based releases?
    • Ubuntu releases are challenging because they represent an aggregation of the work of thousands of independent software projects. We feel that a time-based release process enables us to provide our users with the best balance of the latest software, tight integration, and excellent overall quality.
  3. I would like to add a new feature to Ubuntu. When does it need to be included in the development branch in order to become a part of the final release?

    The relevant deadline is the FeatureFreeze for that release. At that time, development of the feature should be substantially complete, such that the remainder of the release cycle is available for testing and fixing bugs. Some guidelines for whether a feature is ready at feature freeze include:

    • Present: new features should, in general, be uploaded to the development branch well in advance of FeatureFreeze. It is important for Ubuntu features to be developed openly and visibly.

    • Testable: all major functionality should be present in a basic form, sufficient for testing. It is expected to have bugs, but no new functionality should be necessary after FeatureFreeze in order to complete the feature.

    • Integrated: basic integration should be complete. For example, if the feature requires a certain package to be installed by default, the relevant seed and metapackage changes should have taken place. Any relevant external infrastructure should be in place.
    1. Are there exceptions to this deadline?
      1. How do I request an exception?
      2. What criteria are used when considering exceptions?
    2. But it's very important!
    3. But there are still several days (weeks, etc.) remaining before the release!
    4. But it works for me!
    5. OK, I understand. How can I do better for the next release?

TimeBasedReleases (last edited 2011-02-28 21:03:23 by chrisjohnston)