Moving a PMC to the Attic


At some point a PMC may want to join the Attic. The following defines a process to move that PMC into the Attic and gently close it down.

  1. A PMC decides to move to the Attic.
    • Conduct a discussion on the public developer list whether to dissolve the PMC. Do not conduct it on the private PMC list.
    • Consider an appeal to the user list for interested users to provide their interest in helping out more.
    • Consider whether any contributors might be candidates for promotion to committers or PMC members.
    • Conduct a PMC vote on the public dev list.
    • If the PMC votes to dissolve the PMC and move to the Attic, inform the board of the successful vote on board@ mailing list (linking or forwarding the ‘successful’ vote) and add a resolution to dissolve the PMC to the next board meeting agenda.
    • If the PMC can’t get enough people to vote to dissolve the PMC (and there are not three -1 votes), then that is grounds for moving to the Attic. They should inform the board as above, noting that the vote failed to get enough votes.
  2. If the board approves the resolution, open an Attic JIRA item - ‘Move ${project} to the Attic’. The Attic PMC will step in and create a detailed issue description using retire.py, with other generated parts to move the project to the Attic. Generated issue content typically contains following steps (see “How to” below for a description of each step):
    • # Confirm Board Resolution
    • # Create project page on Attic site: https://attic.apache.org/projects/$project.html
    • # Inform users of the move to the Attic
    • # Update the project DOAP files (if any) or copy to projects-override
    • # Get infra lock down project’s resources
    • # Announce on announce at apache.org

The Attic PMC will then execute the steps: getting help from terminating project is welcome, particularly on informing users step or any other useful action at project’s level like modifying DOAP.

How to: General pointers

The following are useful Git/svn/https locations:

How to: 1. Confirm Board Resolution

Check previous Board minutes to confirm the “terminate” resolution passed. The minutes are available from the following sources:

However note that the most recent meeting minutes are not published until the following meeting at the earliest.

Check that Secretary removed the PMC from https://svn.apache.org/repos/private/committers/board/committee-info.txt (see also commits history).

This automatically removes VP entry on https://www.apache.org/foundation/leadership (src) and project from https://www.apache.org/#projects-list navigation (src): see www-site and its rendered HTML in asf-site branch.

How to: 2. Create project page on Attic site:

https://attic.apache.org/projects/${project}.html

The Attic Website uses Jekyll, which generates the Project Pages from project data files in YAML Format.

Adding a project to the website is done by adding a YAML file for the project to the _data/projects directory. This is currently a manual process, but we hope to automate it more in the future:

  • clone the Git Attic Repository
  • Create the project YAML file (see the Project Data page for help on crafting the YAML file)
  • Commit the file to your clone and open a PR request

Once the PR is merged, Jekyll will automatically generate the project page.

Once the page is live:

  • Check the project site carries the Attic Banner
  • Check any CWIKI spaces carry the Attic Banner
  • Use the project’s Template Page to help with:
    • Creating the Attic JIRA
    • Creating the Infra JIRA
    • Templates for User & Announcement Emails

How to: 3. Inform users of the move to the Attic

Once the project page is live on the Attic website, you can use the project’s Template Page to get a project specific text for the User email.

The text will be based on the following template, replaced with project specific values.

A heads up for the ${project} user community that the ${project} PMC has
been 'moved to the Attic'. This means that the ${project} developers (more
formally its Project Management Committee) have voted to retire ${project} 
and move the responsibility for its oversight over to the Attic project.

Loosely speaking this means that the projects resources will be moved to a
read-only state.

You can read more about the Apache Attic and the process of moving to the
Attic at https://attic.apache.org.

You can follow this process in JIRA:

https://issues.apache.org/jira/browse/ATTIC-${#}

Thanks,

${NAME}
on behalf of ${project} project and the Apache Attic.

Remember to subscribe to the user list: use Whimsy Mailing List Self-subscription to avoid moderation (if the project hasn’t been removed yet).

Also bear in mind that the user mailing list may already know and you can skip this stage, or you can get help from project having asked to move to the Attic. Make sure you read that thread if it does exist.

How to: 4. Update the project DOAP file (if any):

https://projects.apache.org/project.html?${project}

The files referenced are in [https://svn.apache.org/repos/asf/comdev/projects.apache.org/trunk] (https://svn.apache.org/repos/asf/comdev/projects.apache.org/trunk), which every Apache committer can update.

Identify whether the project has a DOAP file (see the /projects.apache.org/data/projects.xml file) and update the rdf file with PMC to the Attic and add a category of _retired_:

pmc change:    <asfext:pmc rdf:resource="http://attic.apache.org" />
new category:  <category rdf:resource="http://projects.apache.org/category/retired" />

You can use script/project2attic.py to prepare the update that you’ll just need to review and commit

How to: 5. Get infra lock down project’s resources

Open an Infrastructure JIRA issue identifying the resources that need turning off/making read only.

Once the project page is live on the Attic website, you can use the project’s Template Page to get project specific content for the Infrastructure JIRA.

Typically, it contains steps like following, that need to be tweaked based on assets of the retired project:

  • Make source control Git|Svn read-only
  • Remove files from dist.apache.org/repos/dist/[release|dev]
  • Closing down of dev@, commits@ and private@ etc. mailing lists
  • Close down the user mailing list (unless still active - in which case propose a moderator to Infra)
  • Make JIRA|Bugzilla read-only
  • Make the wiki (if any) read-only
  • Delete LDAP group(s)
  • Turn off automated builds

How to: 6. Announce on announce@apache.org

Announce that the project is now retired.

Once the project page is live on the Attic website, you can use the project’s Template Page to get a project specific text for the Announcement email.

The text will be based on the following template, replaced with project specific values.

Sometimes, the user mailing list will not be shut down. If that is the case, it should be mentioned in the announce. e.g. add “The user mailing list remains open.” after “change in url.” below.

Announcing that the ${project} committers have voted to retire
the project due to inactivity. ${project} was {boilerplate}.

Retiring a project is not as simple as turning everything off, as
existing users need to both know that the project is retiring and
retain access to the necessary information for their own development
efforts.

You can read more about ${project}'s retirement at:

   https://attic.apache.org/projects/${project}.html

The project's resources will continue to be available in a read-only state -
website, mailing lists, wikis, git, downloads and bug tracker with no 
change in url.

Providing process and solutions to make it clear when an Apache
project has reached its end of life is the role of the Apache Attic,
and you can read more about that at:

   https://attic.apache.org/

Thanks,

${NAME}
on behalf of the Apache Attic and the now retired ${project} project

It’s important to include the boilerplate from the project’s site so people know what we’re talking about.


Copyright © 2009-2025 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache and the Apache feather logo are trademarks of The Apache Software Foundation.