<!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>May 1, 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's license for
terms and conditions of use.</p>

<h4>OSGi resource locator</h4>

<p>The plug-in includes software developed by <a href="https://www.eclipse.org" target="_blank">Eclipse Foundation</a> as part of the OSGi resource locator project.</p>

<p>OSGi resource locator is provided to you under the terms and conditions of the <a href="http://www.eclipse.org/legal/epl-2.0" target="_blank">EPL 2.0</a> (<a href="about_files/EPL_2.0.html" target="_blank">EPL_2.0.html</a>) and <a href="https://www.gnu.org/software/classpath/license.html" target="_blank">GPL2 w/ CPE</a> (<a href="about_files/GPL2_W__CPE.html" target="_blank">GPL2_W__CPE.html</a>) licenses.</p>

<p>OSGi resource locator including its source is available from <a href="https://projects.eclipse.org/projects/ee4j/osgi-resource-locator" target="_blank">projects.eclipse.org/projects/ee4j/osgi-resource-locator</a>. Bugs or feature requests can be made in the project issue tracking system at <a href="https://github.com/eclipse-ee4j/ee4j/issues" target="_blank">github.com/eclipse-ee4j/ee4j/issues</a>. The following mailing lists can be used to communicate with the project communities: Community discussions &lt;jakarta.ee-community@eclipse.org&gt; (<a href="https://dev.eclipse.org/mhonarc/lists/jakarta.ee-community/" target="_blank">archive</a>) or PMC discussions &lt;ee4j-pmc@eclipse.org&gt; (<a href="https://dev.eclipse.org/mhonarc/lists/ee4j-pmc/" target="_blank">archive</a>).</p>


</body>
</html>
