SUN COMMUNITY SOURCE LICENSE Version 2.3 (Rev. Date Sept. 29, 2004)
        
RECITALS
        
Original Contributor has developed Specifications and Source Code implementations of certain Technology; and
        
Original Contributor desires to license the Technology to a large community to facilitate research, innovation and product development while maintaining compatibility of such products with the Technology as delivered by Original Contributor; and
        
Original Contributor desires to license certain Sun Trademarks for the purpose of branding products that are compatible with the relevant Technology delivered by Original Contributor; and
               
You desire to license the Technology and possibly certain Sun Trademarks from Original Contributor on the terms and conditions specified in this License.
                 
In consideration for the mutual covenants contained herein, You and Original Contributor agree as follows:
        
AGREEMENT
1.  Introduction.  The Sun Community Source License and effective attachments ("License") may include five distinct
licenses:  Research Use, TCK, Internal Deployment Use, Commercial Use and Trademark License.  The Research Use license is effective when You click and accept this License.
The TCK and Internal Deployment Use licenses are effective when You click and accept this License, unless otherwise specified in the TCK and Internal Deployment Use attachments.  The Commercial Use and Trademark licenses must be signed by You and Original Contributor in order to become effective.  Once effective, these licenses and the associated requirements and responsibilities are cumulative.
Capitalized terms used in this License are defined in the Glossary.

2.  License Grants.

2.1 Original Contributor Grant.  Subject to Your compliance with Sections 3, 8.10 and Attachment A of this License, Original Contributor grants to You a worldwide, royalty-free, non-exclusive license, to the extent of Original Contributor's Intellectual Property Rights covering the Original Code, Upgraded Code and Specifications, to do the following:

a) Research Use License:

(i) use, reproduce and modify the Original Code, Upgraded Code and Specifications to create Modifications and Reformatted Specifications for Research Use by You,

(ii) publish and display Original Code, Upgraded Code and Specifications with, or as part of Modifications, as permitted under Section 3.1 b) below,

(iii) reproduce and distribute copies of Original Code and Upgraded Code to Licensees and students for Research Use by You,

(iv) compile, reproduce and distribute Original Code and Upgraded Code in Executable form, and Reformatted Specifications to anyone for Research Use by You.

b) Other than the licenses expressly granted in this License, Original Contributor retains all right, title, and interest in Original Code and Upgraded Code and Specifications.

2.2 Your Grants.

a) To Other Licensees.  You hereby grant to each Licensee a license to Your Error Corrections and Shared Modifications, of the same scope and extent as Original Contributor's licenses under Section 2.1 a) above relative to Research Use, Attachment C relative to Internal Deployment Use, and Attachment D relative to Commercial Use.

b) To Original Contributor.  You hereby grant to Original Contributor a worldwide, royalty-free, non-exclusive, perpetual and irrevocable license, to the extent of Your Intellectual Property Rights covering Your Error Corrections, Shared Modifications and Reformatted Specifications, to use, reproduce, modify, display and distribute Your Error Corrections, Shared Modifications and Reformatted Specifications, in any form, including the right to sublicense such rights through multiple tiers of distribution.

c) Other than the licenses expressly granted in Sections 2.2
a) and b) above, and the restriction set forth in Section
3.1 d)(iv) below, You retain all right, title, and interest in Your Error Corrections, Shared Modifications and Reformatted Specifications.

2.3 Contributor Modifications.  You may use, reproduce, modify, display and distribute Contributor Error Corrections, Shared Modifications and Reformatted Specifications, obtained by You under this License, to the same scope and extent as with Original Code, Upgraded Code and Specifications.

2.4 Subcontracting.  You may deliver the Source Code of Covered Code to other Licensees having at least a Research Use license, for the sole purpose of furnishing development services to You in connection with Your rights granted in this License.  All such Licensees must execute appropriate documents with respect to such work consistent with the terms of this License, and acknowledging their work-made-for-hire status or assigning exclusive right to the work product and associated Intellectual Property Rights to You.

3.Requirements and Responsibilities.

3.1 Research Use License.  As a condition of exercising the rights granted under Section 2.1 a) above, You agree to comply with the following:

a) Your Contribution to the Community.  All Error Corrections and Shared Modifications which You create or contribute to are automatically subject to the licenses granted under Section 2.2 above.  You are encouraged to license all of Your other Modifications under Section 2.2 as Shared Modifications, but are not required to do so.  You agree to notify Original Contributor of any errors in the Specification.

b) Source Code Availability.  You agree to provide all Your Error Corrections to Original Contributor as soon as reasonably practicable and, in any event, prior to Internal Deployment Use or Commercial Use, if applicable.  Original Contributor may, at its discretion, post Source Code for Your Error Corrections and Shared Modifications on the Community Webserver.  You may also post Error Corrections and Shared Modifications on a web-server of Your choice; provided, that You must take reasonable precautions to ensure that only Licensees have access to such Error Corrections and Shared Modifications.  Such precautions shall include, without limitation, a password protection scheme limited to Licensees and a click-on, download certification of Licensee status required of those attempting to download from the server.  An example of an acceptable certification is attached as Attachment A-2.

c) Notices.  All Error Corrections and Shared Modifications You create or contribute to must include a file documenting the additions and changes You made and the date of such additions and changes.  You must also include the notice set forth in Attachment A-1 in the file header.  If it is not possible to put the notice in a particular Source Code file due to its structure, then You must include the notice in a location (such as a relevant directory file), where a recipient would be most likely to look for such a notice.

d) Redistribution.

(i) Source.  Covered Code may be distributed in Source Code form only to another Licensee (except for students as provided below).  You may not offer or impose any terms on any Covered Code that alter the rights, requirements, or responsibilities of such Licensee.  You may distribute Covered Code to students for use in connection with their course work and research projects undertaken at accredited educational institutions.  Such students need not be Licensees, but must be given a copy of the notice set forth in Attachment A-3 and such notice must also be included in a file header or prominent location in the Source Code made available to such students.

(ii) Executable.  You may distribute Executable version(s) of Covered Code to Licensees and other third parties only for the purpose of evaluation and comment in connection with Research Use by You and under a license of Your choice, but which limits use of such Executable version(s) of Covered Code only to that purpose.

(iii) Modified Class,Interface and Package Naming.  In connection with Research Use by You only, You may use Original Contributor's class, interface and package names only to accurately reference or invoke the Source Code files You modify.  Original Contributor grants to You a limited license to the extent necessary for such purposes.

(iv) You expressly agree that any distribution, in whole or in part, of Modifications developed by You shall only be done pursuant to the term and conditions of this License.

e) Extensions.

(i) Covered Code.  You may not include any Source Code of Community Code in any Extensions;

(ii) Publication.  No later than the date on which You first distribute such Extension for Commercial Use, You must publish to the industry, on a non-confidential basis and free of all copyright restrictions with respect to reproduction and use, an accurate and current specification for any Extension.  In addition, You must make available an appropriate test suite, pursuant to the same rights as the specification, sufficiently detailed to allow any third party reasonably skilled in the technology to produce implementations of the Extension compatible with the specification.  Such test suites must be made available as soon as reasonably practicable but, in no event, later than ninety (90) days after Your first Commercial Use of the Extension.  You must use reasonable efforts to promptly clarify and correct the specification and the test suite upon written request by Original Contributor.

(iii) Open.  You agree to refrain from enforcing any Intellectual Property Rights You may have covering any
interface(s) of Your Extension, which would prevent the implementation of such interface(s) by Original Contributor or any Licensee.  This obligation does not prevent You from enforcing any Intellectual Property Right You have that would otherwise be infringed by an implementation of Your Extension.

(iv) Class, Interface and Package Naming.  You may not add any packages, or any public or protected classes or interfaces with names that originate or might appear to originate from Original Contributor including, without limitation, package or class names which begin with "sun", "java", "javax", "jini", "net.jini", "com.sun" or their equivalents in any subsequent class, interface and/ or package naming convention adopted by Original Contributor.
It is specifically suggested that You name any new packages using the "Unique Package Naming Convention" as described in "The Java Language Specification" by James Gosling, Bill Joy, and Guy Steele, ISBN 0-201-63451-1, August 1996.
Section 7.7 "Unique Package Names", on page 125 of this specification which states, in part:

"You form a unique package name by first having (or belonging to an organization that has) an Internet domain name, such as "sun.com".  You then reverse the name, component by component, to obtain, in this example, "Com.sun", and use this as a prefix for Your package names, using a convention developed within Your organization to further administer package names."

3.2 Additional Requirements and Responsibilities.  Any additional requirements and responsibilities relating to the Technology are listed in Attachment F (Additional Requirements and Responsibilities), if applicable, and are hereby incorporated into this Section 3.

4.  Versions of the License.

4.1 License Versions.  Original Contributor may publish revised versions of the License from time to time.  Each version will be given a distinguishing version number.

4.2 Effect.  Once a particular version of Covered Code has been provided under a version of the License, You may always continue to use such Covered Code under the terms of that version of the License.  You may also choose to use such Covered Code under the terms of any subsequent version of the License.  No one other than Original Contributor has the right to promulgate License versions.

5.  Disclaimer of Warranty.

5.1 COVERED CODE IS PROVIDED UNDER THIS LICENSE "AS IS,"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.  YOU AGREE TO BEAR THE ENTIRE RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF COVERED CODE UNDER THIS LICENSE.  THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.  NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.

5.2 You acknowledge that Original Code, Upgraded Code and Specifications are not designed or intended for use in (i) on-line control of aircraft, air traffic, aircraft navigation or aircraft communications; or (ii) in the design, construction, operation or maintenance of any nuclear facility.  Original Contributor disclaims any express or implied warranty of fitness for such uses.

6.  Termination.

6.1 By You.  You may terminate this Research Use license at anytime by providing written notice to Original Contributor.

6.2 By Original Contributor.  This License and the rights granted hereunder will terminate:

(i) automatically if You fail to comply with the terms of this License and fail to cure such breach within 30 days of receipt of written notice of the breach;

(ii) immediately in the event of circumstances specified in Sections 7.1 and 8.4; or

(iii) at Original Contributor's discretion upon any action initiated in the first instance by You alleging that use or distribution by Original Contributor or any Licensee, of Original Code, Upgraded Code, Error Corrections or Shared Modifications contributed by You, or Specifications, infringe a patent owned or controlled by You.

6.3 Effect of Termination.  Upon termination, You agree to discontinue use and return or destroy all copies of Covered Code in your possession.  All sublicenses to the Covered Code which you have properly granted shall survive any termination of this License.  Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive including, without limitation, Sections 2.2, 3, 5, 7 and 8.

6.4 Each party waives and releases the other from any claim to compensation or indemnity for permitted or lawful termination of the business relationship established by this License.

7.  Liability.

7.1 Infringement.  Should any of the Original Code, Upgraded Code, TCK or Specifications ("Materials") become the subject of a claim of infringement, Original Contributor may, at its sole option, (i) attempt to procure the rights necessary for You to continue using the Materials, (ii) modify the Materials so that they are no longer infringing, or (iii) terminate Your right to use the Materials, immediately upon written notice, and refund to You the amount, if any, having then actually been paid by You to Original Contributor for the Original Code, Upgraded Code and TCK, depreciated on a straight line, five year basis.

7.2 LIMITATION OF LIABILITY.  TO THE FULL EXTENT ALLOWED BY APPLICABLE LAW, ORIGINAL CONTRIBUTOR's LIABILITY TO YOU FOR CLAIMS RELATING TO THIS LICENSE, WHETHER FOR BREACH OR IN TORT, SHALL BE LIMITED TO ONE HUNDRED PERCENT (100%) OF THE AMOUNT HAVING THEN ACTUALLY BEEN PAID BY YOU TO ORIGINAL CONTRIBUTOR FOR ALL COPIES LICENSED HEREUNDER OF THE PARTICULAR ITEMS GIVING RISE TO SUCH CLAIM, IF ANY.  IN NO EVENT WILL YOU (RELATIVE TO YOUR SHARED MODIFICATIONS OR ERROR CORRECTIONS) OR SUN BE LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING OUT OF THIS LICENSE (INCLUDING, WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR OTHER ECONOMIC ADVANTAGE), HOWEVER IT ARISES AND ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION FOR CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE) OR OTHERWISE, WHETHER OR NOT YOU OR ORIGINAL CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY.

8.  Miscellaneous.

8.1 Trademark.  You agree to comply with the then current Sun Trademark & Logo Usage Requirements accessible through the SCSL Webpage.  Except as expressly provided in the License, You are granted no right, title or license to, or interest in, any Sun Trademarks.  You agree not to (i) challenge Original Contributor's ownership or use of Sun Trademarks; (ii) attempt to register any Sun Trademarks, or any mark or logo substantially similar thereto; or (iii) incorporate any Sun Trademarks into your own trademarks, product names, service marks, company names, or domain names.

8.2 Integration.  This License represents the complete agreement concerning the subject matter hereof.

8.3 Assignment.  Original Contributor may assign this License, and its rights and obligations hereunder, in its sole discretion.  You may assign the Research Use portions of this License to a third party upon prior written notice to Original Contributor (which may be provided via the Community Web-Server).  You may not assign the Commercial Use license or TCK license, including by way of merger (regardless of whether You are the surviving entity) or acquisition, without Original Contributor's prior written consent.

8.4 Severability.  If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
Notwithstanding the foregoing, if You are prohibited by law from fully and specifically complying with Sections 2.2 or 3, this License will immediately terminate and You must immediately discontinue any use of Covered Code.

8.5 Governing Law.  This License shall be governed by the laws of the United States and the State of California, as applied to contracts entered into and to be performed in California between California residents.  The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.

8.6 Dispute Resolution.

a) Any dispute arising out of or relating to this License shall be finally settled by arbitration as set out herein, except that either party may bring any action, in a court of competent jurisdiction (which jurisdiction shall be exclusive), with respect to any dispute relating to such party's Intellectual Property Rights or with respect to Your compliance with the TCK license.  Arbitration shall be
administered:  (i) by the American Arbitration Association (AAA), (ii) in accordance with the rules of the United Nations Commission on International Trade Law (UNCITRAL) (the "Rules") in effect at the time of arbitration as modified herein; and (iii) the arbitrator will apply the substantive laws of California and United States.  Judgment upon the award rendered by the arbitrator may be entered in any court having jurisdiction to enforce such award.

b) All arbitration proceedings shall be conducted in English  by a single arbitrator selected in accordance with the  Rules, who must be fluent in English and be either a  retired judge or practicing attorney having at least ten
 (10) years litigation experience and be reasonably familiar  with the technology matters relative to the dispute.
 Unless otherwise agreed, arbitration venue shall be in  London, Tokyo, or San Francisco, whichever is closest to  defendant's principal business office.  The arbitrator may  award monetary damages only and nothing shall preclude  either party from seeking provisional or emergency relief  from a court of competent jurisdiction.  The arbitrator  shall have no authority to award damages in excess of those  permitted in this License and any such award in excess is  void.  All awards will be payable in U.S.  dollars and may  include, for the prevailing party (i) pre-judgment award  interest, (ii) reasonable attorneys' fees incurred in  connection with the arbitration, and (iii) reasonable costs  and expenses incurred in enforcing the award.  The  arbitrator will order each party to produce identified  documents and respond to no more than twenty-five single  question interrogatories.

8.7 Construction.  Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.

8.8 U.S.  Government End Users.  The Covered Code is a "commercial item," as that term is defined in 48 C.F.R.
2.101 (Oct.  1995), consisting of "commercial computer software" and "commercial computer software documentation,"
as such terms are used in 48 C.F.R.  12.212 (Sept.  1995).
Consistent with 48 C.F.R.  12.212 and 48 C.F.R.  227.7202-1 through 227.7202-4 (June 1995), all U.S.  Government End Users acquire Covered Code with only those rights set forth herein.  You agree to pass this notice to Your licensees.

8.9 Press Announcements.  All press announcements relative to the execution of this License must be reviewed and approved by Original Contributor and You prior to release.

8.10 International Use.

a) Export/Import laws.  Covered Code is subject to U.S.
export control laws and may be subject to export or import regulations in other countries.  Each party agrees to comply strictly with all such laws and regulations and acknowledges their responsibility to obtain such licenses to export, re-export, or import as may be required.  You agree to pass these obligations to Your licensees.

b) Intellectual Property Protection.  Due to limited intellectual property protection and enforcement in certain countries, You agree not to redistribute the Original Code, Upgraded Code, TCK and Specifications to any country other than the list of restricted countries on the SCSL Webpage.

8.11 Language.  This License is in the English language only, which language shall be controlling in all respects, and all versions of this License in any other language shall be for accommodation only and shall not be binding on the parties to this License.  All communications and notices made or given pursuant to this License, and all documentation and support to be provided, unless otherwise noted, shall be in the English language.

PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY.  BY CLICKING ON THE "ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND CONDITIONS OF THIS LICENSE WITH SUN MICROSYSTEMS, INC.  IF YOU ARE AGREEING TO THIS LICENSE ON BEHALF OF A COMPANY, YOU REPRESENT THAT YOU ARE AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE.  WHETHER YOU ARE ACTING ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, YOU MUST BE OF MAJORITY AGE AND BE OTHERWISE COMPETENT TO ENTER INTO CONTRACTS.  IF YOU DO NOT MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY OF THE TERMS AND CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON TO EXIT.

