<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>FAQ--Overview</title></head>
 <body>
<h2>FAQs</h2>
<p><i>Last updated 2002-08-01<br>
  </i></p>
<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="overview"></a> 
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Overview: Questions&nbsp;&nbsp;<img  src="/branding/images/end_blue_bar.gif"> 
</h3>
<ol>
  <li> <a href="#1">What is OpenOffice.org?</a> 
  <li> <a href="#2">What does OpenOffice.org do?</a> 
  <li> <a href="#3">What are the objectives of the OpenOffice.org project?</a> 
  <li> <a href="#4">What benefits does OpenOffice.org provide?</a> 
  <li> <a href="#5">Who will benefit from OpenOffice.org?</a> 
  <li> <a href="#6">What components are included in OpenOffice.org?</a> 
  <li> <a href="#7">As a Linux developer, what does this mean to me?</a> 
  <li> <a href="#8">Where do I find more information about this project?</a> </li>
  <li><a href="#9">If I build the code for OpenOffice.org, can I call it StarOffice?</a> 
  </li>
  <li><a href="#10">Can I take code from OpenOffice.org and modify StarOffice?</a> </li>
<li><a href="#11">May I add/bundle the Sun Java Runtime Environment to/with a  
(commercial) distribution of OpenOffice.org? </a></li>
</ol>
<hr>

<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Overview: Answers&nbsp;&nbsp;<img  src="/branding/images/end_blue_bar.gif"> 
</h3>

<ol>
  <li value="1"><b>What is OpenOffice.org?<a name="1"></a></b> 
    <p> OpenOffice.org is the open source project through which Sun Microsystems 
      has released the technology for the popular StarOffice[tm] Productivity 
      Suite. All of the source code is available under the GNU Lesser 
      General Public License (LGPL).
      Sun is participating as a member of the OpenOffice.org 
      community. OpenOffice.org is being hosted by <a href="http://www.collab.net">CollabNet</a>.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><b> What does OpenOffice.org do?</b> <a name="2"></a> 
    <p> The OpenOffice.org project provides the necessary facilities to make this 
      open source technology available to the developer community. This includes 
      the publicly accessible source code, project information Web site (/), 
      and discussion forums. </p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="3"><b>What are the objectives of the OpenOffice.org project?<a name="3"></a></b> 
    <p> The objectives of OpenOffice.org are:
   
    <ul>
      <li>Providing open access to the source code, 
      <li>Establishing open productivity XML-based file formats and language-independent 
        component APIs, and 
      <li>Enabling innovation which will build the next generation of open network 
        productivity services.</li>
    </ul>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><b>What benefits does OpenOffice.org provide?<a name="4"></a></b> 
    <p> The benefits of OpenOffice.org include:
    
    <ul>
      <li>A common source base for open source office apps 
      <li>A world-wide community of developers 
      <li>Enhanced compatibility and interoperability resulting from open, language-independent 
        APIs, open XML-based file formats, and a common reference implementation 
      <li>Open access to code and modifications 
      <li>Limitless porting and localization 
      <li>Free binaries 
      <li>Flexible development scenarios including open source or open language-independent 
        APIs 
      <li>Direct developer participation in the evolution of the code base 
      <li>The ability for developers can take the technology in new and innovative 
        directions and into new markets</li>
    </ul>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="5"><b>Who will benefit from OpenOffice.org?<a name="5"></a></b> 
    <p> OpenOffice.org represents open sources, open language-independent APIs, 
      open XML-based file formats, and open access. In the short run, these benefits 
      affect source code developers, especially those in the open source community. 
      In the long run, OpenOffice.org will also provide value for API and macro 
      developers and of course, the end-user community, which will enjoy the benefit 
      of new innovation and applications.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="6"><b>What components are included in OpenOffice.org?</b> <a name="6"></a> 
    <p> OpenOffice.org components include word processing, spreadsheets, presentations, 
      drawings, data charting, formula editing, a database, and file conversion facilities 
      (including those for Microsoft Office formats). See our <a href="../dev_docs/features/2.0/index.html">Features</a> page for more information.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="7"><b>As a Linux developer, what does this mean to me?<a name="7"></a></b> 
    <p> There is now a full-featured, open source office productivity application 
      suite available for your use.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="8"><b>Where do I find more information about this project?<a name="8" id="8"></a></b> 
    <p> The OpenOffice.org project is hosted at <a href="/">/</a>. 
      Here you will find a community with relevant information and interesting 
      discussions. Here you will also find details of how you can become involved 
      in this project. </p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="9"><b>If I build the code for OpenOffice.org, can I call it StarOffice?</b> 
    <a name="9" id="9"></a> 
    <p> No. You can not call what you build, or any modifications thereof, StarOffice. 
      You can call it anything else, however, that is not already trademarked. So, if you are working at Bobco 
      Software and you wanted to call what you have built &quot;BobOffice,&quot; 
      that would be ok, presuming that Bobco is not already taken by another &quot;Bob.&quot; </p>
  </li>
</ol>
<p>
  <a href="#top">Back to top</a></p>
<hr align=left size="1" NOSHADE>
<ol>
  <li value="10"><b>Can I take code from OpenOffice.org and modify StarOffice? </b> <a name="10" id="10"></a> 
    <p> No. StarOffice is Sun's commercial product and is not licensed under 
      the GPL license family. StarOffice 5.2 is built on a code base 
      that predated the OpenOffice.org code. To modify StarOffice  in any way 
      with the code from OpenOffice.org would be out of bounds.</p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="11"><b>May I add/bundle the Sun Java Runtime Environment to/with a 
  (commercial) distribution of OpenOffice.org? </b> <a name="11" id="11"></a> 
    <p> Yes.</p>
  <p>OpenOffice.org 2.0 uses Java technology to increase its functionality: Java technology is used for wizards and for the database component; its use here does not affect the licensing of either OpenOffice.org or the Java software.</p>
    <p>The Java Runtime Environment (JRE) may be freely (at no charge) downloaded from <a href="http://www.java.com">http://www.java.com</a> and can be freely (at no charge) distributed with OpenOffice.org via CD or other media as provided in the JRE license (among other things, Sun shall deem the OpenOffice.org software to provide significant Java technology based value add to the JRE as required by the JRE license, and note that the JRE needs to be bundled unmodified with the OpenOffice.org software - including the license contained in the installer).</p>
    <p>For more information on Java's licensing, please visit <a href="http://www.java.com/en/download/license.jsp">http://www.java.com/en/download/license.jsp</a></p>
    <p>Information on OpenOffice.org's license can be found at <a href="//license.html">//license.html</a>.</p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<p>
 </html>

