Apache Marmotta Web Application
Copyright 2012-2013 The Apache Software Foundation

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

The following 3rd party modules included in this binary distribution require notice:

  H2 Database Engine under The H2 License, Version 1.0
  JavaBeans Activation Framework (JAF) under Common Development and Distribution License (CDDL) v1.0
  JSON (JavaScript Object Notation) under provided without support or warranty
  JSR-250 Common Annotations for the JavaTM Platform under COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
  Logback Core and Classic Module under Eclipse Public License - v 1.0
  Servlet API under Commons Development and Distribution License, Version 1.0

This project also contains annotations derived from JCIP-ANNOTATIONS
Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net


