<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0047)http://www.eclipse.org/legal/epl/longabout.html -->
<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>2 August 2011</P>	
<H3>License</H3>

<P>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 ("EPL").  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, "Program" 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 ("Redistributor") 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's license for 
		terms and conditions of use.</P>
		
		<h4>
			<a href="about_files/apache-v20.txt">Apache License 2.0</a>
		</h4>
		This product contains software developed by the Apache Software Foundation (<a href="http://www.apache.org">http://www.apache.org</a>).
		<ul>
			<li>
				Apache Commons Codec 1.3.0 - binary and source is available from the <a href="http://commons.apache.org/codec/">Apache Commons Codec project</a>
			</li>
			<li>
				Apache Felix Gogo 0.8.0 - binary and source is available from the <a href="http://felix.apache.org">Apache Felix project</a>
			</li>
			<li>
				Apache HttpClient 3.1.0 - binary and source is available from the <a href="http://hc.apache.org/httpclient-3.x/">Apache HttpClient project</a>
			</li>
			<li>
				Apache MINA Core 2.0.2 - binary and source is available from the <a href="http://mina.apache.org/">Apache MINA project</a>
			</li>
			<li>
				Apache MINA SSHD Core 0.5.0 - binary and source is available from the <a href="http://mina.apache.org/">Apache MINA project</a>
			</li>
			<li>
				Spring Dynamic Modules 1.2.1 - binary and source is available from the
				<a href="http://www.springsource.org/osgi">Spring Dynamic Modules project</a>
			</li>
			<li>
				Spring Framework 3.0.5.RELEASE - binary and source is available from the
				<a href="http://www.springsource.com/download/community">Spring Framework project</a>
			</li>
		</ul>
		<h4>
			<a href="about_files/LICENSE-AspectJ.html">AspectJ License</a>
		</h4>
		<ul>
			<li>
				AspectJ Weaver 1.6.6 - binary and source is available from the <a href="http://eclipse.org/aspectj">AspectJ project</a>
			</li>
		</ul>
		<h4>
			<a href="about_files/asm.txt">ASM License</a>
		</h4>
		<ul>
			<li>
				ASM 1.5.3 - binary and source is available from the <a href="http://asm.ow2.org/">ASM project</a>
			</li>
		</ul>
		<h4>
			<a href="epl-v10.html">Eclipse Public License 1.0</a>
		</h4>
		<ul>
			<li>
				Logback 0.9.24 - binary and source is available from the
				<a href="http://logback.qos.ch/">Logback project</a> (Dual-licensed EPL or LGPL. Virgo elects to use EPL.)
			</li>
		</ul>
		<h4>
			<a href="http://en.wikipedia.org/wiki/Public_domain">Public Domain</a>
		</h4>
		<ul>
			<li>
				AOP Alliance 1.0.0 - binary and source is available from the
				<a href="http://aopalliance.sourceforge.net/">AOP Alliance project</a>
			</li>
		</ul>
		<h4>
			<a href="about_files/slf4j.txt">SLF4J License</a>
		</h4>
		<ul>
			<li>
				Simple Logging Facade for Java (SLF4J) 1.6.1 - binary and source is available from the
				<a href="http://www.slf4j.org/">SLF4J Project</a>
			</li>
		</ul>

</BODY></HTML>