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 07ff09a..c5d7ed6 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,6 @@
+This product is based on:
 Apache Taverna Server
-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 3e50457..b587152 100644
--- a/README.md
+++ b/README.md
@@ -14,25 +14,65 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-# Apache Taverna Server (incubating)
+
+
+## Taverna Project Retired
+
+> 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 Server
 
 REST/WSDL web service for executing
-[Apache Taverna](https://taverna.incubator.apache.org/) (incubating)
+[Taverna](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/)
 workflows.
 
 
-# Download
-
-https://taverna.incubator.apache.org/download/server/
-
 
 ## License
 
 * (c) 2007-2014 University of Manchester
-* (c) 2014-2018 Apache Software Foundation
+* (c) 2014-2020 Apache Software Foundation
 
 This product includes software developed at The [Apache Software
-Foundation](http://www.apache.org/).
+Foundation](https://www.apache.org/).
 
 Licensed under the
 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see the file
@@ -45,39 +85,8 @@
 
 # Contribute
 
-Please subscribe to and contact the
-[dev@taverna](https://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/12326813)
-under the `TAVERNA` component _Taverna Server_. 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-server/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](http://incubator.apache.org/incubation/Process_Description.html)
-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.
 
 
 
@@ -108,7 +117,7 @@
 
 
 If you are modifying this source code independent of the
-Apache Taverna project, you may not want to run the
+Taverna project, you may not want to run the
 [Rat Maven plugin](https://creadur.apache.org/rat/apache-rat-plugin/)
 that enforces Apache headers in every source file - to disable it, try:
 
@@ -157,7 +166,7 @@
   The [JCE Unlimited Strength Jurisdiction Policy](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
   may need to be installed separately.
 * Taverna Server may interact with the credential manager support in
-  [Apache Taverna Command-line Tool](https://taverna.incubator.apache.org/download/commandline/)
+  [Taverna Command-line Tool](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/commandline/)
   to provide a keystore of client credentials and trusted certificates for SSL-secured web services.
 * After building, the 
   `taverna-server-webapp/target/taverna-server.war` will include 
@@ -170,9 +179,9 @@
   [Apache WSS4J](https://ws.apache.org/wss4j/),
   [Apache XML Security for Java](https://santuario.apache.org/javaindex.html),
   [Open SAML Java](https://shibboleth.net/products/opensaml-java.html),
-  [Apache Taverna Language](https://taverna.incubator.apache.org/download/language/),
-  [Apache Taverna OSGi](https://taverna.incubator.apache.org/download/osgi/),
-  [Apache Taverna Engine](https://taverna.incubator.apache.org/download/engine/), 
-  [Apache Taverna Common Activities](https://taverna.incubator.apache.org/download/common-activities/),
-  and [Apache Taverna Command-line Tool](https://taverna.incubator.apache.org/download/commandline/).
+  [Taverna Language](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/language/),
+  [Taverna OSGi](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/osgi/),
+  [Taverna Engine](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/engine/), 
+  [Taverna Common Activities](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/common-activities/),
+  and [Taverna Command-line Tool](https://web.archive.org/web/*/https://taverna.incubatorT.apache.org/download/commandline/).
 
