Attic Process - How To
The sections below describe How To complete the various tasks to be done by Attic team for retiring a project and moving it to The Apache Attic:
graph TD;
accTitle: the Attic Process
accDescr: Attic process diagram which shows the steps of moving a Retired Project to the Attic
RESL("`1 **Confirm Board Resolution**`")
JIRA("`**Create ATTIC Jira**
(to manage the move)`")
PROJ("`2 **Create Project Page**
on Attic Site`")
USER("`3 **Inform Users**
of move to Attic`")
DOAP("`4 **Update Project DOAP**
file (if any)`")
SOCL("`5 **Update social media**
(if any)`")
LOCK("`6 **Lock Down Resources**
(create INFRA Jira ticket)`")
ANNC("`7 **Announce**
*announce AT apache.org*`")
RESL-->JIRA;
RESL-->PROJ;
JIRA<-->PROJ;
PROJ-->USER;
PROJ-->DOAP;
PROJ-->SOCL;
USER-->LOCK;
DOAP-->LOCK;
SOCL-->LOCK;
LOCK-->ANNC;
click RESL "#1-confirm-board-resolution"
click PROJ "#2-create-project-page-on-attic-site"
click USER "#3-inform-users-of-the-move-to-the-attic"
click DOAP "#4-update-the-project-doap-file-if-any"
click SOCL "#5-update-social-media-if-any"
click LOCK "#6-get-infra-to-lock-down-project-resources"
click ANNC "#7-announce-on-announce-at-apacheorg"
The following are useful Git/svn/https locations:
- permissions on svn /repos/asf and /repos/infra
- websites svnpubsub and infra-reports#sitesource
1. Confirm Board Resolution
Check previous Board minutes to confirm the “terminate” resolution passed. The minutes are available from the following sources:
- The private committers@a.o mailing list (requires login)
- Previously published Board meeting minutes
- Whimsy has a public list of Board Minutes by topic
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.
2. Create project page on Attic site:
https://attic.apache.org/projects/${project}.html
You can create a PR for the ${project}.yaml
file using the GitHub Action: Create PR to add YAML file
Click on ‘Run workflow’ and enter the lower case project id. If the id is valid, the workflow will create a PR to add the YAML file. The workflow will also build a preview version of the website from the PR branch.
Once the PR has been checked and applied, the site will be regenerated. The project details will be found at https://attic.apache.org/projects/${project}.html and associated retirement WIP templates at https://attic.apache.org/templates/${project}.html
A sample ATTIC Jira template can be found on that page. Note that the project YAML file will need to be updated to add the ATTIC Jira issue number once it has been created.
Once the page is live and Jira issue is created, follow steps and update issue state:
- 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 INFRA Jira
- Templates for User & Announcement Emails
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.
4. Update the project DOAP file (if any):
https://projects.apache.org/project.html?${project}
The DOAP files (used for projects directory) are referenced in projects.apache.org data/projects.xml
, which every Apache committer can update (in svn).
Identify whether the project being terminated has a DOAP .rdf
file, and update the DOAP .rdf
file:
- change PMC to the Attic,
- add retired category (keep original categories, as they remain valid for the project)
pmc change: <asfext:pmc rdf:resource="http://attic.apache.org" />
add 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.
5. Update Social Media (if any)
Contact the retiring project’s members to know if there is a social media profile associated.
In that case, ask them to:
- Update social media profiles:
Change the profile name (not handle) from “Apache Foo” to “Apache Foo (Attic)”.
Update the profile messaging to read “Apache Foo (Attic) is no longer an active project. Visit Apache.org to learn more.” - Provide ASF Marketing & Publicity with social media access:
Once social media changes have been made, email press@apache.org to discuss with the ASF Marketing & Publicity team the best way to share social media credentials for safekeeping.
6. Get Infra to lock down project 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
7. Announce on announce AT 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.