<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />

  <title>OpenOffice Download Statistics</title>
  <meta name="keywords" content="Marketing, OpenOffice, OpenOffice.org" />
  <link rel="stylesheet" type="text/css" href="marketing.css" />

</head>

<body>
  <div id="MyContent">
    <h1>Download Charts</h1>

    <p>For more information, please <a href="marketing_bouncer_faq.html">read
    the FAQ</a>.</p>

	  <h2>Apache OpenOffice 3.4</h2>
	  <p>Daily and cummulative download statistics for Apache OpenOffice 3.4 can be found <a href="http://people.apache.org/~robweir/aoo-downloads.html">here</a></p>
	  
    <h2>Total downloads since OpenOffice.org 3.2 was announced</h2>

    <p>OpenOffice.org 3.2 was announced on 11th Feb 2010 and is the current
    stable version.</p>

    <p><img src="dlstats/downloads.gif" alt="V3.2 download counter" /></p>

    <h2>Total downloads of OpenOffice.org 3.1</h2>

    <p>This counter shows all downloads from the OpenOffice.org website
    between the launch of OpenOffice.org 3.1 on 7th May 2009 and the
    launch of OpenOffice.org 3.2 on 11th Feb 2010.</p>

    <p><img src="dlstats/downloads-2010-02-11.gif" alt=
    "V3.1 download counter" /></p>

    <h2>Total downloads of OpenOffice.org 3.0</h2>

    <p>This counter shows all downloads from the OpenOffice.org website
    between the launch of OpenOffice.org 3.0 on 13th October 2008 and the
    launch of OpenOffice.org 3.1 on 7th May 2009.</p>

    <p><img src="planet/downloads-2009-05-07.gif" alt=
    "V3.0 download counter" /></p>

        
  </div>
</body>
</html>
