Taverna's source code is available under an open source license, and maintained in a Subversion repository.
Licence and source code
Taverna is licensed under the open source licence GNU Lesser General Public License, LGPL 2.1. Note that the licence permits "upgrading" to LGPL 3.0 or GPL in case you want to integrate LGPL 2.1 code in projects using those licences.
The code of Taverna 1, and earlier versions of the Taverna 2 (including the 2.0 release) is still hosted on our CVS repository at SourceForge.
Note that Taverna depends on various third party libraries (for example: Axis, Apache Commons, Graphviz) and tools which source code can be retrieved from their respective providers and are provided under various (LGPL-compatible) licences.
If you are thinking about using Taverna source code in a commercial licence or in a product under a different open source licence, see the document Using Taverna code commercially.
Taverna Server is now hosted on GitHub. Older versions are in the Google Code SVN repository (in
Building the Taverna source code
|Checking out the source|
Follow the tutorial Checking out Taverna source code, compiling, running and debugging for a step-by-step guide on how to check out, build and work with Taverna's source code.
Be aware that Taverna is a big project, based on myGrid work going back to 2001. As a workflow system Taverna tries to support many different kinds of services, each of which requires various external libraries to invoke and support. Additionally as an open source project Taverna wants to be extensible, and that means that as a developer you would have to get to know some of the frameworks that we've used to make Taverna code more generic. For instance, we don't have a single Java class that defines what the workbench menu is to be, but a registry of menu items where any plugin can add bits to the menu.
First of all we recommend you get all your prerequisites sorted, like installing Java, Maven, Eclipse and various Eclipse plugins. You don't have to use exactly these tools of course, but as this is what the Taverna developers are primarily using, it might be an advantage for you to stay in the same environment.
The source code of Taverna is organised into various modules (think JARs), and the modules themselves into larger categories in Subversion. We've structured the source code so that you can check out an individual module, together with a skeleton runtime, do your modifications, and run the whole thing. The modules you did not check out will then be downloaded from our Maven repository, and so you can run a whole Taverna without compiling the whole shebang. Our automatic build system, based on Hudson, will provide fresh snapshots overnight so that you can keep up with development in other modules.
We do recognise that some developers prefer to check out all of Taverna's source code at once for various reasons, one of which might be so that we can fulfil our LGPL obligations. We do warn you though, that in many cases you'll probably not find it very practical to work with Tavena's code in this way, but if you want to have a look, follow Checking out Taverna source code, compiling, running and debugging
myGrid has a Hudson installation that performs automatic building of the Taverna source code.
Taverna source code is organised into a collection of Maven modules.
myGrid provides mirrors of official Maven repositories, in addition to our own repositories.