<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>Licensing FAQ</title>
</head>
<body>
<h2>FAQs<i>
</i></h2>
<i><p> </p>
</i>
<table cellpadding=0 cellspacing=0 border=0>
  <tr>
    <td bgcolor="#cc6600"><img src="/branding/images/spacer.gif" height=1 width=5></td>
    <td><img src="/branding/images/spacer.gif" height=1 width=15></td>
    <td><a href="faq-questions.html">Overview</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-source.html">Source &amp; Technology</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-issuezilla.html">Issue Tracker</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-licensing.html">Licensing</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-community.html">Community</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="mirrors_faq.html">Mirrors</a>&nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-asian.html">Asian FAQs</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> &nbsp;&nbsp; <a href="faq-other.html">Other</a></td>
  </tr>
</table>

<table border="1" width="100%" cellspacing="0" cellpadding="2" bordercolor="#99ccff" bgcolor="#FFFFFF">
  <td bgcolor="#f0f0f0">
    These faq have been compiled over the span of OpenOffice's lifetime.
    Most of the information is now out of date.
    See <a href="https://wiki.openoffice.org/wiki/Documentation/FAQ">the OpenOffice FAQ page</a> on our official wiki
    for up-to-date information.
    If you find instances that need updating, let us know by sending a note to <a href="mailto:dev@openoffice.apache.org">dev@openoffice.apache.org</a>.
  </td>
</table>

<a name="top"></a><a name="licensing"></a>
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;Licensing&nbsp;<img src="/branding/images/end_blue_bar.gif"> </h3>
<h4>General Questions </h4>
<ol>
  <li> <a href="#1">Which licenses does the OpenOffice.org project use?</a>
  <li><a href="#whylgplv3">Why is OpenOffice.org adopting the LGPL v. 3 license?</a>
  <li><a href="#2">Which license should I use?</a>
  <li> <a href="#3">Where can I get more information on the OpenOffice.org licenses?</a>
  <li><a href="#4">OpenOffice.org used to be dual licensed. What happened? </a>
  <li> <a href="#5">If I contribute code to OpenOffice.org what am I going to be asked to do as far as licenses are concerned?</a>
  <li> <a href="#6">Why is the LGPL license being used?</a>
  <li> <a href="#7">May I take portions of the OpenOffice.org code and use it to extend and improve another application?</a>
  <li><a href="#8">Are OpenOffice.org binaries legal for commercial use?</a> </li>
  <li><a href="#9">Does the OpenOffice.org open source give me the right to modify and distribute any version of StarOffice?</a> </li>
  <li><a href="#10">Can Sun ever take away the code?</a> </li>
  <li><a href="#11">What is the essential difference between the GPL and the LGPL?</a></li>
</ol>
<h4><img src="/branding/images/start_blue_bar.gif">&nbsp;Contributing Works <img src="/branding/images/end_blue_bar.gif"> </h4>
<h4>The Oracle Contributor Agreement&nbsp; </h4>
<ol>
  <li><a href="#scawhy">Why does Oracle require copyright assignment for OpenOffice.org?</a></li>
  <li><a href="#sca1">How does the Oracle Contributor Agreement differ from prior ones?</a></li>
  <li><a href="#sca2">Do I have to fill out a OCA? </a></li>
  <li><a href="#sca4">I signed the JCA or SCA; do I need now to submit the OCA?</a></li>
  <li><a href="#sca3">What do I do if I already signed the old form, but I like this one better and want to change? </a></li>
  <li><a href="#sca4">How do I file a completed OCA?</a></li>
  <li><a href="#sca5">I already have a form on file, but I&#8217;ve changed my mind. Can I cancel?</a> </li>
  <li><a href="#sca6">I tried to make a contribution to OpenOffice.org and assigned copyright, but my contribution wasn&#8217;t accepted. Who &#8220;owns&#8221; my code now?</a> </li>
  <li><a href="#sca7">I have a copyright assignment or OCA on file and I&#8217;ve made a code contribution to OpenOffice.org. Can I get listed on the copyright notice?</a> </li>
  <li><a href="#sca8">I&#8217;m not a Oracle employee but I&#8217;ve contributed content to the OpenOffice.org website. Why does the website copyright notice at the bottom of each web page only list Oracle?</a></li>
  <li><a href="#sca9">The OCA appears to address a grant of moral rights, but my country does not allow the grant of moral rights in any way.</a></li>
  <li> <a href="#sca10">I have GPL software, or other contributions which I would like to contribute to OpenOffice.org, but I cannot put them under the OCA or the PDL as I do not control the copyright of these items. What should I do?</a></li>
<li><a href="#sca11">How are extensions affected by the new agreement and license?</a></li>
<li><a href="#sca12">What is the  impact of the contributor agreement to contributors?</a></li>
</ol>
<h4>The Public Documentation License (PDL)</h4>
<ol>
  <li><a href="#pdl1">What is the PDL? </a></li>
  <li><a href="#pdl2">How do I use the PDL? </a></li>
  <li><a href="#pdl3">Do I have to attach a physical copy of the PDL to a document I wish covered by it?</a></li>
  <li><a href="#pdl4">When would I use the PDL instead of the OCA?</a></li>
</ol>
<h4>The Terms of Use</h4>
<ol>
  <li><a href="#tofu1">Why does the OpenOffice.org website have a Terms of Use license?</a></li>
  <li><a href="#tofu2">Are all my contributions covered by the Terms of Use? </a></li>
</ol>
<hr>
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; Licensing&nbsp;<img src="/branding/images/end_blue_bar.gif"> </h3>
<h4>General Questions: Answers<a name="generalquestionsa"></a> </h4>
<ol>
  <li value="1"><strong>Which licenses does the OpenOffice.org project use?</strong> <a name="1"></a>
    <p>Effective OpenOffice.org 3.0 Beta, OpenOffice.org will use the <a href="http://www.opensource.org/licenses/lgpl-3.0.html">GNU Lesser General Public License v.3</a> (LGPL). Prior versions use v. 2.1. For the 1.x codeline, OpenOffice.org used as well the Sun Industry Standard Source License (SISSL). OpenOffice.org also uses the <a href="../licenses/PDL.html">Public Documentation License</a> (PDL) for modifiable documentation that will not be included in any final product but will be of service to users, and the <a href="http://creativecommons.org/licenses/by-nd/2.5/">Creative Commons NoDerivs 2.5</a> license for non-modfiable documents, such as PDFs. Please see the <a href="#pdla">section below</a> on the PDL for more information.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><strong>Why is OpenOffice.org adopting the LGPL v.3?</strong> <a name="whylgplv3"></a>
    <p> The switch to LGPL v3 was discussed by the OpenOffice.org project leads and was identified as a good step by the majority of the project leads. By switching to the LGPL v3, OpenOffice.org and Sun show a strong commitment to the LGPL and GPL version and open source in general. Version 3 has the advantage of being clearer in different aspects and offering better patent protection.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>

<ol>
  <li value="3"><strong>Which license should I use?</strong> <a name="3"></a>
    <p> That depends on what you want to do. If you wish for your code submissions to be included in the product, you must sign the Oracle Contributor Agreement (OCA) (see below); the license in effect is the LGPL for code. If you wish for your work to be used outside of any product (say, as website FAQ), then you may use the PDL. The usage of the source license differs from that of the PDL. To apply a source license, you must fill out and sign a Oracle Contributor Agreement (OCA). You only need to do this once. To apply the PDL, on the other hand, you must attach a copy of the license to each modifiable document covered by that license. Please see the <a href="#pdla">section below</a> on the use of the PDL. </p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><strong>Where can I get more information on the OpenOffice.org licenses?</strong> <a name="4"></a>
    <p> Visit <a href="../license.html">our license page</a> for additional information on the LGPL and PDL. We also have a <a href="#pdla">section below</a> that discusses the PDL in detail. For more information on the LGPL and GPL, including information about the v3 that OpenOffice.org will use effective the Beta of OpenOffice.org 3.0, please also visit the Free Software Foundation's FAQs on the license: <a href="http://www.gnu.org/licenses/gpl-faq.html" target="_blank">http://www.gnu.org/licenses/gpl-faq.html</a>.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="5"><strong>OpenOffice.org used to be dual licensed. What happened?</strong> <a name="5"></a>
    <p> OpenOffice.org was launched under the LGPL v. 2.1 and Sun Industry Standard Source License (SISSL), an Open Source Initiative (OSI)-approved license. Over the summer of 2005, the OSI decided to limit license proliferation and simplify the selection of licenses. In agreement with this objective, Sun retired the SISSL and encouraged the projects using it to do the same. OpenOffice.org will retire the SISSL. OpenOffice.org 2.x source code from this point forward (from the release after 2.0 Beta 2) will be licensed only under the LGPL. (Source for the 1.x codeline will remain dual-licensed.) This change is not retroactive and code licensed prior to the announcement is still licensed under the LGPL and SISSL. Users are not affected. For more information on the simplification, see our <a href="license-change.html">FAQ</a> on the matter. Effective OpenOffice.org 3.0 Beta, OpenOffice.org will use the <a href="http://www.opensource.org/licenses/lgpl-3.0.html">LGPL v3</a>. </p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="6"><strong>If I contribute code to OpenOffice.org, what am I going to be asked to do as far as licenses are concerned?</strong> <a name="6"></a>
    <p> All contributions to the source code will require that the code is automatically available under the LGPL. Oracle asks that developers fill out the Oracle Contributor Agreement (OCA) so that the copyright is unified. The OCA ensures that Oracle can defend license violations if necessary. </p>
    <p> If you are interested in only committing modifiable documentation which isn't intended for inclusion or integration in the OpenOffice.org product, the Public Documentation License may be relevant. Please see the <a href="#pdl">section below</a> on the license.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="7"><strong>Why is the LGPL license being used?</strong> <a name="7"></a>
    <p> As a member of the GPL license family, the GNU LGPL or "Lesser General Public License" will be used for the OpenOffice.org source code. The LGPL has all of the restrictions of the GPL except that you may use the code at compile time without the derivative work becoming a GPL work. This allows the use of the code in proprietary works. The LGPL license is completely compatible with the GPL license. </p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="8"><strong>May I take portions of the OpenOffice.org code and use it to extend and improve another application?</strong> <a name="8"></a>
    <p> Yes. You may freely modify, extend, and improve the OpenOffice.org source code. Modifications to the source must be published. </p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="9"><strong>Are OpenOffice.org binaries legal for commercial use?</strong> <a name="9"></a>
    <p> Yes, you may use OpenOffice.org binaries (the usable application) for commercial use. You may freely distribute it to any user. Please go to our <a href="/download/index.html">download</a> page to find the latest releases. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="10"><strong>Does the OpenOffice.org open source license give me the right to modify and distribute any version of StarOffice?</strong> <a name="10"></a>
    <p> No. The OpenOffice.org source license does not allow anyone to modify, repackage, or redistribute any version of StarOffice, or any other commercial version of the OpenOffice.org source code without an assignment from the vendor. For StarOffice the vendor is Sun Microsystems. Additionally, the source code in the OpenOffice.org project is the development project for future releases of StarOffice, starting with StarOffice 6.0. StarOffice 5.2 code is not part of the OpenOffice.org project. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="11"><strong>Can Sun ever take away the code?</strong> <a name="11"></a>
    <p>The simple answer to this is NO. Once code is released under the LGPL, it can never be taken away. Sun has no plans to return to a closed development model. Sun continues to contribute modifications under the LGPL. Thus, Sun can never take away the code and the community's contributions to it. This code belongs to the community as guaranteed by the LGPL.
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="12"><strong>What is the essential difference between the GPL and the LGPL?<a name="12"></a></strong>
    <p>When code licensed under the GPL is combined or linked with any other code, that code must also then be licensed under the GPL. In effect, this license demands that any code combined with GPL'd code falls under the GPL itself.</p>
    <p> Code licensed under the LGPL can be dynamically or statically linked to any other code, regardless of its license, as long as users are allowed to run debuggers on the combined program. In effect, this license recognizes kind of a boundary between the LGPL'd code and the code that is linked to it.
</ol>
<p> <a href="#top">Back to top</a>
<hr align=left size="1" NOSHADE>
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp;Contributing Works<a name="usinglicenses" id="usinglicenses"></a><img src="/branding/images/end_blue_bar.gif"> </h3>
<h4>The Oracle Contributor Agreement: Answers<a name="scaa" id="scaa"></a></h4>
<ol>
  <li><strong>Why does Oracle require copyright assignment for OpenOffice.org?<a name="sca1"></a> </strong>
    <p>Many open source projects require a copyright assignment so that the code base can be legally protected as a whole by one entity without having to worry about the copyrights for different pieces. Other prominent examples of projects requiring copyright assignment are the Mono project and the Evolution project, which both require assigning the copyright to Novell. The Red Hat Directory Server project requires assigning the copyright to Red Hat. The Oracle Contributor Agreement is very liberal, as it requires sharing the copyright instead of fully transferring it and also guarantees that published contributions will remain under an open source license forever.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
<li value="2"><strong>How does the Oracle Contributor Agreement differ from prior ones?<a name="sca2"></a> </strong>
    <p>The Oracle Contributor Agreement is identical to the Sun Contributor agreement. The Sun Microsystems Inc. Contributor Agreement for OpenOffice.org  introduced an addendum that excludes non-core contributions, like extensions and documentation, from the joint copyright assignment, provided that these components are not intended to be included in the OpenOffice.org product that can be downloaded from <a href="//">OpenOffice.org</a>.
The new agreement also protects against patent misuse and abuse and thus works with the LGPL v3 to ensure a more stable open source community. </p>
   <p>The OCA/SCA further provides for stronger patent protection and includes an exception for extensions and documentation not present in prior agreements. </p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="3"><strong>Do I have to fill out a OCA?</strong><a name="sca3"></a>
    <p> Yes, if you intend to contribute source code or other materials which are intended to be compiled or otherwise integrated with the OpenOffice.org product, regardless of the size of the contribution (e.g., including contributions of 10 lines or less). However we encourage <em>all</em> contributors to the OpenOffice.org website domain, including the wiki, to fill out the OCA, as it streamlines the process for all. 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><strong>I signed the JCA or SCA; do I need now to submit the OCA?</strong><a name="sca4"></a>
    <p> No: You do not have sign and submit the OCA if you have already submitted the SCA, JCA or earlier Copyright Assignment (CA).
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="5"><strong>What do I do if I already signed the old form, but I like this one better and want to change?</strong><a name="sca5"></a>
    <p> Signing the OCA supersedes the JCA and early Copyright Assignment form (CA).</li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="6"><strong>How do I file a completed OCA?<a name="sca6" id="sca6"></a></strong>
    <p> The process will be the same as for the old SCA, JCA. Please consult our <a href="/contributing/index.html">Contributing page</a>.
 We must have received the signed and scanned form before we will assign an SSH key and update the <a href="//copyright/copyrightapproved.html">list</a> of accepted Copyright Assignments.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="7">
    <p><strong>I already have a form on file, but I&#8217;ve changed my mind. Can I cancel?<a name="sca7"></a> </strong></p>
    <p>There is no process to cancel an assignment once made for previously contributed technology. This is to protect the code base so everyone who uses it can depend on its continued functionality. However, you are never obligated to make further contributions. 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="8"><strong>I tried to make a contribution to OpenOffice.org and assigned copyright with the old Copyright Assignment form, but my contribution wasn&#8217;t accepted. Who &#8220;owns&#8221; my code now?<a name="sca8"></a> </strong>
    <p> For all unaccepted contributions, ownership simply reverts to the contributor. For more recent contributions where the JCA or the current OCA have been submitted, you, as the author, hold copyright jointly with Oracle over the contribution. 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="9"><strong>I have a copyright assignment or OCA on file and I&#8217;ve made a code contribution to OpenOffice.org. Can I get listed on the copyright notice?<a name="sca9"></a> </strong>
    <p>It is impractical to include all contributors&#8217; names in the copyright notice and its not legally necessary. Instead, we credit all contributors to the OpenOffice.org product on the <a href="../welcome/credits.html">Credits</a> page. If you are not listed and should be you can of course request that your Project Lead add your name.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="10"><strong>I&#8217;m not a Oracle employee but I&#8217;ve contributed content to the OpenOffice.org website. Why does the website copyright notice at the bottom of each web page only list Oracle?<a name="sca10"></a> </strong>
    <p> It is impractical to include all contributors&#8217; names in the copyright notice and its not legally necessary. Instead, each project is responsible for honoring all contributors to that project's website; a list of contributors to the general OpenOffice.org website is maintained by the <a href="http://website.openoffice.org/">Website project</a>. If you are not listed and should be you can request that your Project Lead add your name. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="11"><strong>The OCA appears to address a grant of moral rights, but my country does not allow the grant of moral rights in any way.<a name="sca11" id="sca11"></a></strong>
    <p> Yes, the OCA accommodates for local differences in the treatment of moral rights. Depending on local law, the part of the OCA related to moral rights may not be applicable in some European countries. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="12"><strong>I have GPL software, or other contributions which I would like to contribute to OpenOffice.org, but I cannot put them under the OCA or the PDL as I do not control the copyright of these items. What should I do?<a name="sca12" id="sca12"></a></strong>
    <p> If you are certain that you have been granted the right to post the contribution (either because you wrote it or because it is licensed in a way that allows you to redistribute), there are a number of community websites that focus on OpenOffice.org related materials which may be willing to post such materials. We used to list them and are interested in continuing to do so, but the number has increased rapidly. A Google search is probably more efficient. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="13"><strong>How are extensions affected by the new agreement and license?<a name="sca13" id="sca13"></a></strong>
    <p>The OCA's exemption for non-core contributions, inclding extensions, means that contributors can create and post extensions to the project site as they do now without having to assign copyright unless those extensions are to be included in the product.</p>
<p>The LGPL v3 operates as earlier versions and unless the extension ties into the product's libraries, it is not affected by the actual license; aggregation, bundling, and other such packaging do not affect an extension's own license.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>

<ol>
  <li value="14"><strong>What is the impact of the OCA on contributors?<a name="sca14" id="sca14"></a></strong>
    <p>The OCA reduces the barriers to entry. With the OCA, new developers can first make contributions in the form of extensions and documentation without having to decide if they want to share the copyright for the code or not.</p>
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>

<h4>The Public Documentation License: Answers<a name="pdla" id="pdla"></a></h4>
<ol>
  <li value="1"><strong>What is the Public Documentation License (PDL)?<a name="pdl1"></a> </strong>
    <p> The PDL (Public Documentation License) <a href="../licenses/pdl.pdf">PDF</a> | <a href="../licenses/PDL.html">HTML</a> | <a href="../licenses/PDL.rtf">RTF</a> (text) is a new license authored by Sun to address the need for a license that allows Open Source communities to collaborate on documentation which isn&#8217;t intended for inclusion or integration in the project code base or in packaged distributions (e.g., &#8220;product&#8221;). 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><strong>How do I use the PDL? <a name="pdl2"></a></strong>
    <p> The PDL is designed to be attached as a copy to a specific document, completing the information identifying the document and original author. The last page of the PDL is a log of changes to the document. All donors of edits must append a description of their contribution(s) to this page. For this reason the PDL is posted in an editable form (<a href="../licenses/PDL.html">HTML</a> | <a href="../licenses/PDL.rtf">RTF</a> [text]), however modifications other than to complete information to specify the document under license and to list contributors is prohibited as it is a standard legal contract. 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="3"><strong>Do I have to attach a physical copy of the PDL to a document I wish covered by it?<a name="pdl3"></a></strong>
    <p> No. You may attach a link to the PDL in that document. But because every contributor to the document must log their changes on the license, it is actually more practical to just append it to the document as an editable file. 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><strong>When would I use the PDL instead of the OCA?<a name="pdl4"></a></strong>
    <p> The PDL was designed for Open Source documentation which isn&#8217;t intended for inclusion in the OpenOffice.org product. Before a document donated under the PDL can be included in the OpenOffice.org product, it must be converted to a OCA contribution. For this reason it is generally preferable to make all contributions to OpenOffice.org under the OCA. 
  </li>
</ol>
<p> <a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<h4> The Terms of Use: Answers<a name="tofua"></a></h4>
<ol>
  <li> <strong>Why does the OpenOffice.org website have a Terms of Use license? <a name="tofu1"></a> </strong>
    <p>It is common practice to host a Terms of Use statement for corporate sponsored websites to catch any content that isn&#8217;t already covered by either a copyright assignment or a license so that the sponsor can legally police the site if undesirable content appears (if for instance someone posts content that is defamatory or content which the donor has no right to donate). 
  </li>
</ol>
<p> <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><strong>Are all my contributions covered by the Terms of Use?<a name="tofu2"></a> </strong>
    <p> The Terms of Use is superseded by all the licenses under which a donor can contribute (on OpenOffice.org this includes the OCA and PDL). The Terms of Use is intended as a catch all for contributions which are not specifically covered by the OCA or PDL, such as comments on a mail list or in a bug report. 
  </li>
</ol>

</html>
