Apache Felix iPOJO Runtime
Copyright 2008-2010 The Apache Software Foundation

This software was developed at the Apache Software Foundation
(http://www.apache.org) and may have dependencies on other
Apache software licensed under Apache License 2.0.

I. Included Third-Party Software

This product includes software developed at
The OSGi Alliance (http://www.osgi.org/).
Copyright (c) OSGi Alliance (2000, 2007).
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 Third-Party Software

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

III. License Summary
- Apache License 2.0
- BSD License
