<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
</head>
<body lang="EN-US">
<h2>About This Content</h2>
 
<p>January 2, 2014</p>	
<h3>License</h3>

<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>

<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
apply to your use of any object code in the Content.  Check the Redistributor's license that was 
provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>

<h3>Third Party Content</h3>

<p>The Content includes items that have been sourced from third parties as set out below. If you 
did not receive this Content directly from the Eclipse Foundation, the following is provided 
for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
terms and conditions of use.</p>

<h4>GTK+ Binding</h4>

<p>The &quot;GTK+ Binding&quot; is a binding to the GTK+ API.  The Content may include any or all of the following files:</p>

<p>The following files in the plug-in JAR shall be defined as the native code portion of the GTK+ Binding:</p>
<ul>
	<li>libswt-atk-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
	<li>libswt-pi-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
</ul>

<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the GTK+ Binding:</p>
<ul>
	<li>The contents of the directory org/eclipse/swt/internal/accessibility/gtk (but not including any sub-directories)</li>
	<li>The contents of the directory org/eclipse/swt/internal/gtk (but not including any sub-directories)</li>				
</ul>

<p>The GTK+ Binding contains portions of GTK+ (&quot;Library&quot;).  GTK+ is made available by The Free Software Foundation.  Use of the Library is governed by the terms and
conditions of the GNU Lesser General Public License Version 2.1 (&quot;LGPL&quot;).  Use of the GTK+ Binding on a standalone
basis, is also governed by the terms and conditions of the LGPL.  A copy of the LGPL is provided with the Content (<a href="about_files/lgpl-v21.txt" target="_blank">lgpl-v21.txt</a>) and is also available at
<a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>.</p>

<p>In accordance with Section 6 of the LGPL, you may combine or link a "work that uses the Library" (e.g. the SWT) with the Library to produce a work
containing portions of the Library (e.g. the GTK+ Binding) and distribute that work under the terms of your choice (e.g. the EPL) provided you comply with all
other terms and conditions of Section 6 as well as other Sections of the LGPL.  Please note, if you modify the GTK+ Binding such modifications shall be
governed by the terms and conditions of the LGPL.  Also note, the terms of the EPL permit you to modify the combined work and the source code of the combined
work is provided for debugging purposes so there is no need to reverse engineer the combined work.</p>

<h4>WebKitGTK+ Binding</h4>

<p>The &quot;WebKitGTK+ Binding&quot; is a binding to the WebKitGTK+ API. The Content may include any or all of the following files:</p>

<p>The following files in the plug-in JAR shall be defined as the native code portion of the WebKitGTK+ Binding:</p>

<ul>
    <li>libswt-webkit-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
</ul>

<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the WebKitGTK+ Binding:</p>
<ul>
    <li>The contents of the directory org/eclipse/swt/internal/webkit (but not including any sub-directories)</li>
</ul>

<p>
The WebKitGTK+ Binding contains portions of WebKitGTK+ (&quot;Library&quot;). WebKitGTK+ is made available by the WebKitGTK+ open source project (<a href="http://webkitgtk.org/" target="_blank">http://webkit.org/</a>). Use of the Library is governed by the terms and conditions of the GNU Lesser General Public License Version 2.1 (&quot;LGPL&quot;). Use of the WebKitGTK+ Binding on a standalone basis, is also governed by the terms and conditions of the LGPL. A copy of the LGPL is provided with the Content (<a href="about_files/lgpl-v21.txt" target="_blank">lgpl-v21.txt</a>) and is also available at <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>. </p>

<p>
In accordance with Section 6 of the LGPL, you may combine or link a &quot;work that uses the Library&quot; (e.g. the SWT) with the Library to produce a work containing portions of the Library (e.g. the WebKitGTK+ Binding) and distribute that work under the terms of your choice (e.g. the EPL) provided you comply with all other terms and conditions of Section 6 as well as other Sections of the LGPL. Please note, if you modify the WebKitGTK+ Binding such modifications shall be governed by the terms and conditions of the LGPL. Also note, the terms of the EPL permit you to modify the combined work and the source code of the combined work is provided for debugging purposes so there is no need to reverse engineer the combined work.<p>

<p>The WebKitGTK+ Binding also contains portions of the WebKit JavaScriptCore code which is made available by the WebKit open source project (<a href="http://webkit.org/" target="_blank">http://webkit.org/</a>).  The WebKit JavaScriptCore code was obtained under the terms of the BSD license.  A copy of the BSD license is provided (<a href="about_files/webkit-bsd.txt"target="_blank">webkit-bsd.txt</a>) and is also available at <a href="http://webkit.org/coding/bsd-license.html" target="_blank">http://webkit.org/coding/bsd-license.html</a>. </p>

<h4>libsoup</h4>

<p>The &quot;WebKitGTK+ Binding&quot; also includes a binding to the libsoup API. The Content may include any or all of the following files:</p>

<p>The following files in the plug-in JAR shall be defined as the native code portion of the WebKitGTK+ Binding:</p>
<ul>
    <li>libswt-webkit-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
</ul>

<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the WebKitGTK+ Binding:</p>
<ul>
    <li>The contents of the directory org/eclipse/swt/internal/webkit (but not including any sub-directories)</li>
</ul>

<p>The WebKitGTK+ Binding contains portions of libsoup (&quot;Library&quot;). libsoup is made available by The GNOME Project (<a href="http://live.gnome.org/LibSoup" target="_blank">http://live.gnome.org/LibSoup/</a>). Use of the Library is governed by the terms and conditions of the GNU Lesser General Public License Version 2.1 (&quot;LGPL&quot;). Use of the WebKitGTK+ Binding on a standalone basis, is also governed by the terms and conditions of the LGPL. A copy of the LGPL is provided with the Content (<a href="about_files/lgpl-v21.txt" target="_blank">lgpl-v21.txt</a>) and is also available at <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>. </p>

<h4>Mozilla Binding</h4>

<p>The &quot;Mozilla Binding&quot; is a binding to the Mozilla API.  The Content may include any or all of the following files:</p>

<p>The following files in the plug-in JAR shall be defined as the native code portion of the Mozilla Binding:</p>
<ul>
	<li>libswt-mozilla-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
	<li>libswt-xulrunner-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
	<li>libswt-xulrunner24-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
	<li>libswt-xpcominit-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
</ul>

<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the Mozilla Binding:</p>
<ul>
	<li>The contents of the directory org/eclipse/swt/internal/mozilla (but not including any sub-directories)</li>
</ul>

<p>The Mozilla Binding contains portions of Mozilla (&quot;Mozilla&quot;).  Mozilla is made available by Mozilla.org.  Use of Mozilla is governed by the terms and
conditions of the Mozilla Public License Version 2.0 (&quot;MPL&quot;).  A copy of the MPL is provided with the Content (<a href="about_files/mpl-v20.txt" target="_blank">mpl-v20.txt</a>) and is also available at
<a href="http://www.mozilla.org/MPL/2.0/" target="_blank">http://www.mozilla.org/MPL/2.0/</a>.</p>

<h4>XULRunner 24 (subset, derivative work)</h4>

The library swt-xulrunner24-gtk-xxxx.dll (where &quot;xxxx&quot; is the version number) contains a small portion of XULRunner 24 content (header files) that have
been modified from the Original Code provided by mozilla.org, and whose Initial Developer is Netscape Communications Corporation. Use of this code is governed by
the terms and conditions of the Mozilla Public License Version 2.0 ("MPL").  A copy of the MPL is provided with the Content (<a href="./about_files/mpl-v20.txt" target="_blank">mpl-v20.txt</a>)
and is also available at <a href="http://www.mozilla.org/MPL/2.0/" target="_blank">http://www.mozilla.org/MPL/2.0/</a>.
<p>The changed files are:
<ul>
  <li>org.eclipse.swt/Eclipse SWT Mozilla/common/library/nsIGlobalObject_24.h</code>
  <li>org.eclipse.swt/Eclipse SWT Mozilla/common/library/nsIScriptContext_24.h</code>
  <li>org.eclipse.swt/Eclipse SWT Mozilla/common/library/nsIScriptGlobalObject_24.h</code>
</ul>
Changes to the original files were made by SWT on September 18, 2013 and are marked with trailing comment <em>&quot;//SWT-20130918&quot;</em>.

<h4>XULRunner 1.9 (subset, derivative work)</h4>

The libraries libswt-xulrunner-gtk-xxxx.so, libswt-mozilla-gtk-xxxx.so, and libswt-mozilla-gcc3-gtk-xxxx.so (where &quot;xxxx&quot; is the version number) contain a small portion of XULRunner 1.9 content (header files)
that have been modified from the Original Code provided by mozilla.org, and whose Initial Developer is Netscape Communications Corporation. Use of this code is governed by
the terms and conditions of the Mozilla Public License Version 1.1 ("MPL").  A copy of the MPL is provided with the Content (<a href="./about_files/mpl-v11.txt" target="_blank">mpl-v11.txt</a>)
and is also available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html" target="_blank">http://www.mozilla.org/MPL/MPL-1.1.html</a>.
<p>The changed files are:
<ul>
  <li>org.eclipse.swt/Eclipse SWT Mozilla/common/library/nsIScriptContext.h</code>
  <li>org.eclipse.swt/Eclipse SWT Mozilla/common/library/nsIScriptGlobalObject.h</code>
</ul>
Changes to the original files were made by SWT on April 7, 2009 and are marked with trailing comment <em>&quot;//SWT-20090407&quot;</em>.

<h4>Cairo Binding</h4>

<p>The &quot;Cairo Binding&quot; is a binding to the Cairo API.  The Content may include any or all of the following files:</p>

<p>The following files in the plug-in JAR shall be defined as the native code portion of the Cairo Binding:</p>
<ul>
	<li>libswt-cairo-gtk-xxxx.so (where &quot;xxxx&quot; is the version number)</li>
</ul>

<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the Cairo Binding:</p>
<ul>
	<li>The contents of the directory org/eclipse/swt/internal/cairo (but not including any sub-directories)</li>
</ul>

<p>The Cairo Binding contains portions of Cairo (&quot;Cairo&quot;).  Cairo is made available by the Cairo project at
<a href="http://www.cairographics.org" target="_blank">http://www.cairographics.org</a>.  Use of Cairo by the Cairo Binding is governed by the terms and
conditions of the Mozilla Public License Version 1.1 (&quot;MPL&quot;).  A copy of the MPL is
provided with the Content (<a href="about_files/mpl-v11.txt" target="_blank">mpl-v11.txt</a>) and is also available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>.</p>

<h4>Independent JPEG Group's JPEG software release 6b</h4>

<p>This software is based in part on the work of the Independent JPEG Group's JPEG software release 6b (&quot;LIBJPEG&quot;).
LIBJPEG was used to implement the decoding of JPEG format files in Java (TM).  The Content does NOT include any portion of the LIBJPEG file ansi2knr.c.</p>

<p>Your use of LIBJPEG is subject to the terms and conditions located in the <a href="about_files/IJG_README">about_files/IJG_README</a> file which is included
with the Content.</p>

<p>The IJG's website is located at <a href="http://ijg.org/" target="_blank">http://ijg.org</a>.</p>

<p>The class org.eclipse.swt.internal.image.JPEGFileFormat is based on following files from LIBJPEG:</p>

<ul>
    <li>cderror.h</li>
    <li>cdjpeg.h</li>
    <li>jchuff.h</li>
    <li>jdcolor.c</li>
    <li>jdct.h</li>
    <li>jdhuff.h</li>
    <li>jerror.h</li>
    <li>jidctint.c</li>
    <li>jinclude.h</li>
    <li>jmemsys.h</li>
    <li>jmorecfg.h</li>
    <li>jpegint.h</li>
    <li>jpeglib.h</li>
    <li>jversion.h</li>
    <li>transupp.h</li>
</ul>

<p>The class org.eclipse.swt.internal.image.JPEGDecoder is based on the following files from LIBJPEG:</p>

<ul>
	<li>jcapimin.c</li>
	<li>jcapistd.c</li>
	<li>jccoefct.c</li>
	<li>jccolor.c</li>
	<li>jcdctmgr.c</li>
	<li>jchuff.c</li>
	<li>jcinit.c</li>
	<li>jcmainct.c</li>
	<li>jcmarker.c</li>
	<li>jcmaster.c</li>
	<li>jcomapi.c</li>
	<li>jcparam.c</li>
	<li>jcphuff.c</li>
	<li>jcprepct.c</li>
	<li>jcsample.c</li>
	<li>jctrans.c</li>
	<li>jdapimin.c</li>
	<li>jdapistd.c</li>
	<li>jdatadst.c</li>
	<li>jdatasrc.c</li>
	<li>jdcoefct.c</li>
	<li>jdcolor.c</li>
	<li>jddctmgr.c</li>
	<li>jdhuff.c</li>
	<li>jdinput.c</li>
	<li>jdmainct.c</li>
	<li>jdmarker.c</li>
	<li>jdmaster.c</li>
	<li>jdmerge.c</li>
	<li>jdphuff.c</li>
	<li>jdpostct.c</li>
	<li>jdsample.c</li>
	<li>jdtrans.c</li>
	<li>jerror.c</li>
	<li>jfdctflt.c</li>
	<li>jfdctfst.c</li>
	<li>jfdctint.c</li>
	<li>jidctflt.c</li>
	<li>jidctfst.c</li>
	<li>jidctint.c</li>
	<li>jidctred.c</li>
	<li>jpegtran.c</li>
	<li>jquant1.c</li>
	<li>jquant2.c</li>
	<li>jutils.c</li>
	<li>cderror.h</li>
	<li>cdjpeg.h</li>
	<li>jchuff.h</li>
	<li>jconfig.h</li>
	<li>jdct.h</li>
	<li>jdhuff.h</li>
	<li>jerror.h</li>
	<li>jinclude.h</li>
	<li>jmorecfg.h</li>
	<li>jpegint.h</li>
	<li>jpeglib.h</li>
	<li>jversion.h</li>
	<li>transupp.h</li>
</ul>
	
<p>The following changes were made to the LIBJPEG code in the Content:</p>

<ol>
	<li>In Java, pointer math is not allowed so indexing was used instead.</li>
	<li>Function pointers were replaced with switch statements.</li>
	<li>The virtual memory, tracing and progress monitoring were removed.</li>
	<li>The error handling was simplified and now uses Java exceptions.</li>
</ol>

<h4>PuTTY 0.58 (derivative work)</h4>

<p>Portions of the SWT class org/eclipse/swt/internal/image/PngDeflater are based on PuTTY's sshzlib.c. PuTTY is made available by Mozilla.org.  Use of PuTTY is governed by the terms and
conditions of the the following MIT-style license:  </p>
<blockquote>
  <p><em>PuTTY is copyright 1997-2007 Simon Tatham.</em> </p>
  <p><em>Portions copyright Robert de Bath, Joris van Rantwijk, Delian  Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,  Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, Markus Kuhn,  and CORE SDI S.A.</em> </p>
  <p><em>Permission is hereby granted, free of charge, to any person  obtaining a copy of this software and associated documentation files  (the &quot;Software&quot;), to deal in the Software without restriction,  including without limitation the rights to use, copy, modify, merge,  publish, distribute, sublicense, and/or sell copies of the Software,  and to permit persons to whom the Software is furnished to do so,  subject to the following conditions:</em> </p>
  <p><em>The above copyright notice and this permission notice shall be  included in all copies or substantial portions of the Software.</em> </p>
  <p><em>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND  NONINFRINGEMENT.  IN NO EVENT SHALL SIMON TATHAM BE LIABLE FOR ANY  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</em> </p>
</blockquote>
<p>A copy of the license is also available at <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/licence.html" target="_blank">http://www.chiark.greenend.org.uk/~sgtatham/putty/licence.html</a>.</p>

<p><small>Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</small></p>

</body>
</html>