Added by Stian Soiland-Reyes, last edited by Stian Soiland-Reyes on 2009-03-10  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

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 source code of Taverna 2 is maintained in our subversion repository hosted by Google Code, but can also be retrieved as Maven source jars.

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.

Building the Taverna 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, read more about checking out the [build tree].

It is unclear how to actually create a build

I tried doing a run as -> maven install (or something like that) on net.sf.taverna.t2.taverna-workbench and eclipse seems to have hanged

I can't find how to download the SVN code into Eclipse, e.g. a step by step guide.

I managed to start to download from the SVN (http://taverna.googlecode.com/svn/taverna/) but managed to get to about 96% before it either gave up or failed.

It would be handy to have all of the information on one page in terms of how to get the code, from downloading all the prerequisites to getting a working build of Taverna running from the SVN.