<!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>Gemini DB Access 1.0.0</title> 
</head>

<body lang="EN-US"> 
<h2>About</h2> 
<p>May 4, 2010</p> 

<p>
The Gemini DB Access project provides support for certain JDBC drivers to be able to be installed as bundles and accessed as services to be compliant with the OSGi JDBC specification.
</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;) and Apache Software License Version 2.0 (&quot;ASL&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> and a copy of the ASL is available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-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&#8217;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 and ASL 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&#8217;s license for terms and conditions of use.
</p>

<ul>
  <li><a href="#OSGiEnterprise">OSGi Enterprise</a></li>
  <li><a href="#Derby">Derby JDBC library</a></li>
</ul>
<hr />

<h3><a name="OSGiEnterprise" id="OSGiEnterprise"></a>OSGi Enterprise APIs</h3>
<blockquote> 
<p>
The OSGi Enterprise specification was created in the OSGi Alliance and defines a set of OSGi services, some of which are used or implemented by Gemini DB Access. The specification APIs are licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">ASL</a> license.
</p>
</blockquote>

<h3><a name="Derby" id="Derby"></a>Derby JDBC Library</h3>
<blockquote> 
<p>
The <a href="http://db.apache.org/derby/">Apache Derby</a> project provides a set of JDBC driver classes to allow Java programs 
to access the database. These can be obtained from the <a href="http://db.apache.org/derby/derby_downloads.html">Derby Downloads page</a>
and are licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">ASL v2.0 license</a>
</blockquote>

<p></p>
</body>
</html>

