TimeBasedReleases

Revision 11 as of 2006-05-21 23:05:00

Clear message
  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. FeatureFreeze is generally months before the final release, in order to allow for widespread user testing, feedback and bug reports, and for developers to respond to this feedback before preparing the final release. 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?

      Yes, exceptions may be granted on a case-by-case basis by the [https://launchpad.net/people/ubuntu-release Ubuntu release team].

      1. How do I request an exception? Send email to the release team with you request. Be sure to include a plan for how your feature will be completed, including a summary of the work which remains to be done and a specific and realistic deadline by which it will be completed.
      2. What criteria are used when considering exceptions? These decisions will be based on a risk/benefit analysis incorporating various criteria, but some guidelines include:
        • The potential impact on the distribution as a whole, especially the testing process
        • The development plan's pragmatism and chances for success
        • The priority of the feature for the current release
        • The amount of testing that the feature is likely to receive during its shortened test cycle
    2. But there are still several days (weeks, etc.) remaining before the release!
    3. But it's very important!

      The quality and punctuality of an Ubuntu release is more important than any single feature, and a high-quality feature is superior to a hastily-added one, even if it arrives in a later release. Free software developers are passionate about their work, and it is easy to get carried away by a particular feature, losing sight of the greater goals of Ubuntu. Pause, breathe, and consider whether it is more important to get it now or to have it right.

    4. But it works for me!
    5. OK, I understand. How can I do better for the next release?