The Apache Software Foundation
The Apache Software Foundation Incubator

Guide to Retirement

Abstract

The intent of this document is to help Mentors and other community members understand retirement, both as a concept and a process.

What is Retirement?

A retired podling is one which has been closed down on the initiative of the PPMC or the IPMC for various reasons. It is no longer developed at the Apache Incubator and does not have any other duties.

It's important to view this process as being the retirement of the podling community, not the code. It should not be implied that the code is not for use - just that it has no community. So long as the Incubator's copyright requirements are fulfilled by the podling prior to retirement, its source code will continue to be made available through version control.

Retiring a podling is analogous to moving a top-level Apache project to the Attic, but podlings receive a lower level of ongoing support -- for example, podling websites are deleted outright rather than munged to indicate retired status.

Deciding to retire

In the vast majority of cases, a podling decides to retire on its own and that decision is later formally ratified by the Incubator PMC; very rarely, the IPMC may act unilaterally. (This is deliberate mimicry of Board oversight of TLPs -- the language and role titles change but in general the Board and the IMPC merely implement the wishes of the community.)

Before the IPMC gets involved, a public discussion and community vote SHOULD be held on the podling's dev list. This ensures that all podling stakeholders are properly informed and have the opportunity to participate in the decision.

The final decision to retire the podling takes the form of a vote by the IPMC on general@incubator.

Steps to retirement

Once the IPMC vote to retire the podling has closed, a Mentor or other volunteer needs to perform the following steps.

  1. Update content/podlings.xml:
    • Update podling status to "retired".
    • Add an "enddate" attribute set to the date that the IPMC vote concluded.
    • Remove the "reporting" element.
    • Add the "resolution" element. (Follow the example of other recently retired podlings.)
  2. Update the podling's status page with a prominent message indicating when the podling retired: <p><span class="retired">The ${podling} podling retired on XXXX-XX-XX</span></p>.
  3. Has the copyright checkbox of the podling's incubation status page been checked off? If not, try to resolve it. If it cannot be resolved, the podling's source code must be removed from version control.
  4. Delete the podling's dist dir, so that its releases will no longer be mirrored:
    svn remove https://dist.apache.org/repos/dist/release/incubator/${podling}
    Any incubating releases will still be available via archive.apache.org/dist/incubator.
  5. Create a file RETIRED.txt at the top-level of each podling source repository. This should contain something like the following:
    This podling has been retired, please see:
    http://incubator.apache.org/projects/index.html#{podling-name}
  6. If the podling has a DOAP referenced in the projects.xml file used for generating projects.apache.org, remove the entry.
  7. Open a "task" INFRA JIRA ticket entitled "Retire the ${podling} Incubator podling". Open sub-tickets using "Create Sub-Task" as applicable:
    • Close ${podling} mailing lists
    • (If copyright task completed) Make ${podling} version control read-only
    • (If copyright task not completed) Remove ${podling} version control
    • (If JIRA) Move ${podling} JIRA to "retired" and set read-only
    • (If Bugzilla) Close ${podling} Bugzilla
    • Make ${podling} wiki read-only
    • Turn off ${podling} automatic builds
    • Update ${podling} Incubator SVN
      • Add entries to asf-mailer.conf and send mail to cvs at incubator.apache.org
      • Remove entries from asf-authorizaton - this makes the directory rw to the Incubator PMC.
  8. After Infra modifies the website SVN permissions, disable the podling website by installing an .htaccess file at the root of the podling website dir which consists of only a redirect to the podling status page.
  9. When all steps towards retirement are done, announce completeness on general@incubator.
  10. Indicate that the podling is closed down in the next board report.

The user accounts of the projects committers do not need to be removed.