<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://www.eclipse.org/legal/cpl-v05.html -->
<HTML><HEAD><TITLE>Common Public License Version 0.5</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="MSHTML 5.00.3315.2870" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<DIV align=center>
<P>
<TABLE border=0 cellPadding=10 cellSpacing=10 width="90%">
  <TBODY>
  <TR>
    <TD vAlign=top width="75%"><FONT face="Arial, Helvetica, sans serif" 
      size=3>
      <H1>Common Public License Version 0.5</H1><TT>
      <P><FONT face="Courier New, Courier, mono">THE ACCOMPANYING PROGRAM IS 
      PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY 
      USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S 
      ACCEPTANCE OF THIS AGREEMENT. </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><B>1. DEFINITIONS 
      </B></FONT></P>
      <P><FONT face="Courier New, Courier, mono">"Contribution" 
means:</FONT></P>
      <BLOCKQUOTE>
        <P><FONT face="Courier New, Courier, mono">a) in the case of the initial 
        Contributor, the initial code and documentation distributed under this 
        Agreement, and </FONT></P>
        <P><FONT face="Courier New, Courier, mono">b) in the case of each 
        subsequent Contributor:</FONT></P>
        <P><FONT face="Courier New, Courier, mono">i) changes to the Program, 
        and</FONT></P>
        <P><FONT face="Courier New, Courier, mono">ii) additions to the 
        Program;</FONT></P>
        <P><FONT face="Courier New, Courier, mono">where such changes and/or 
        additions to the Program originate from and are distributed by that 
        particular Contributor. A Contribution 'originates' from a Contributor 
        if it was added to the Program by such Contributor itself or anyone 
        acting on such Contributor's behalf. Contributions do not include 
        additions to the Program which: (i) are separate modules of software 
        distributed in conjunction with the Program under their own license 
        agreement, and (ii) are not derivative works of the 
      Program.</FONT></P></BLOCKQUOTE>
      <P><FONT face="Courier New, Courier, mono">"Contributor" means any person 
      or entity that distributes the Program. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">"Licensed Patents " mean patent 
      claims licensable by a Contributor which are necessarily infringed by the 
      use or sale of its Contribution alone or when combined with the 
      Program.</FONT></P>
      <P><FONT face="Courier New, Courier, mono">"Program" means the 
      Contributions distributed in accordance with this Agreement. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">"Recipient" means anyone who 
      receives the Program under this Agreement, including all Contributors. 
      </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><B>2. GRANT OF 
      RIGHTS</B></FONT></P>
      <BLOCKQUOTE>
        <P><FONT face="Courier New, Courier, mono">a) Subject to the terms of 
        this Agreement, each Contributor hereby grants Recipient a 
        non-exclusive, worldwide, royalty-free copyright license to reproduce, 
        prepare derivative works of, publicly display, publicly perform, 
        distribute and sublicense the Contribution of such Contributor, if any, 
        and such derivative works, in source code and object code 
        form.</FONT></P>
        <P><FONT face="Courier New, Courier, mono">b) Subject to the terms of 
        this Agreement, each Contributor hereby grants Recipient a 
        non-exclusive, worldwide, royalty-free patent license under Licensed 
        Patents to make, use, sell, offer to sell, import and otherwise transfer 
        the Contribution of such Contributor, if any, in source code and object 
        code form. This patent license shall apply to the combination of the 
        Contribution and the Program if, at the time the Contribution is added 
        by the Contributor, such addition of the Contribution causes such 
        combination to be covered by the Licensed Patents. The patent license 
        shall not apply to any other combinations which include the 
        Contribution. No hardware per se is licensed hereunder.</FONT></P>
        <P><FONT face="Courier New, Courier, mono">c) Recipient understands that 
        although each Contributor grants the licenses to its Contributions set 
        forth herein, no assurances are provided by any Contributor that the 
        Program does not infringe the patent or other intellectual property 
        rights of any other entity. Each Contributor disclaims any liability to 
        Recipient for claims brought by any other entity based on infringement 
        of intellectual property rights or otherwise. As a condition to 
        exercising the rights and licenses granted hereunder, each Recipient 
        hereby assumes sole responsibility to secure any other intellectual 
        property rights needed, if any. For example, if a third party patent 
        license is required to allow Recipient to distribute the Program, it is 
        Recipient's responsibility to acquire that license before distributing 
        the Program.</FONT></P>
        <P><FONT face="Courier New, Courier, mono">d) Each Contributor 
        represents that to its knowledge it has sufficient copyright rights in 
        its Contribution, if any, to grant the copyright license set forth in 
        this Agreement.</FONT></P></BLOCKQUOTE>
      <P><FONT face="Courier New, Courier, mono"><STRONG>3. 
      REQUIREMENTS</STRONG> </FONT></P>
      <P><FONT face="Courier New, Courier, mono">A Contributor may choose to 
      distribute the Program in object code form under its own license 
      agreement, provided that: </FONT></P>
      <BLOCKQUOTE>
        <P><FONT face="Courier New, Courier, mono">a) it complies with the terms 
        and conditions of this Agreement; and</FONT></P>
        <P><FONT face="Courier New, Courier, mono">b) its license 
        agreement:</FONT></P>
        <P><FONT face="Courier New, Courier, mono">i) effectively disclaims on 
        behalf of all Contributors all warranties and conditions, express and 
        implied, including warranties or conditions of title and 
        non-infringement, and implied warranties or conditions of 
        merchantability and fitness for a particular purpose; </FONT></P>
        <P><FONT face="Courier New, Courier, mono">ii) effectively excludes on 
        behalf of all Contributors all liability for damages, including direct, 
        indirect, special, incidental and consequential damages, such as lost 
        profits; </FONT></P>
        <P><FONT face="Courier New, Courier, mono">iii) states that any 
        provisions which differ from this Agreement are offered by that 
        Contributor alone and not by any other party; and </FONT></P>
        <P><FONT face="Courier New, Courier, mono">iv) states that source code 
        for the Program is available from such Contributor, and informs 
        licensees how to obtain it in a reasonable manner on or through a medium 
        customarily used for software exchange. </FONT></P></BLOCKQUOTE>
      <P><FONT face="Courier New, Courier, mono">When the Program is made 
      available in source code form:</FONT></P>
      <BLOCKQUOTE>
        <P><FONT face="Courier New, Courier, mono">a) it must be made available 
        under this Agreement; and</FONT></P>
        <P><FONT face="Courier New, Courier, mono">b) a copy of this Agreement 
        must be included with each copy of the Program. </FONT></P></BLOCKQUOTE>
      <P><FONT face="Courier New, Courier, mono">Contributors may not remove or 
      alter any copyright notices contained within the Program.</FONT></P>
      <P><FONT face="Courier New, Courier, mono">Each Contributor must identify 
      itself as the originator of its Contribution, if any, in a manner that 
      reasonably allows subsequent Recipients to identify the originator of the 
      Contribution. </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><STRONG>4. COMMERCIAL 
      DISTRIBUTION</STRONG> </FONT></P>
      <P><FONT face="Courier New, Courier, mono">Commercial distributors of 
      software may accept certain responsibilities with respect to end users, 
      business partners and the like. While this license is intended to 
      facilitate the commercial use of the Program, the Contributor who includes 
      the Program in a commercial product offering should do so in a manner 
      which does not create potential liability for other Contributors. 
      Therefore, if a Contributor includes the Program in a commercial product 
      offering, such Contributor ("Commercial Contributor") hereby agrees to 
      defend and indemnify every other Contributor ("Indemnified Contributor") 
      against any losses, damages and costs (collectively "Losses") arising from 
      claims, lawsuits and other legal actions brought by a third party against 
      the Indemnified Contributor to the extent caused by the acts or omissions 
      of such Commercial Contributor in connection with its distribution of the 
      Program in a commercial product offering. The obligations in this section 
      do not apply to any claims or Losses relating to any actual or alleged 
      intellectual property infringement. In order to qualify, an Indemnified 
      Contributor must: a) promptly notify the Commercial Contributor in writing 
      of such claim, and b) allow the Commercial Contributor to control, and 
      cooperate with the Commercial Contributor in, the defense and any related 
      settlement negotiations. The Indemnified Contributor may participate in 
      any such claim at its own expense. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">For example, a Contributor 
      might include the Program in a commercial product offering, Product X. 
      That Contributor is then a Commercial Contributor. If that Commercial 
      Contributor then makes performance claims, or offers warranties related to 
      Product X, those performance claims and warranties are such Commercial 
      Contributor's responsibility alone. Under this section, the Commercial 
      Contributor would have to defend claims against the other Contributors 
      related to those performance claims and warranties, and if a court 
      requires any other Contributor to pay any damages as a result, the 
      Commercial Contributor must pay those damages. </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><STRONG>5. NO 
      WARRANTY</STRONG></FONT></P>
      <P><FONT face="Courier New, Courier, mono">EXCEPT AS EXPRESSLY SET FORTH 
      IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT 
      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, 
      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, 
      NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
      Each Recipient is solely responsible for determining the appropriateness 
      of using and distributing the Program and assumes all risks associated 
      with its exercise of rights under this Agreement, including but not 
      limited to the risks and costs of program errors, compliance with 
      applicable laws, damage to or loss of data, programs or equipment, and 
      unavailability or interruption of operations. </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><STRONG>6. DISCLAIMER OF 
      LIABILITY </STRONG></FONT></P>
      <P><FONT face="Courier New, Courier, mono">EXCEPT AS EXPRESSLY SET FORTH 
      IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY 
      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
      CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER 
      CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY 
      RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
      DAMAGES. </FONT></P>
      <P><FONT face="Courier New, Courier, mono"><STRONG>7. 
      GENERAL</STRONG></FONT></P>
      <P><FONT face="Courier New, Courier, mono">If any provision of this 
      Agreement is invalid or unenforceable under applicable law, it shall not 
      affect the validity or enforceability of the remainder of the terms of 
      this Agreement, and without further action by the parties hereto, such 
      provision shall be reformed to the minimum extent necessary to make such 
      provision valid and enforceable. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">If Recipient institutes patent 
      litigation against a Contributor with respect to a patent applicable to 
      software (including a cross-claim or counterclaim in a lawsuit), then any 
      patent licenses granted by that Contributor to such Recipient under this 
      Agreement shall terminate as of the date such litigation is filed. In 
      addition, If Recipient institutes patent litigation against any entity 
      (including a cross-claim or counterclaim in a lawsuit) alleging that the 
      Program itself (excluding combinations of the Program with other software 
      or hardware) infringes such Recipient's patent(s), then such Recipient's 
      rights granted under Section 2(b) shall terminate as of the date such 
      litigation is filed.</FONT></P>
      <P><FONT face="Courier New, Courier, mono">All Recipient's rights under 
      this Agreement shall terminate if it fails to comply with any of the 
      material terms or conditions of this Agreement and does not cure such 
      failure in a reasonable period of time after becoming aware of such 
      noncompliance. If all Recipient's rights under this Agreement terminate, 
      Recipient agrees to cease use and distribution of the Program as soon as 
      reasonably practicable. However, Recipient's obligations under this 
      Agreement and any licenses granted by Recipient relating to the Program 
      shall continue and survive. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">Everyone is permitted to copy 
      and distribute copies of this Agreement, but in order to avoid 
      inconsistency the Agreement is copyrighted and may only be modified in the 
      following manner. The Agreement Steward reserves the right to publish new 
      versions (including revisions) of this Agreement from time to time. No one 
      other than the Agreement Steward has the right to modify this Agreement. 
      IBM is the initial Agreement Steward. IBM may assign the responsibility to 
      serve as the Agreement Steward to a suitable separate entity. Each new 
      version of the Agreement will be given a distinguishing version number. 
      The Program (including Contributions) may always be distributed subject to 
      the version of the Agreement under which it was received. In addition, 
      after a new version of the Agreement is published, Contributor may elect 
      to distribute the Program (including its Contributions) under the new 
      version. Except as expressly stated in Sections 2(a) and 2(b) above, 
      Recipient receives no rights or licenses to the intellectual property of 
      any Contributor under this Agreement, whether expressly, by implication, 
      estoppel or otherwise. All rights in the Program not expressly granted 
      under this Agreement are reserved. </FONT></P>
      <P><FONT face="Courier New, Courier, mono">This Agreement is governed by 
      the laws of the State of New York and the intellectual property laws of 
      the United States of America. No party to this Agreement will bring a 
      legal action under this Agreement more than one year after the cause of 
      action arose. Each party waives its rights to a jury trial in any 
      resulting litigation.</FONT></P></TT></FONT></TD></TR></TBODY></TABLE>
<P></P></DIV></BODY></HTML>
