The Apache Software Foundation
Apache Incubator


This document is a DRAFT being developed with the hope of eventually superseding the Release Management Guide (itself still a "DRAFT" after several years).



This guide has two main purposes:

  1. Provide references to authoritative release policy.
  2. Describe Incubator-specific release procedures and resources.


Release Checklist

Each review item in this list is either required by Foundation-wide policy and would block a release by any Apache top-level project, or is required by Incubator policy.

1.1 Checksums and PGP signatures are valid.
See the Release Signing dev documentation.
2.1 Build is successful including automated tests.
The expanded source archive is expected to build and pass tests.
3.1 DISCLAIMER is correct, filenames include "incubating".
See the Podling Branding Guide.
3.2 Top-level LICENSE and NOTICE are correct for each distribution.
See the Licensing How-To, plus various pages under Legal Affairs.
3.3 All source files have license headers where appropriate.
See the ASF Source Header and Copyright Notice Policy.
3.4 The provenance of all source files is clear (ASF or software grants).
See the IP clearance section of the Mentor's guide, as well as the Releases section of the Incubator's policy page.
3.5 Dependencies licenses are ok as per
See ASF Legal Previously Asked Questions.
3.6 Release consists of source code only, no binaries.
Each Apache release must contain a source package. This package may not contain compiled components (such as "jar" files) because compiled components are not open source, even if they were built from open source.

A list of possible additional items is maintained on the ReleaseChecklist wiki page.

2013 Alternate Release Procedure

This section explains an alternate release procedure established in December 2013, as documented in the Incubator's incubation policy page. It is available only to selected podlings.

Once a release candidate is ready, the Release Manager creates a Release Manifest as a plain text file at$PODLING and fills in all initial fields:

== Apache Release Manifest ===============================================

Project: Apache Foo
Release Candidate: Apache Foo 1.2.3-incubating RC1
Release Manager: Grace Hopper (ghopper)
PPMC vote thread URL:
Approved by Mentor: 

== Contents ==============================================================

A [VOTE] thread is started on the podling's dev list in accordance with Incubator policy on releases. The email kicking off the [VOTE] contains a link URL for the Manifest. While the [VOTE] is in progress, reviewers update the Manifest accordingly, signing each item with their Apache ID to indicate that they have reviewed it and found it OK. Comments are optional.

== Reviewers and release votes ===========================================

+1 PPMC Grace Hopper (ghopper)
+1 PPMC Niklaus Wirth (nwirth)

== Review Items ==========================================================

1.1 Checksums and PGP signatures are valid.
    Reviewers: ghopper nwirth 

2.1 Build is successful including automated tests.
    Reviewers: ghopper nwirth 
        ghopper: Relay test still broken on Mark II (FOO-35). +1 anyway.

Reviewers don't need to look at all items; as long as there's sufficient coverage of each item the release can go out. To complete the Manifest, it must be approved by a Mentor:

Approved by Mentor: Alan Turing (aturing)

If the dev list [VOTE] passes, a [VOTE] on general@incubator is called, again in accordance with Incubator release policy and again referencing the Manifest URL.

Once the voting process concludes -- regardless of success or failure -- the Release Manager archives the Manifest permanently by moving it from votes/$PODLING/ to votes/$PODLING/archive/.

Release Manifest Template

Podlings typically start from the Incubator's default Release Manifest template, which contains a checklist of review items. Optionally, a custom template may be created by augmenting the default Manifest template with additional review items.