Modifications to phonegap-core.js (compassAPI) and compass.js (adapted from accelerometer.js) are
Copyright 2012 Hewlett-Packard Development Company, L.P.

This product includes thumbs.js developed by Michael Brooks
Copyright 2010 Michael Brooks (https://github.com/mwbrooks/thumbs.js)

Apache Cordova
Copyright 2012 The Apache Software Foundation

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