FreeMarker 1.x was released under the LGPL license. Later, by community
consensus, we have switched over to a BSD-style license. As of FreeMarker
2.2pre1, the original author, Benjamin Geer, has relinquished the copyright in
behalf of Visigoth Software Society. The current copyright holder is the
Visigoth Software Society.

------------------------------------------------------------------------------
Copyright (c) 2003 The Visigoth Software Society. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1.  Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

2.  The end-user documentation included with the redistribution, if any, must
    include the following acknowlegement:
      "This product includes software developed by the 
      Visigoth Software Society (http://www.visigoths.org/)."
    Alternately, this acknowlegement may appear in the software itself, if and
    wherever such third-party acknowlegements normally appear.

3.  Neither the name "FreeMarker", "Visigoth", nor any of the names of the
    project contributors may be used to endorse or promote products derived
    from this software without prior written permission. For written
    permission, please contact visigoths@visigoths.org.

4.  Products derived from this software may not be called "FreeMarker" or
    "Visigoth" nor may "FreeMarker" or "Visigoth" appear in their names
    without prior written permission of the Visigoth Software Society.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
VISIGOTH SOFTWARE SOCIETY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------

This software consists of voluntary contributions made by many individuals on
behalf of the Visigoth Software Society. For more information on the Visigoth
Software Society, please see http://www.visigoths.org/

------------------------------------------------------------------------------

FREEMARKER SUBCOMPONENTS UNDER DIFFERENT LICENSE:

FreeMarker includes a number of subcomponents that are licensed by the Apache
Software Foundation under the Apache License, Version 2.0. Your use of these
subcomponents is subject to the terms and conditions of the Apache License,
Version 2.0. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0
    
The subcomponents under this licence are the following files, which are
included both in freemarker.jar and in the source code:
  
    freemarker/ext/jsp/web-app_2_2.dtd
    freemarker/ext/jsp/web-app_2_3.dtd
    freemarker/ext/jsp/web-app_2_4.xsd
    freemarker/ext/jsp/web-app_2_5.xsd
    freemarker/ext/jsp/web-jsptaglibrary_1_1.dtd
    freemarker/ext/jsp/web-jsptaglibrary_1_2.dtd
    freemarker/ext/jsp/web-jsptaglibrary_2_0.xsd
    freemarker/ext/jsp/web-jsptaglibrary_2_1.xsd
