<!DOCTYPE html>
<html>
<head>
<title>Sun Industry Standards Source License (SISSL)</title>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">

</head>
<body>


<table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="84%" height="769" valign="top">

<h2>Sun Industry Standards Source License (SISSL)</h2>
<tt>
</tt>
<p><tt><b>1.0 DEFINITIONS</b>
</tt></p>
<p><tt><b>1.1 "Commercial Use"</b> means distribution or otherwise
making the
Original Code available to a third party.
</tt></p>
<p><tt><b>1.2 "Contributor Version"</b> means the combination of the
Original
Code, and the Modifications made by that particular Contributor.
</tt></p>
<p><tt><b>1.3 "Electronic Distribution Mechanism"</b> means a mechanism
generally
accepted in the software development community for the electronic
transfer
of data.
</tt></p>
<p><tt><b>1.4 "Executable"</b> means Original Code in any form other
than Source
Code.
</tt></p>
<p><tt><b>1.5 "Initial Developer"</b> means the individual or entity
identified
as the Initial Developer in the Source Code notice required by Exhibit
A.
</tt></p>
<p><tt><b>1.6 "Larger Work"</b> means a work which combines Original
Code or
portions thereof with code not governed by the terms of this License.
</tt></p>
<p><tt><b>1.7 "License"</b> means this document.
</tt></p>
<p><tt><b>1.8 "Licensable"</b> means having the right to grant, to the
maximum
extent possible, whether at the time of the initial grant or
subsequently
acquired, any and all of the rights conveyed herein.
</tt></p>
<p><tt><b>1.9 "Modifications"</b> means any addition to or deletion
from the
substance or structure of either the Original Code or any previous
Modifications.
A Modification is:
</tt></p>
<ul>
  <tt>A. Any addition to or deletion from the contents of a file
containing
Original Code or previous Modifications.
  </tt>
  <p><tt>B. Any new file that contains any part of the Original Code or
previous Modifications.</tt></p>
  <tt> </tt>
</ul>
<tt><b>1.10 "Original Code"</b> means Source Code of computer software
code
which is described in the Source Code notice required by Exhibit A as
Original
Code.
</tt>
<p><tt><b>1.11 "Patent Claims"</b> means any patent claim(s), now owned
or
hereafter acquired, including without limitation, method, process, and
apparatus claims, in any patent Licensable by grantor.
</tt></p>
<p><tt><b>1.12 "Source Code"</b> means the preferred form of the
Original Code
for making modifications to it, including all modules it contains, plus
any associated interface definition files, or scripts used to control
compilation
and installation of an Executable.
</tt></p>
<p><tt><b>1.13 "Standards"</b> means the standards identified in
Exhibit B.
</tt></p>
<p><tt><b>1.14 "You" (or "Your")</b> means an individual or a legal
entity
exercising rights under, and complying with all of the terms of, this
License
or a future version of this License issued under Section 6.1. For legal
entities, "You'' includes any entity which controls, is controlled by,
or is under common control with You. For purposes of this definition,
"control''
means (a) the power, direct or indirect, to cause the direction or
management
of such entity, whether by contract or otherwise, or (b) ownership of
more
than fifty percent (50%) of the outstanding shares or beneficial
ownership
of such entity.
</tt></p>
<p><tt><b>2.0 SOURCE CODE LICENSE</b>
</tt></p>
<p><tt><b>2.1 The Initial Developer Grant</b>
<br>
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:&nbsp;
</tt></p>
<ul>
  <tt><b>(a)</b> under intellectual property rights (other than patent
or
trademark) Licensable by Initial Developer to use, reproduce, modify,
display,
perform, sublicense and distribute the Original Code (or portions
thereof)
with or without Modifications, and/or as part of a Larger Work; and
  </tt>
  <p><tt><b>(b)</b> under Patents Claims infringed by the making, using
or selling
of Original Code, to make, have made, use, practice, sell, and offer
for
sale, and/or otherwise dispose of the Original Code (or portions
thereof).
  </tt></p>
  <p><tt><b>(c)</b> the licenses granted in this Section 2.1(a) and (b)
are effective
on the date Initial Developer first distributes Original Code under the
terms of this License.
  </tt></p>
  <p><tt><b>(d)</b> Notwithstanding Section 2.1(b) above, no patent
license is granted: 1) for code that You delete from the Original Code;
2) separate from the Original Code; or 3) for infringements caused by:
i) the modification of the Original Code or ii) the combination of the
Original Code with other software or devices, including but not limited
to Modifications.&nbsp;</tt></p>
  <tt> </tt>
</ul>
<tt><b>3.0 DISTRIBUTION OBLIGATIONS</b>
</tt>
<p><tt><b>3.1 Application of License.</b>
<br>
The Source Code version of Original Code may be distributed only under
the terms of this License or a future version of this License released
under Section 6.1, and You must include a copy of this License with
every
copy of the Source Code You distribute. You may not offer or impose any
terms on any Source Code version that alters or restricts the
applicable
version of this License or the recipients' rights hereunder. Your
license
for shipment of the Contributor Version is conditioned upon Your full
compliance
with this Section. The Modifications which You create must comply with
all requirements set out by the Standards body in effect one hundred
twenty
(120) days before You ship the Contributor Version. In the event that
the
Modifications do not meet such requirements, You agree to publish
either
(i) any deviation from the Standards protocol resulting from
implementation
of Your Modifications and a reference implementation of Your
Modifications
or (ii) Your Modifications in Source Code form, and to make any such
deviation
and reference implementation or Modifications available to all third
parties
under the same terms as this license on a royalty free basis within
thirty
(30) days of Your first customer shipment of Your Modifications.
</tt></p>
<p><tt><b>3.2 Required Notices.</b>
<br>
You must duplicate the notice in <b>Exhibit A </b>in each file of the
Source Code. If it is not possible to put such notice in a particular
Source
Code file due to its structure, then You must include such notice in a
location (such as a relevant directory) where a user would be likely to
look for such a notice. If You created one or more Modification(s) You
may add Your name as a Contributor to the notice described in <b>Exhibit
A</b>. You must also duplicate this License in any documentation for
the
Source Code where You describe recipients' rights or ownership rights
relating
to Initial Code. You may choose to offer, and to charge a fee for,
warranty,
support, indemnity or liability obligations to one or more recipients
of
Your version of the Code. However, You may do so only on Your own
behalf,
and not on behalf of the Initial Developer. You must make it absolutely
clear than any such warranty, support, indemnity or liability
obligation
is offered by You alone, and You hereby agree to indemnify the Initial
Developer for any liability incurred by the Initial Developer as a
result
of warranty, support, indemnity or liability terms You offer.
</tt></p>
<p><tt><b>3.3 Distribution of Executable Versions.</b>
<br>
You may distribute Original Code in Executable and Source form only
if the requirements of Sections 3.1 and 3.2 have been met for that
Original
Code, and if You include a notice stating that the Source Code version
of the Original Code is available under the terms of this License. The
notice must be conspicuously included in any notice in an Executable or
Source versions, related documentation or collateral in which You
describe
recipients' rights relating to the Original Code. You may distribute
the
Executable and Source versions of Your version of the Code or ownership
rights under a license of Your choice, which may contain terms
different
from this License, provided that You are in compliance with the terms
of
this License. If You distribute the Executable and Source versions
under
a different license You must make it absolutely clear that any terms
which
differ from this License are offered by You alone, not by the Initial
Developer.
You hereby agree to indemnify the Initial Developer for any liability
incurred
by the Initial Developer as a result of any such terms You offer.
</tt></p>
<p><tt><b>3.4 Larger Works.</b>
<br>
You may create a Larger Work by combining Original Code with other
code not governed by the terms of this License and distribute the
Larger
Work as a single product. In such a case, You must make sure the
requirements
of this License are fulfilled for the Original Code.
</tt></p>
<p><tt><b>4.0 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION</b>
</tt></p>
<p><tt>If it is impossible for You to comply with any of the terms of
this
License with respect to some or all of the Original Code due to
statute,
judicial order, or regulation then You must: (a) comply with the terms
of this License to the maximum extent possible; and (b) describe the
limitations
and the code they affect. Such description must be included in the
LEGAL
file described in Section 3.2 and must be included with all
distributions
of the Source Code. Except to the extent prohibited by statute or
regulation,
such description must be sufficiently detailed for a recipient of
ordinary
skill to be able to understand it.
</tt></p>
<p><tt><b>5.0 APPLICATION OF THIS LICENSE</b>
</tt></p>
<p><tt>This License applies to code to which the Initial Developer has
attached
the notice in Exhibit A and to related Modifications as set out in
Section
3.1.
</tt></p>
<p><tt><b>6.0 VERSIONS OF THE LICENSE</b>
</tt></p>
<p><tt><b>6.1 New Versions.</b>
<br>
Sun may publish revised and/or new versions of the License from time
to time. Each version will be given a distinguishing version number.
</tt></p>
<p><tt><b>6.2 Effect of New Versions.</b>
<br>
Once Original Code has been published under a particular version of
the License, You may always continue to use it under the terms of that
version. You may also choose to use such Original Code under the terms
of any subsequent version of the License published by Sun. No one other
than Sun has the right to modify the terms applicable to Original Code.
</tt></p>
<p><tt><b>7.0 DISCLAIMER OF WARRANTY</b>
</tt></p>
<p><tt>ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
BASIS, WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION,
WARRANTIES THAT THE ORIGINAL CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT
FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
QUALITY
AND PERFORMANCE OF THE ORIGINAL CODE IS WITH YOU. SHOULD ANY ORIGINAL
CODE
PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER) ASSUME
THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS
DISCLAIMER
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
ANY
ORIGINAL CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
</tt></p>
<p><tt><b>8.0 TERMINATION</b>
</tt></p>
<p><tt><b>8.1</b> This License and the rights granted hereunder will
terminate
automatically if You fail to comply with terms herein and fail to cure
such breach within 30 days of becoming aware of the breach. All
sublicenses
to the Original Code which are properly granted shall survive any
termination
of this License. Provisions which, by their nature, must remain in
effect
beyond the termination of this License shall survive.
</tt></p>
<p><tt><b>8.2</b> In the event of termination under Section 8.1 above,
all
end user license agreements (excluding distributors and resellers)
which
have been validly granted by You or any distributor hereunder prior to
termination shall survive termination.
</tt></p>
<p><tt><b>9.0 LIMIT OF LIABILITY</b>
</tt></p>
<p><tt>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER,
ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE, OR ANY
SUPPLIER
OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT,
SPECIAL,
INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING,
WITHOUT
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
FAILURE
OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN
IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH
DAMAGES.
THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
APPLICABLE
LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION
OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
AND LIMITATION MAY NOT APPLY TO YOU.
</tt></p>
<p><tt><b>10.0 U.S. GOVERNMENT END USERS</b>
</tt></p>
<p><tt>U.S. Government: If this Software is being acquired by or on
behalf
of the U.S. Government or by a U.S. Government prime contractor or
subcontractor
(at any tier), then the Government's rights in the Software and
accompanying
documentation shall be only as set forth in this license; this is in
accordance
with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense
(DoD)
acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD
acquisitions).
</tt></p>
<p><tt><b>11.0 MISCELLANEOUS</b>
</tt></p>
<p><tt>This License represents the complete agreement concerning
subject matter
hereof. 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.
This License shall be governed by California law provisions (except to
the extent applicable law, if any, provides otherwise), excluding its
conflict-of-law
provisions. With respect to disputes in which at least one party is a
citizen
of, or an entity chartered or registered to do business in the United
States
of America, any litigation relating to this License shall be subject to
the jurisdiction of the Federal Courts of the Northern District of
California,
with venue lying in Santa Clara County, California, with the losing
party
responsible for costs, including without limitation, court costs and
reasonable
attorneys' fees and expenses. The application of the United Nations
Convention
on Contracts for the International Sale of Goods is expressly excluded.
Any law or regulation which provides that the language of a contract
shall
be construed against the drafter shall not apply to this License.
</tt></p>
<p><tt><b>EXHIBIT A - Sun Standards License</b>
</tt></p>
<pre><tt>"The contents of this file are subject to the Sun Standards<br>License Version 1.1 (the "License");<br>You may not use this file except in compliance with the&nbsp;<br>License. You may obtain a copy of the<br>License at _______________________________.<br><br>Software distributed under the License is distributed on&nbsp;<br>an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either&nbsp;<br>express or implied. See the License for the specific<br>language governing rights and limitations under the License.<br><br>The Original Code is ______________________________________.<br><br>The Initial Developer of the Original Code is:&nbsp;<br><b>Sun Microsystems, Inc.</b>.<br><br>Portions created by: _______________________________________<br><br>are Copyright (C): _______________________________________<br><br>All Rights Reserved.<br><br>Contributor(s): _______________________________________</tt></pre>
<p><tt><br>
<b>EXHIBIT B - Standards</b>
</tt></p>
<p><tt>The Standard is defined as the following:
</tt></p>
<p><tt>OpenOffice.org XML File Format Specification, located at <u><a
 href="http://xml.openoffice.org">http://xml.openoffice.org</a></u>
</tt></p>
<p><tt>OpenOffice.org Application Programming Interface Specification,
located
at
<br>
<u><a href="http://api.openoffice.org">http://api.openoffice.org</a></u></tt></p>
﻿
<p>&nbsp;</p>
<p>&nbsp;</p>

</td>

<td width="1%" valign="top">&nbsp;</td>

<td width="15%" valign="top">

<table width="100%" border="1" bordercolor="#000000" cellspacing="0" cellpadding="5">

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>
Vi.OpenOffice.org
</b></font></td></tr>

<tr><td><font size="2">
<a href="index.html">Giới thiệu</a><br>
<a href="index_navigation.html">Cách di chuyển</a>
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Liên quan đến...
</b></font></td></tr>

<tr><td><font size="2">
  <a href="about-main.html">Lịch sử</a><br>
<a href="about-product.html">Sản phẩm</a><br>
 <a href="about-licences.html">Bản quyền</a><br>
 <a href="about-downloads.html">Tải xuống</a><br>
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Dự án
</b></font></td></tr>

<tr><td><font size="2">
 <a href="background.html">Tiến trình phát triển</a><br> 
 <a href="about-spellcheck.html">Kiểm tra chính tả&nbsp;</a><br> 
 <a href="faq.html">FAQ</a> 
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Trợ giúp&nbsp;
</b></font></td></tr>

<tr><td><font size="2">
 <a href="about-mailinglist.html">Hộp thư chung</a><br> 
 <a href="about-documentation.html">Tài liệu</a> 
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Đóng góp
</b></font></td></tr>

<tr><td><font size="2">
 <a href="about-helping.html">Đóng góp</a><br> 
 <a href="about-issuezilla.html">Thông báo lỗi</a><br>
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Địa chỉ liên hệ
</b></font></td></tr>

<tr><td><font size="2">
 <a href="about-mailinglist.html">Hộp thư chung</a><br>
 <a href="adresses.html">Địa chỉ</a> 
</font></td></tr>

<tr><td bgcolor="#00315A"><font color="white" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>
Các vấn đề khác
</b></font></td></tr>

<tr><td><font size="2">
 <a href="credits.html">Lời cảm ơn</a><br>
 <a href="about-legal.html">Giấy phép</a><br>
</font></td></tr>

</table>
</td>
</tr>
</table>
</body>
</html>



