<html>
<head>
  <meta http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
  <title>Thank you for using OpenOffice.org - now Apache OpenOffice</title>
</head>

<body>

<h1>Thank you for using OpenOffice.org - now Apache OpenOffice</h1>

<h2>Get the latest version</h2>

<p>OpenOffice.org is now called <strong>Apache OpenOffice</strong>.</p>

<p><strong>Please note:</strong>  You have just installed an outdated version of OpenOffice and are missing new features and bug fixes.  The latest version is OpenOffice 4.0.1, released
	in October 2013. You can download the latest version, free, from:  <a href="http://www.openoffice.org/download/">the official OpenOffice download site</a>.</p>

<p>If the latest version of Apache OpenOffice is not yet available in your language, this means that we need volunteers to help us with the translation.  If you are interested, we 
	have a page on <a href="http://openoffice.apache.org/translate.html">How to Help Translate Apache OpenOffice</a>.  Your <a href="http://openoffice.apache.org/get-involved.html">
	volunteer contributions</a> help us bring free software to the entire world.</p>

<h2>Other useful resources</h2>

<ul>
  <li><a href="http://extensions.openoffice.org">Extensions Repository</a></li>
  <li><a href="http://templates.openoffice.org">Templates Repository</a></li>
  <li><a href="http://user.services.openoffice.org/">Community Support Forum</a></li>	
  <li><a href="http://openoffice.apache.org/mailing-lists.html">Mailing Lists</a></li>
  
</ul>

<h2>Stay informed</h2>

<ul>
  <li>Subscribe the <a href="http://openoffice.apache.org/mailing-lists.html#announce-mailing-list">OpenOffice announce mailing list</a> to receive important updates about the project (1-2 e-mails/month)</li>
  <li><a href="http://openoffice.apache.org/social.html">OpenOffice on the social networks</a>: links to the official accounts on Twitter, Identi.ca, Google+, Facebook and more.</li>
</ul>

</body>
</html>
