<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</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="community"></a> 
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Community: Questions&nbsp;<img src="/branding/images/end_blue_bar.gif"> 
</h3>
<ol>
<li> <a href="#1">How do I get involved and communicate with other people about the OpenOffice.org Project?</a>

<li> <a href="#2">Does the OpenOffice.org Project have the support of the leaders of the open source world?</a>

<li> <a href="#3">How will Sun participate in the  community?</a>

<li> <a href="#4">Will Sun continue to work on the StarOffice sources as part of OpenOffice.org?</a>

<li> <a href="#5">What contributions is Sun looking for from the open source community?</a>


  <li> <a href="#6">How will code be accepted into OpenOffice.Org? Will there 
    be a process similar to Apache's +1/-1 system?</a> </li>

</ol>


<hr>
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Community: Answers&nbsp;&nbsp;<img src="/branding/images/end_blue_bar.gif"> 
</h3>
<ol>
  <li value="1"><b>How do I get involved and communicate with other people about 
    the OpenOffice.org Project?<a name="1" id="1"></a></b> 
    <p> The code is now available. Sign up for the <a href="../mail_list.html">mailing 
      lists</a> on the site and begin working on the code.</p>
  </li>
</ol>

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

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><b>Does the OpenOffice.org Project have the support of the leaders 
    of the open source world?<a name="2" id="2"></a></b> 
    <p> Yes. OpenOffice.org is widely touted as the most important open source project in the world (de Icaza) and is considered critical for the adoption of open source software on the desktop. It gives all users a free productivity suite that is interoperable with other office suites. </p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="3"><b>How will Sun participate in the community?<a name="3" id="3"></a></b> 
    <p> Sun began its contribution to this project by opening the new sources 
      currently in development which will deliver the future StarOffice Productivity 
      Suite 6.0. Sun functions as a full member of the open community and Sun's 
      engineering efforts are directed toward collaboration with the open community, 
      working off of a single, open CVS tree hosted at OpenOffice.org. From here 
      on out, all of our work on the office productivity components will be in 
      the open.</p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><b>Will Sun continue to work on the StarOffice software sources 
    as part of OpenOffice.org?</b> <a name="4" id="4"></a> 
    <p> Yes. Sun has a full team of dedicated engineers working on developing 
      StarOffice software who will continue work on the OpenOffice.org version. 
      Sun is dedicated to the effort which will make OpenOffice.org a success.</p>
  </li>
</ol>
<p>
  <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value=5><b>What contributions is Sun looking for from the open-source community?</b> 
    <a name="5" id="5"></a> 
    <p>To be successful, OpenOffice.org will require the participation of the 
      open source community at all levels. We invite you to get involved! Open 
      source projects are typically run as meritocracies, where if you are motivated 
      and have good ideas you will be welcomed with open arms. With OpenOffice.org, 
      members of the community will have the equal opportunity to become the maintainers 
      for any and all major projects within OpenOffice.org.
  </li>
  
</ol>
<p>
  <a href="#top">Back to top</a> </p>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="6"><b>How will code be accepted into OpenOffice.Org? Will there be 
    a process similar to Apache's +1/-1 system?</b> <a name="6" id="6"></a> 
    <p> Please see our new &quot;<a href="/contributing/index.html">Contributing</a>&quot; 
      page. Most of your answers should be answered there.</p>
  </li>
</ol>
  <p>
    <a href="#top">Back to top</a> 
  <hr ALIGN=left SIZE="1" NOSHADE>
</html>

