Chemistry OpenCMIS distribution package

For a complete listing of License Notices for 3rd party libraries shipped by JARs/WARs contained in this package,
please refer to the META-INF/NOTICE file contained in each OpenCMIS artifact.


OpenCMIS contains code from the following Open Source projects:

- Base64 
  Copyright (c) 2010 Robert Harder
  Public Domain, <http://iharder.net/base64>

- JSON.simple
  Copyright (c) 2012 Yidong Fang
  Apache License 2.0, <http://code.google.com/p/json-simple/>
  
  
OpenCMIS contains OASIS CMIS 1.0 and CMIS 1.1 schema and WSDL files.
Copyright (c) 2010 and 2013 OASIS Open
<https://www.oasis-open.org/committees/cmis>