Apache Tika
Copyright 2015 The Apache Software Foundation

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

Tika-server compoment uses CDDL-licensed dependencies: jersey (http://jersey.java.net/) and 
Grizzly (http://grizzly.java.net/)

OpenCSV: Copyright 2005 Bytecode Pty Ltd. Licensed under the Apache License, Version 2.0

IPTC Photo Metadata descriptions Copyright 2010 International Press Telecommunications Council.
