<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Vaadin Licensing</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<!--[if IE]>
		<link rel="stylesheet" type="text/css" href="css/ie.css" />
		<![endif]-->
</head>
<body>

	<div id="header">
		<h1>Vaadin &ndash; thinking of U and I</h1>
		<div id="version"></div>
	</div>
	<!-- /header -->

	<div id="content">

      <h1>Licensing</h1>

      <p>
        <strong><i>Vaadin Framework</i> is intended to be freely used and extended by
        anyone without any fees</strong>. In order to guarantee these freedoms, <i>Vaadin
        Framework</i> is licensed under the <a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a>.
      </p>

      <p>
        Third-party software included in this distribution is provided under the same
        license or compatible licenses, as listed in the section below.
      </p>

      <p>
        The license of the Vaadin Framework is for this product only and may not apply to
        all Vaadin add-ons, such as those available from Vaadin Directory, or other Vaadin
        products, which may have different licenses.
      </p>

      <p>
        If you have any questions on licensing terms, please contact us through <a
        href="http://vaadin.com/contact">the vaadin.com web-site</a>.
      </p>

      <h3>Included Third-Party Software and Licenses</h3>

      <h4>Vaadin Production Dependencies</h4>

      <p>The following dependencies are used by the Vaadin runtime
         libraries when running the application in the production
	 mode, and some also by the development libraries:</p>

      <table border="1" cellspacing="1">
        <thead style="background: #ccc;">
          <tr><th>Package</th><th>License</th></tr>
        </thead>
        <tbody>
          <tr>
            <td>Apache Commons<br/>
                CLI<br/> <!-- Used by theme-compiler -->
                Discovery<br/>
                IO<br/>
                Jexl<br/>
                Lang<br/>
                Logging<br/> <!-- Used by theme-compiler -->
                Math<br/>
            </td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>
 
          <!-- Used by GWT and vaadin-server -->
          <tr>
            <td>Bean Validation (JSR-303) API</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <tr>
            <td>Google AppEngine API*</td>
            <td><a href="licenses/google-cloud-platform-terms-of-service.txt">Google Cloud Platform Terms of Service</a></td>
          </tr>

          <tr>
            <td>Google Collections</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-shared, vaadin-client-compiler, etc. -->
          <tr>
            <td>Google GWT</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <tr>
            <td>Closure Stylesheets</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <tr>
            <td>ASM</td>
            <td><a href="licenses/ow2-asm-license.txt">ASM Project License</a></td>
          </tr>

          <!-- In vaadin-shared-deps -->
          <tr>
            <td>Guava</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-shared-deps -->
          <tr>
            <td>JSON</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- Used by vaadin-server -->
          <tr>
            <td>JSoup</td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>

          <tr>
            <td>streamhtmlparser</td>
            <td><a href="licenses/new-bsd-license.txt">New BSD License</a></td>
          </tr>

          <!-- If vaadin-push used. Atmosphere has some internal dependencies, but they are all Apache 2. -->
          <tr>
            <td>Atmosphere Framework^</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a>,<br/>
                <a href="licenses/common-development-and-distribution-license-v1-0.txt">Common Development and Distribution License, Version 1.0</a></td>
          </tr>

          <!-- Used by vaadin-push -->
          <tr>
            <td>SLF4J^</td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>
          <!-- Used by vaadin-push -->
          <tr>
            <td>jQuery^</td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>
          <!-- Used by font icons -->
          <tr>
            <td title="Custom web font">FontAwesome</td>
            <td><a href="licenses/OFL.txt">SIL OFL 1.1</a></td>
          </tr>
          <!-- Included in the Valo theme -->
          <tr>
            <td title="Custom web font">Open Sans</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
          </tr>
          <tr>
            <td title="Custom web font">Roboto</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
          </tr>
          <tr>
            <td title="Custom web font">Roboto Condensed</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
          </tr>
          <tr>
            <td title="Custom web font">Source Sans Pro</td>
            <td><a href="licenses/OFL.txt">SIL OFL 1.1</a></td>
          </tr>
          <tr>
            <td title="Custom web font">Lato</td>
            <td><a href="licenses/OFL.txt">SIL OFL 1.1</a></td>
          </tr>
          <tr>
            <td title="Custom web font">Lora</td>
            <td><a href="licenses/OFL.txt">SIL OFL 1.1</a></td>
          </tr>
          <tr>
            <td><a href="https://github.com/heygrady/scss-blend-modes">SCSS Blend Modes</a></td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>
          <tr>
            <td><a href="https://github.com/Team-Sass/Sass-list-functions">Sass list functions</a></td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>
	  <!-- The extracted vaadin-sass-compiler -->
          <tr>
            <td>Vaadin Sass Compiler</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>
	  <!-- Bourbon sass library -->
          <tr>
            <td>Bourbon</td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>
        </tbody>
      </table>
      
      <p>* Not required by Vaadin, only used if provided by the user.<br/>
^ Only if <tt>vaadin-push</tt> is used.</p>

      <h4>Vaadin Development Dependencies</h4>

      <p>The following dependencies are only used by the Vaadin
         development libraries. Some are also used when running a
	 Vaadin application in the development mode:</p>

      <table border="1" cellspacing="1">
        <thead style="background: #ccc;">
          <tr><th>Package</th><th>License</th></tr>
        </thead>
        <tbody>
          <!-- Required by Smartsprites -->
          <tr>
            <td>Apache Ant<br/>
                Ant Launcher</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <tr>
            <td>Apache Commons<br/>
                BCEL<br/>
                <!-- Beanutils<br/> --> <!-- Does not appear to be used anywhere -->
                Codec<br/>
                Collections<br/>
                Digester 3<br/>
                EL<br/>
                Modeler</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- Is this used anywhere? -->
          <tr>
            <td>Apache HttpComponents Core</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Apache Jakarta Regexp</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>
          <tr>
            <td>Apache Mime4j</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- The Mime4j does not appear to be used anywhere. Remove if necessary.
          <tr>
            <td>Apache James Server<br/>
                Apache James Mime4j</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>
          -->

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Apache Tapestry</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <tr>
            <td>Apache Tomcat<br/>
                Catalina<br/> <!-- Is this used anywhere? -->
                Coyote<br/> <!-- Is this used anywhere? -->
                Jasper<br/> <!-- In vaadin-client-compiler -->
                JK<br/> <!-- Is this used anywhere? -->
                Naming <!-- In vaadin-client-compiler -->
            </td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Apache Xalan</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Apache Xerces</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- Used by GWT and smartsprites -->
          <tr>
            <td>Args4j</td>
            <td><a href="licenses/the-mit-license.txt">The MIT License</a></td>
          </tr>

          <!-- Used by theme-compiler -->
          <tr>
            <td>CSS Parser</td>
            <td><a href="licenses/gnu-lesser-general-public-license-version-2-0.txt">GNU Lesser General Public License, version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>CUP</td>
            <td><a href="licenses/cup-open-source-license.txt">CUP Open Source License</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>CyberNeko HTML Parser</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Eclipse JDT</td>
            <td><a href="licenses/eclipse-public-license-v1-0.txt">Eclipse Public License - v 1.0</a></td>
          </tr>

          <!-- In vaadin-shared-deps but only invoked in development mode -->
          <tr>
            <td>Flute</td>
            <td><a href="licenses/w3c-software-copyright-notice-and-license.txt">W3C Software Copyright Notice and License</a></td>
          </tr>

          <!-- Is this used anywhere? -->
          <tr>
            <td>Google Closure Compiler</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Google Protocol Buffers</td>
            <td><a href="licenses/google-bsd-license.txt">BSD License</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>HtmlUnit</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>ICU</td>
            <td><a href="licenses/icu-license-icu-1-8-1-and-later.txt">ICU License</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Jetty</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a><br/><a href="licenses/eclipse-public-license-v1-0.txt">Eclipse Public License - v 1.0</a><br/><a href="licenses/jetty-web-container-license.txt">Jetty Web Container License</a></td>
          </tr>

          <!-- Is this used anywhere? -->
          <tr>
            <td>Jsilver</td>
            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
          </tr>

          <!-- Includes portal-service -->
          <tr>
            <td>Liferay Service Interfaces*</td>
            <td><a href="licenses/gnu-lesser-general-public-license-version-2-1.txt">GNU Lesser General Public License 2.1 or newer</a></td>
          </tr>

          <!-- In vaadin-client-compiler -->
          <tr>
            <td>Mozilla Rhino</td>
            <td><a href="licenses/mozilla-public-license-v1-1.txt">Mozilla Public License v. 1.1</a></td>
          </tr>

          <!-- Is this used anywhere? -->
          <tr>
            <td>MX4J</td>
            <td><a href="licenses/the-mx4j-license.txt">The MX4J License</a></td>
          </tr>

          <!-- Used by theme-compiler -->
          <tr>
            <td>SAC: The Simple API for CSS</td>
            <td><a href="licenses/w3c-software-copyright-notice-and-license.txt">W3C Software Copyright Notice and License</a></td>
          </tr>

          <!-- Used by theme-compiler -->
          <tr>
            <td>SmartSprites</td>
            <td><a href="licenses/smartsprites-bsd-license.txt">BSD License</a></td>
          </tr>

          <!-- Explicitly excluded from vaadin-client-compiler
          <tr>
            <td>Swingworker</td>
            <td><a href="http://www.gnu.org/licenses/lgpl-2.1.html">GNU Lesser General Public License 2.1</a></td>
          </tr>
          -->
        </tbody>
      </table>

      <p>* Not required by Vaadin, only used if provided by the user.</p>

		<h1>Copyright and trademarks</h1>
		<p>
			"Vaadin" and "}&gt;" are registered trademarks of <a
				href="http://vaadin.com/company">Vaadin Ltd</a>. You may not market
			your products or services using the Vaadin -brand name, use Vaadin
			logos or trademarks without written permission from <a
				href="http://vaadin.com/company">Vaadin Ltd</a>.
		</p>
		<p>
			Copyright to <i>Vaadin Framework</i> is owned by <a
				href="http://vaadin.com/company">Vaadin Ltd</a>.
		</p>		
	</div>
	<!-- /content-->


	<div id="footer">
		<span class="slogan">Vaadin &ndash; thinking of U and I</span>
	</div>
	<!-- /footer -->

</body>
</html>
