<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>Accomplishments: Year One</title>
</head>
<body>

<h2>OpenOffice.org Accomplishments: Year One</h2>
<br>
<p>2001 October 13</p><br>
<h4>Introduction</h4>
<p>It's good to boast every now and then. And OpenOffice.org has plenty to boast 
  about today, one year after the release of our code to the world. Below, we 
  have compiled some of our more important accomplishments. But keep in mind that 
  the most important accomplishment is the robust existence of the Project itself. 
  And to that, we owe thanks to the OpenOffice.org community.</p>
<p>Please note that this list of accomplishments does not include everything. 
  If you want something added to it, just send an email to <a href="mailto:dev@openoffice.apache.org">webmasters.openoffice.org</a>, 
  and we'll do our best.</p>
<p>For a summary of what is in the latest build, please see our &quot;<a href="../dev_docs/source/features.html" target="_blank">Features</a>&quot; 
  page. </p>
<br>
<h3>Milestones </h3>
<ul>
  <li><b>2000 October 13:</b> StarOffice Code open-sourced</li>
  <li><b>2000 December:</b> XML file-format specification released </li>
  <li> <b>April:</b> Francophone module announced </li>
  <li><b>April:</b> Whiteboard Projects gain momentum</li>
  <li> <b>April:</b> Mac OS X port on OpenOffice.org </li>
  <li><b>July:</b> ODK released </li>
  <li><b>October:</b> Build 638c is released</li>
</ul>
<br>
<h3>Community Facts</h3>
<h4>Mailing lists </h4>
<ul>
  <li> More than 3600 community members (unique names through mailing list subscription). 
    But we know that many more folks visit the site and download the software.</li>
</ul>
<br>
<h4>Website </h4>
<ul>
  <li>Homepage: 100,000 in the week build 638c is released, millions overall. 
  </li>
  <li>Website: Millions; nearly 400,000 in the week of 638c, and at least 20 million 
    since the beginning of this year (2001).</li>
</ul>
<br>
<h4>Downloads</h4>
<ul>
  <li>Total: 720,000</li>
  <li>Binaries: 500,000</li>
  <li>Source: 220,000</li>
</ul>
<br>
<h4>Projects</h4>
<p>We have now at least 24 major projects, with most having numerous subprojects, 
  which are essentially projects in their own right. Some of the new projects 
  include:</p>
<ul>
  <li><a href="http://distribution.openoffice.org/mirrors/" target="_blank">Mirrors 
    </a></li>
  <li><a href="http://ui.openoffice.org/">User Interface (UI)</a></li>
  <li><a href="http://marketing.openoffice.org/" target="_blank">Marketing</a> 
  </li>
  <li><a href="http://native-lang.openoffice.org/" target="_blank">Native Language Development 
    (resources and information)</a></li>
  <li><a href="http://fr.openoffice.org/">Francophone Project</a></li>
  <li><a href="http://documentation.openoffice.org/">Documentation</a></li>
  <li><a href="http://groupware.openoffice.org/" target="_blank">Groupware</a></li>
</ul>
<br>
<h4>Mirrors</h4>
<p>OpenOffice.org now has at least ten volunteer mirror sites and a CDROM distributor 
  operating out of the United Kingdom. Mirror sites include Poland, Holland, Hong 
  Kong, the United States. OpenOffice.org is truly international.</p>
<br>
<h4> CVS Commits</h4>
<ul>
  <li>Approximately 135,000</li>
</ul>
<br><br>
<h3>Code Accomplishments</h3>
<h4> Ports completed</h4>
<ul>
  <li>Linux (glibc version 2.1.x) *</li>
  <li>LinuxPPC*</li>
  <li>Solaris 2.6 and Solaris 7 and 8 (Sparc and Intel) </li>
  <li> NetBSD/Sparc *</li>
  <li> Windows NT,</li>
  <li> Windows2000,</li>
  <li> Windows95/98/ME</li>
</ul>
<p>* Not available for StarOffice</p>
<br>
  
<h4> Ports in progress</h4>
  
<ul>
  <li> Mac OS X</li>
  <li> Linux/Alpha</li>
  <li> Linux/ARM</li>
  <li> IRIX</li>
  <li> FreeBSD</li>
  <li> Tru64</li>
</ul>
<br>
  
<h4>Other functions</h4>
<p>Added by community members</p>
  
<ul>
  <li> Printing</li>
  <li> Spellchecker (English)</li>
  <li> Thesaurus (English)</li>
  <li> Microsoft filters</li>
  <li> Templates</li>
</ul>
<br>
<h4> Localizations </h4>
  
<ul>
  <li> Finnish (completed)</li>
  <li> Catalan (in progress)</li>
  <li> Thai (in progress)</li>
  <li>German (completed)</li>
  <li>French (completed)</li>
</ul>
</body>
</html>

