<html>
<head>
 <title>Participate in OpenOffice.org</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta http-equiv="Content-Style-Type" content="text/css">
</head>

<body>
  <a href="index.html">Participate in OpenOffice.org</a>
  <table width="100%">
  <tr>
    <td width="70px"><img src="_media/help.png" border="0" alt="Helping Users" vspace="11" /></td>
    <td style="vertical-align:middle">
     <h1>Helping Users</h1>
    </td>
   </tr>
</table>
  <p>A simple way to help out is by answering user questions. In doing this you will, indirectly, also help developers. Answering user questions takes time. Every question you answer clearly is a question a developer doesn't have to answer. The time taken to answer that question can be used to write code for OpenOffice.org. Furthermore, helping other users is an excellent way to learn a lot about OpenOffice.org yourself. There are two ways you can help other users:</p>
  <ul>
  <li>
    <p><b style="color:#a00">Users mailing list</b><br />
      The users mailing list is the primary avenue for OpenOffice.org tech support. Information about joining can be found at the <a href="//mail_list.html#general">Mailing lists page</a>.</p>
  </li>
  <li>
    <p><b style="color:#a00">Forums</b><br />
      Another popular support option is the <a href="http://user.services.openoffice.org">OpenOffice.org Community Forum</a>.</p>
  </li>
</ul>
  <!-- 

Public Documentation License Notice


The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at //licenses/PDL.html.

The Original Documentation is "help.html". The Initial Writer of the Original Documentation is Daniel Carrera Copyright (C) 2004. All Rights Reserved. (Initial Writer contact: dcarrera [at] digitaldistribution.com.)  This current document is derived from that original.

Contributor(s): Louis Suarez-Potts (LSP), louis [at] openoffice.org

For a record of all changes made to the original document by Louis Suarez-Potts, see the CVS history at OpenOffice.org ( www/www/contributing/help.html and contributing/www/*)

-->
 </body>
</html>
