Apache Tuscany
Copyright (c) 2005 - 2008 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product also includes software developed by the Open Service Oriented Architecture organisation
(http://osoa.org).

Please see the LICENSE file present in the root directory of this
distribution.
