Apache ServiceMix
Hadoop Core 1.0.3 Bundle
Copyright 2011-2012 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.

II. Used Software

This product uses software developed at
The OSGi Alliance (http://www.osgi.org/).
Copyright (c) OSGi Alliance (2000, 2010).
Licensed under the Apache License 2.0.

III. License Summary
- Apache License 2.0
