<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>
  <p><a href="index.html">Participate in OpenOffice.org</a></p>
  <table width="100%">
  <tr>
    <td width="70px"><img src="_media/quality.png" border="0" alt="Quality Assurance" vspace="11" /></td>
    <td style="vertical-align:middle">
     <h1>Quality Assurance</h1>
    </td>
   </tr>
</table>
<p>Quality Assurance (QA) is one of the most important but understated elements of any software community project. It is also something most people can do. If you want to help fix OpenOffice.org bugs, and you are not a programmer, you can still help by joining the <a href="http://qa.openoffice.org/">QA team</a>. The goal of the project is to respond to new issues posted by users as soon as possible as well as clear out the backlog of unconfirmed issues that currently resides in the Issue Tracker database.</p>
  <p>The QA team provides invaluable work for the development of OpenOffice.org. Yet, this is a project where anyone can help, regardless of your skill level or time constraints. Please visit the <a href="http://qa.openoffice.org/"> QA website</a> for more information.</p>
  <!-- 

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 "qa.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/qa.html and contributing/www/*)

-->
 </body>
</html>
