<!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>June 18, 2020</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</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>swt-atk-gtk-xxxx.dll (where &quot;xxxx&quot; is the version number)</li>
	<li>swt-pi-gtk-xxxx.dll (where &quot;xxxx&quot; is the version number)</li>
	<li>swt-pi3-gtk-xxxx.dll (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>swt-webkit-gtk-xxxx.dll (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>swt-webkit-gtk-xxxx.dll (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>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>swt-cairo-gtk-xxxx.dll (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>