diff --git a/DISCLAIMER b/DISCLAIMER
index 3e3a5ce..aa10f6e 100644
--- a/DISCLAIMER
+++ b/DISCLAIMER
@@ -1,10 +1,2 @@
-Apache Taverna is an effort undergoing incubation at the Apache Software 
-Foundation (ASF), sponsored by the Apache Incubator PMC. 
-
-Incubation is required of all newly accepted projects until a further review 
-indicates that the infrastructure, communications, and decision making process 
-have stabilized in a manner consistent with other successful ASF projects. 
-
-While incubation status is not necessarily a reflection of the completeness 
-or stability of the code, it does indicate that the project has yet to be 
-fully endorsed by the ASF.
+Taverna is no longer maintained and this code base
+is provided for archive purposes only.
diff --git a/NOTICE b/NOTICE
index 924c2b2..c35ba06 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,6 @@
+This product is based on:
 Apache Taverna Maven Parent
-Copyright 2014-2018 The Apache Software Foundation
+Copyright 2014-2020 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/README.md b/README.md
index 6bd2a0c..db648e3 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,48 @@
-# Apache Taverna (incubating) Maven Parent pom
+## Taverna Project Retired
 
-The Apache Taverna Maven Parent provides common build settings for the rest of
-[Apache Taverna](http://taverna.incubator.apache.org/code/) (incubating).
+> tl;dr: The Taverna code base is **no longer maintained** 
+> and is provided here for archival purposes.
+
+From 2014 till 2020 this code base was maintained by the 
+[Apache Incubator](https://incubator.apache.org/) project _Apache Taverna (incubating)_
+(see [web archive](https://web.archive.org/web/20200312133332/https://taverna.incubator.apache.org/)
+and [podling status](https://incubator.apache.org/projects/taverna.html)).
+
+In 2020 the Taverna community 
+[voted](https://lists.apache.org/thread.html/r559e0dd047103414fbf48a6ce1bac2e17e67504c546300f2751c067c%40%3Cdev.taverna.apache.org%3E)
+to **retire** Taverna as a project and withdraw the code base from the Apache Software Foundation. 
+
+This code base remains available under the Apache License 2.0 
+(see _License_ below), but is now simply called 
+_Taverna_ rather than ~~Apache Taverna (incubating)~~.
+
+While the code base is no longer actively maintained, 
+Pull Requests are welcome to the 
+[GitHub organization taverna](http://github.com/taverna/), 
+which may infrequently be considered by remaining 
+volunteer caretakers.
+
+
+### Previous releases
+
+Releases 2015-2018 during incubation at Apache Software Foundation
+are available from the ASF Download Archive <http://archive.apache.org/dist/incubator/taverna/>
+
+Releases 2014 from the University of Manchester are on BitBucket <https://bitbucket.org/taverna/>
+
+Releases 2009-2013 from myGrid are on LaunchPad <https://launchpad.net/taverna/>
+
+Releases 2003-2009 are on SourceForge <https://sourceforge.net/projects/taverna/files/taverna/>
+
+Binary JARs for Taverna are available from 
+Maven Central <https://repo.maven.apache.org/maven2/org/apache/taverna/>
+or the myGrid Maven repository <https://repository.mygrid.org.uk/>
+
+
+# Taverna Maven Parent pom
+
+The Taverna Maven Parent provides common build settings for the rest of
+[Taverna](https://web.archive.org/web/*/https://taverna.incubator.apache.org/code/).
 
 ## Prerequisites
 
@@ -16,7 +57,7 @@
 _Note: Modules of Taverna might not use the latest version of the Taverna
 Parent. This is not generally an issue, if you want to avoid its download
 from [Maven Central](http://central.maven.org/maven2/org/apache/taverna/).
-you may want to build the Apache Taverna Parent version corresponding to
+you may want to build the Taverna Parent version corresponding to
 `<parent>` in the module's `pom.xml`_
 
 
@@ -50,36 +91,5 @@
 
 # Contribute
 
-Please subscribe to and contact the
-[dev@taverna](http://taverna.incubator.apache.org/community/lists#dev mailing list)
-for any questions, suggestions and discussions about
-Apache Taverna.
-
-Bugs and feature plannings are tracked in the Jira
-[Issue tracker](https://issues.apache.org/jira/browse/TAVERNA/component/12326807)
-under the `TAVERNA` component _Taverna Maven parent_. Feel free
-to add an issue!
-
-To suggest changes to this source code, feel free to raise a
-[GitHub pull request](https://github.com/apache/incubator-taverna-maven-parent/pulls).
 Any contributions received are assumed to be covered by the [Apache License
-2.0](https://www.apache.org/licenses/LICENSE-2.0). We might ask you
-to sign a [Contributor License Agreement](https://www.apache.org/licenses/#clas)
-before accepting a larger contribution.
-
-
-
-## Disclaimer
-
-Apache Taverna is an effort undergoing incubation at the
-[Apache Software Foundation (ASF)](http://www.apache.org/),
-sponsored by the
-[Apache Incubator PMC](http://incubator.apache.org/).
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness
-or stability of the code, it does indicate that the project has yet to be
-fully endorsed by the ASF.
+2.0](https://www.apache.org/licenses/LICENSE-2.0). 
