Gitblit
Copyright 2011 gitblit.com

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This is an aggregated NOTICE file for the projects included
in this distribution or linked to by this distribution.

---------------------------------------------------------------------------
Bootstrap
---------------------------------------------------------------------------
   Bootstrap, released under the
   Apache Software License, Version 2.0.

   http://twitter.github.com/bootstrap

---------------------------------------------------------------------------
google-code-prettify
---------------------------------------------------------------------------
   google-code-prettify, released under the
   Apache Software License, Version 2.0.

   http://code.google.com/p/google-code-prettify

---------------------------------------------------------------------------
Commons Daemon
---------------------------------------------------------------------------
   Commons Daemon, released under the
   Apache Software License, Version 2.0.

   http://commons.apache.org/daemon
   
---------------------------------------------------------------------------
JGit
---------------------------------------------------------------------------
   JGit, released under the
   Eclipse Distribution License 1.0.

   http://eclipse.org/jgit
   
---------------------------------------------------------------------------
Apache Wicket
---------------------------------------------------------------------------
   Apache Wicket, released under the
   Apache Software License, Version 2.0.

   http://wicket.apache.org
   
---------------------------------------------------------------------------
WicketStuff GoogleCharts
---------------------------------------------------------------------------
   WicketStuff GoogleCharts, released under the
   Apache Software License, Version 2.0.

   https://github.com/wicketstuff/core/wiki/GoogleCharts   
   
---------------------------------------------------------------------------
MarkdownPapers
---------------------------------------------------------------------------
   MarkdownPapers, released under the
   Apache Software License, Version 2.0.

   http://markdown.tautua.org
   
---------------------------------------------------------------------------
Jetty
---------------------------------------------------------------------------
   Jetty, released under the
   Apache Software License, Version 2.0.

   http://eclipse.org/jetty

---------------------------------------------------------------------------
Apache Lucene
---------------------------------------------------------------------------
   Apache Lucene, released under the
   Apache Software License, Version 2.0.

   http://lucene.apache.org

---------------------------------------------------------------------------
Groovy
---------------------------------------------------------------------------
   Groovy, released under the
   Apache Software License, Version 2.0.

   http://groovy.codehaus.org

---------------------------------------------------------------------------
SLF4J
---------------------------------------------------------------------------
   SLF4J, released under the
   MIT/X11 License.

   http://www.slf4j.org
   
---------------------------------------------------------------------------
Log4j
---------------------------------------------------------------------------
   Log4j, released under the
   Apache Software License, Version 2.0.

   http://logging.apache.org/log4j   
 
---------------------------------------------------------------------------
BouncyCastle
---------------------------------------------------------------------------
   BouncyCastle, released under the
   MIT/X11 License.

   http://www.bouncycastle.org
   
---------------------------------------------------------------------------
JSch
---------------------------------------------------------------------------
   JSch - Java Secure Channel, released under the
   BSD License.

   http://www.jcraft.com/jsch

---------------------------------------------------------------------------
Rome
---------------------------------------------------------------------------
   Rome RSS and Atom Java Utilities, released under the
   Apache Software License, Version 1.1.

   http://rome.dev.java.net

---------------------------------------------------------------------------
jdom
---------------------------------------------------------------------------
   jdom xml library, released under the
   Apache-style Software License.

   http://www.jdom.org

---------------------------------------------------------------------------
google-gson
---------------------------------------------------------------------------
   google-gson, released under the
   Apache-style Software License.

   http://code.google.com/p/google-gson

---------------------------------------------------------------------------
javamail
---------------------------------------------------------------------------
   javamail, released under multiple licenses
   CDDL-1.0, BSD, GPL-2.0, GNU-Classpath.

   http://kenai.com/projects/javamail

---------------------------------------------------------------------------
JUnit
---------------------------------------------------------------------------
   JUnit, released under the
   Common Public License.

   http://junit.org

---------------------------------------------------------------------------
ant-googlecode
---------------------------------------------------------------------------
   ant-googlecode, released under the
   New BSD License
   
   http://code.google.com/p/ant-googlecode

---------------------------------------------------------------------------
GenJar
---------------------------------------------------------------------------
   GenJar, released under the
   Apache Software License, Version 1.1.
   
   http://genjar.sourceforge.net
   
---------------------------------------------------------------------------
Fancybox image viewer
---------------------------------------------------------------------------
   Fancybox image viewer, released under the
   MIT and GPL Licenses.

   http://fancybox.net
   
---------------------------------------------------------------------------
FatCow Icons
---------------------------------------------------------------------------
   FatCow Icons, released under the
   Creative Commons CC-BY License.

   http://www.fatcow.com/free-icons

---------------------------------------------------------------------------
Git logo
---------------------------------------------------------------------------
   Git logo, released under the
   Creative Commons CC-BY License.

   http://henrik.nyh.se/2007/06/alternative-git-logo-and-favicon

---------------------------------------------------------------------------
Git logo
---------------------------------------------------------------------------
   Git logo, released under the
   Creative Commons Attribution 3.0 Unported License.

   http://git-scm.com/downloads/logos
   
---------------------------------------------------------------------------
magnifying glass search icon
---------------------------------------------------------------------------
   magnifying glass search icon, released under the
   Creative Commons CC-BY License.

   http://gnome.org

---------------------------------------------------------------------------
GLYHPICONS
---------------------------------------------------------------------------
   GLPYHICONS, released under the
   Creative Commons CC-BY License.

   http://glyphicons.com
      
---------------------------------------------------------------------------
UnboundID
---------------------------------------------------------------------------
   UnboundID, released under the
   GNU LESSER GENERAL PUBLIC LICENSE. (http://www.unboundid.com/products/ldap-sdk/docs/LICENSE-LGPLv2.1.txt)

   http://www.unboundid.com

---------------------------------------------------------------------------
JCalendar
---------------------------------------------------------------------------
   JCalendar, released under the
   GNU LESSER GENERAL PUBLIC LICENSE. (http://www.unboundid.com/products/ldap-sdk/docs/LICENSE-LGPLv2.1.txt)

   http://www.toedter.com/en/jcalendar
   
---------------------------------------------------------------------------
Commons-Compress
---------------------------------------------------------------------------
   Commons-Compress, released under the
   Apache Software License, Version 2.0.

   http://commons.apache.org/compress

---------------------------------------------------------------------------
XZ for Java
---------------------------------------------------------------------------
   XZ for Java, released under the
   Public Domain

   http://tukaani.org/xz/java.html

