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
   
---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
JCalendar
---------------------------------------------------------------------------
   JCalendar, released under the
   GNU LESSER GENERAL PUBLIC LICENSE.

   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

---------------------------------------------------------------------------
Iconic
---------------------------------------------------------------------------
   Iconic, release under the
   Creative Commons Share Alike 3.0 License.
   
   http://somerandomdude.com/work/iconic
   
---------------------------------------------------------------------------
AngularJS
---------------------------------------------------------------------------
   AngularJS, release under the
   MIT License.
   
   http://angularjs.org/   
   
---------------------------------------------------------------------------
FreeMarker
---------------------------------------------------------------------------
   FreeMarker, release under a
   modified BSD License. (http://www.freemarker.org/docs/app_license.html)
   
   http://www.freemarker.org/

---------------------------------------------------------------------------
Waffle
---------------------------------------------------------------------------
   Waffle, release under the
   Eclipse Public License, version 1.0
   
   http://dblock.github.io/waffle

---------------------------------------------------------------------------
JNA
---------------------------------------------------------------------------
   JNA, release under the
   Lesser GNU Public License, version 2.1
   
   https://github.com/twall/jna
   
---------------------------------------------------------------------------
Guava
---------------------------------------------------------------------------
   Guava, release under the
   Apache License 2.0.
   
   https://code.google.com/p/guava-libraries

---------------------------------------------------------------------------
libpam4j
---------------------------------------------------------------------------
   libpam4j, release under the
   MIT license.
   
   https://github.com/kohsuke/libpam4j

---------------------------------------------------------------------------
commons-codec
---------------------------------------------------------------------------
   commons-codec, release under the
   Apache License 2.0.
   
   http://commons.apache.org/proper/commons-codec

---------------------------------------------------------------------------
pegdown
---------------------------------------------------------------------------
   pegdown, release under the
   Apache License 2.0.
   
   https://github.com/sirthias/pegdown

---------------------------------------------------------------------------
font-awesome
---------------------------------------------------------------------------
   font-awesome, release under the
   SIL OFL 1.1.
   
   https://github.com/FortAwesome/Font-Awesome

---------------------------------------------------------------------------
AUI (excerpts)
---------------------------------------------------------------------------
   AUI, release under the
   Apache License 2.0
   
   https://bitbucket.org/atlassian/aui

---------------------------------------------------------------------------
Jedis
---------------------------------------------------------------------------
   Jedis, release under the
   MIT license
   
   https://github.com/xetorthio/jedis

---------------------------------------------------------------------------
args4j
---------------------------------------------------------------------------
   args4j, release under the
   Apache License 2.0
   
   http://args4j.kohsuke.org

---------------------------------------------------------------------------
jQuery
---------------------------------------------------------------------------
   jQuery, release under the
   MIT License
   
   https://jquery.org

---------------------------------------------------------------------------
flotr2
---------------------------------------------------------------------------
   flotr2, release under the
   BSD License
   
   http://humblesoftware.com/flotr2

---------------------------------------------------------------------------
Mina SSHD
---------------------------------------------------------------------------
   Mina SSHD, release under the 
   Apache License 2.0

   https://mina.apache.org

---------------------------------------------------------------------------
pf4j
---------------------------------------------------------------------------
   pf4j, release under the 
   Apache License 2.0

   https://github.com/decebals/pf4j

---------------------------------------------------------------------------
google-guice
---------------------------------------------------------------------------
   google-guice, release under the 
   Apache License 2.0

   https://code.google.com/p/google-guice
   