OMII-UK Home

Open source development tools

Attendees

  • Pascal Ekin – The University of Manchester
  • Mike Jackson – The University of Edinburgh (scribe)
  • Phil Kershaw – NDG, RAL
  • Eduardo Pignotti – The University of Aberdeen

Overview

This session discussed open source tools and infrastructures, focusing on ideas for OGSA-DAI and open development.

Repository

The OGSA-DAI repository is exposed publicly, but with a private area with third-party JARs. It is hard to build and is not structured to readily support OGSA-DAI’s core and extension vision

CVS is used but not branches. GT and Taverna use both a trunk and branch, one for development and one for the most recent release and bug fixes.

SVN is recommended. It is good for releases. Developers can copy the whole of the trunk to a release area. It is very powerful. There are Eclipse plug-ins e.g. SubClipse, and tools to move from CVS to SVN.

Build

OGSA-DAI uses ANT build files and properties. ANT scripts invokes other ANT scripts - this is used to get or build dependencies, for example. There is a master build file to build all the releases.

Maven could be used to compile, test, package and publish. It allows dependency expression and can pull in JARs from off-site repositories. Nightly builds e.g. JARs can be published. Use of a local repository avoids online pull-down of JARs.

One advantage of the Maven model is that it avoids bundling. There's a smaller footprint for download. But one still has the local repository footprint.

Taverna use their custom version, Raven, but will move back to Maven.

Using Maven + ANT could be very messy. Also Maven does a lot of things behind the scenes so it can be hard to understand if things goes wrong, whereas ANT is at least visible.

OMII SDK example use HTTP GETs in Perl to pull down off-site packages.

It would be desirable to allow an open source community submit Maven configs, ANT scripts whatever e.g. to build OGSA-DAI versions with appllicatuion/community-specifc extension

Easy_install also pulls down packages (eggs) based on a list of dependencies.

ZC.BuildOut builds on that to allow versions and combinations of these eggs for consistent releases.

Test framework

The OGSA-DAI test framework builds OGSA-DAI releases, deploys these, compile and runs tests and publishes the results online. It is written in ANT with ANT extensions for iteration and try-catch blocks. It is messy and hard to extend (even for seasoned OGSA-DAI developers).

Would be useful to find out if Maven could help, what XP approaches and tools there are and to look at Jython (Python). Jython allows Java-style scripting – it's clearer than Perl and more aligned with existing OGSA-DAI developer expertise. It can call out to ANT.

Other test tools include NUnit and SQL Alchemy may be of interest.

Open source project

Governance needs to address what happens if an extension pack needs a change to the core and who is responsible for what e.g. bugs, support, licence violations, contributions policy and branding.

TRAC is a usefu project tool. It integrates with SVN and can integrate with CVS. Ticketing is used to manage issues and bugs.

Licence

Formerly the OGSA-DAI custom licence was used, now it's Apache 2.0.

NDG use BSD

Who provides advice on how licences work together? An OGSA-DAI licence FAQ was requested by users. OMII-UK should provide this advice also.

Conclusions

OGSA-DAI's proposed new repository structure seems sound. Evaluations of alternative tools for the repository, build and test scripting need to be done.

Further Work

OMII/OSSWatch - draw up guide on licence compatibilities for developers and publicise OSSWatch have advice on this OMII publicise this on their doc/WWW

Mike - Publicise OSSWatch advice on OGSA-DAI WWW site and in user doc

Mike - Find out how XP projects do system tests

Mike - Look at Maven

Mike - Look at Jython

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-8) was last changed on 08-May-2009 14:54 by SimonHettrick [RSS]

© The University of Southampton on behalf of OMII-UK. All Rights Reserved. | Terms of Use | Privacy Policy | PageRank Checker