Apache Felix iPOJO Composite
Copyright 2008 The Apache Software Foundation

I. Included Software

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Licensed under the Apache License 2.0.

This product includes software developed at
The OSGi Alliance (http://www.osgi.org/).
Copyright 2006 The OSGi Alliance.
Licensed under the Apache License 2.0.

This product includes software developed at
Copyright (c) 2000-2005 INRIA, France Telecom
Licensed under BSD License.

II. Used Software

This product uses software developed at
The OSGi Alliance (http://www.osgi.org/).
Copyright 2006 The OSGi Alliance.
Licensed under the Apache License 2.0.

This product uses software developed at
The Apache Software Foundation (http://www.apache.org/).
Licensed under the Apache License 2.0.

III. License Summary
- Apache License 2.0
- BSD Licence
