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 ed7ad47..3240f80 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,6 @@
+This product is based on:
 Apache Taverna Workbench
-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 54efc55..f981b7a 100644
--- a/README.md
+++ b/README.md
@@ -15,13 +15,56 @@
    limitations under the License.
 -->
 
-# Apache Taverna Workbench
+
+## 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 Workbench
 
 Desktop UI for designing and running
-[Apache Taverna](http://taverna.incubator.apache.org/) workflows.
+[Taverna](https://web.archive.org/web/*/https://taverna.incubatorTT.apache.org/) workflows.
 
 Note that this module relies on other
-[Apache Taverna modules](http://taverna.incubator.apache.org/code) for
+[Taverna modules](https://web.archive.org/web/*/https://taverna.incubatorTT.apache.org/code) for
 the actual workflow execution.
 
 
@@ -29,7 +72,7 @@
 
 (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/).
@@ -44,38 +87,8 @@
 
 # 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/12326814)
-under the `TAVERNA` component _Taverna Workbench_. 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-workbench/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.
-
+2.0](https://www.apache.org/licenses/LICENSE-2.0). 
 
 
 ## Prerequisites
@@ -112,7 +125,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:
 
